C++ Mathematical Expression Toolkit (ExprTk) release
|
#include <cstdio>
#include <cmath>
#include <iostream>
#include <fstream>
#include <string>
#include <deque>
#include "real_type.hpp"
#include "exprtk_real_adaptor.hpp"
#include "exprtk.hpp"
Go to the source code of this file.
Classes | |
struct | native< T > |
Functions | |
template<typename T , typename Allocator , template< typename, typename > class Sequence> | |
bool | load_expression (exprtk::symbol_table< T > &symbol_table, Sequence< exprtk::expression< T >, Allocator > &expr_seq) |
template<typename T > | |
void | run_exprtk_benchmark (T &x, T &y, exprtk::expression< T > &expression, const std::string &expr_string) |
template<typename T , typename NativeFunction > | |
void | run_native_benchmark (T &x, T &y, NativeFunction f, const std::string &expr_string) |
template<typename T > | |
bool | run_parse_benchmark (exprtk::symbol_table< T > &symbol_table) |
void | pgo_primer () |
void | perform_file_based_benchmark (const std::string &file_name, const std::size_t &rounds=100000) |
int | main (int argc, char *argv[]) |
std::size_t | load_expression_file (const std::string &file_name, std::deque< std::string > &expression_list) |
Variables | |
static const std::string | expression_list [] |
const std::size_t | expression_list_size = sizeof(expression_list) / sizeof(std::string) |
static const real::type | lower_bound_x = real::type(-100.0) |
static const real::type | lower_bound_y = real::type(-100.0) |
static const real::type | upper_bound_x = real::type(+100.0) |
static const real::type | upper_bound_y = real::type(+100.0) |
static const real::type | delta = real::type(0.0111) |
static const double | lower_bound_x_d = -100.0 |
static const double | lower_bound_y_d = -100.0 |
static const double | upper_bound_x_d = +100.0 |
static const double | upper_bound_y_d = +100.0 |
static const double | delta_d = 0.0111 |
const real::type | pi = 3.14159265358979323846 |
const double | pi_d = 3.14159265358979323846 |
bool load_expression | ( | exprtk::symbol_table< T > & | symbol_table, |
Sequence< exprtk::expression< T >, Allocator > & | expr_seq | ||
) |
Definition at line 72 of file exprtk_real_benchmark.cpp.
References exprtk::parser< T >::compile(), exprtk::parser< T >::error(), expression_list, expression_list_size, and exprtk::expression< T >::register_symbol_table().
Referenced by main().
std::size_t load_expression_file | ( | const std::string & | file_name, |
std::deque< std::string > & | expression_list | ||
) |
Definition at line 409 of file exprtk_real_benchmark.cpp.
References expression_list.
Referenced by perform_file_based_benchmark().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 304 of file exprtk_real_benchmark.cpp.
References exprtk::symbol_table< T >::add_constants(), exprtk::symbol_table< T >::add_variable(), expression_list, load_expression(), perform_file_based_benchmark(), pgo_primer(), run_exprtk_benchmark(), run_native_benchmark(), and run_parse_benchmark().
void perform_file_based_benchmark | ( | const std::string & | file_name, |
const std::size_t & | rounds = 100000 |
||
) |
Definition at line 433 of file exprtk_real_benchmark.cpp.
References exprtk::details::numeric::constant::e, expression_list, load_expression_file(), rounds, exprtk::timer::start(), exprtk::timer::stop(), and exprtk::timer::time().
Referenced by main().
void pgo_primer | ( | ) |
Definition at line 374 of file exprtk_real_benchmark.cpp.
References delta, native< T >::func00(), native< T >::func01(), native< T >::func02(), native< T >::func03(), native< T >::func04(), native< T >::func05(), native< T >::func06(), native< T >::func07(), native< T >::func08(), native< T >::func09(), native< T >::func10(), native< T >::func11(), native< T >::func12(), native< T >::func13(), native< T >::func14(), native< T >::func15(), native< T >::func16(), lower_bound_x, lower_bound_y, upper_bound_x, and upper_bound_y.
Referenced by main().
void run_exprtk_benchmark | ( | T & | x, |
T & | y, | ||
exprtk::expression< T > & | expression, | ||
const std::string & | expr_string | ||
) |
Definition at line 97 of file exprtk_real_benchmark.cpp.
References delta, lower_bound_x, lower_bound_y, exprtk::timer::start(), exprtk::timer::stop(), exprtk::timer::time(), upper_bound_x, upper_bound_y, and exprtk::expression< T >::value().
Referenced by main().
void run_native_benchmark | ( | T & | x, |
T & | y, | ||
NativeFunction | f, | ||
const std::string & | expr_string | ||
) |
Definition at line 130 of file exprtk_real_benchmark.cpp.
References delta_d, lower_bound_x_d, lower_bound_y_d, exprtk::timer::start(), exprtk::timer::stop(), exprtk::timer::time(), upper_bound_x_d, and upper_bound_y_d.
Referenced by main().
bool run_parse_benchmark | ( | exprtk::symbol_table< T > & | symbol_table | ) |
Definition at line 159 of file exprtk_real_benchmark.cpp.
References exprtk::parser< T >::compile(), exprtk::parser< T >::error(), expression_list, expression_list_size, exprtk::expression< T >::register_symbol_table(), rounds, exprtk::timer::start(), exprtk::timer::stop(), and exprtk::timer::time().
Referenced by main().
|
static |
Definition at line 60 of file exprtk_real_benchmark.cpp.
Referenced by pgo_primer(), and run_exprtk_benchmark().
|
static |
Definition at line 66 of file exprtk_real_benchmark.cpp.
Referenced by run_native_benchmark().
|
static |
Definition at line 32 of file exprtk_real_benchmark.cpp.
Referenced by load_expression(), load_expression_file(), main(), main(), perform_file_based_benchmark(), pgo_primer(), run_parse_benchmark(), run_test05(), run_test09(), run_test10(), run_test14(), run_test15(), run_test16(), run_test17(), run_test18(), run_test19(), run_test21(), exprtk::parser< T >::simplify(), and test_gen().
const std::size_t expression_list_size = sizeof(expression_list) / sizeof(std::string) |
Definition at line 53 of file exprtk_real_benchmark.cpp.
Referenced by load_expression(), pgo_primer(), run_parse_benchmark(), run_test09(), run_test10(), run_test18(), and run_test21().
|
static |
Definition at line 56 of file exprtk_real_benchmark.cpp.
Referenced by pgo_primer(), and run_exprtk_benchmark().
|
static |
Definition at line 62 of file exprtk_real_benchmark.cpp.
Referenced by run_native_benchmark().
|
static |
Definition at line 57 of file exprtk_real_benchmark.cpp.
Referenced by pgo_primer(), and run_exprtk_benchmark().
|
static |
Definition at line 63 of file exprtk_real_benchmark.cpp.
Referenced by run_native_benchmark().
const real::type pi = 3.14159265358979323846 |
Definition at line 195 of file exprtk_real_benchmark.cpp.
Referenced by native< T >::func09(), native< T >::func10(), native< T >::func11(), native< T >::func12(), native< T >::func13(), native< T >::func14(), native< T >::func15(), and native< T >::func16().
const double pi_d = 3.14159265358979323846 |
Definition at line 196 of file exprtk_real_benchmark.cpp.
Referenced by native< T >::func09(), native< T >::func10(), native< T >::func11(), native< T >::func12(), native< T >::func13(), native< T >::func14(), native< T >::func15(), and native< T >::func16().
|
static |
Definition at line 58 of file exprtk_real_benchmark.cpp.
Referenced by pgo_primer(), and run_exprtk_benchmark().
|
static |
Definition at line 64 of file exprtk_real_benchmark.cpp.
Referenced by run_native_benchmark().
|
static |
Definition at line 59 of file exprtk_real_benchmark.cpp.
Referenced by pgo_primer(), and run_exprtk_benchmark().
|
static |
Definition at line 65 of file exprtk_real_benchmark.cpp.
Referenced by run_native_benchmark().