C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
exprtk::details::numeric::details Namespace Reference

Classes

struct  complex_type_tag
 
struct  epsilon_type
 
struct  epsilon_type< cmplx::complex_t >
 
struct  epsilon_type< double >
 
struct  epsilon_type< float >
 
struct  epsilon_type< long double >
 
struct  epsilon_type< mpfr::mpreal >
 
struct  epsilon_type< real::type >
 
struct  int_type_tag
 
struct  mpfrreal_type_tag
 
struct  my_real_type_tag
 
struct  number_type
 
struct  number_type< _int64_t >
 
struct  number_type< _uint64_t >
 
struct  number_type< cmplx::complex_t >
 
struct  number_type< double >
 
struct  number_type< float >
 
struct  number_type< int >
 
struct  number_type< long double >
 
struct  number_type< mpfr::mpreal >
 
struct  number_type< real::type >
 
struct  number_type< short >
 
struct  number_type< unsigned int >
 
struct  number_type< unsigned short >
 
struct  real_type_tag
 
struct  unknown_type_tag
 

Typedefs

using complex_t = cmplx::complex_t
 

Functions

template<typename T >
bool is_nan_impl (const T v, real_type_tag)
 
template<typename T >
int to_int32_impl (const T v, real_type_tag)
 
template<typename T >
_int64_t to_int64_impl (const T v, real_type_tag)
 
template<typename T >
_uint64_t to_uint64_impl (const T v, real_type_tag)
 
template<typename T >
bool is_true_impl (const T v)
 
template<typename T >
bool is_false_impl (const T v)
 
template<typename T >
T abs_impl (const T v, real_type_tag)
 
template<typename T >
T min_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T max_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T equal_impl (const T v0, const T v1, real_type_tag)
 
float equal_impl (const float v0, const float v1, real_type_tag)
 
template<typename T >
T equal_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T expm1_impl (const T v, real_type_tag)
 
template<typename T >
T expm1_impl (const T v, int_type_tag)
 
template<typename T >
T nequal_impl (const T v0, const T v1, real_type_tag)
 
float nequal_impl (const float v0, const float v1, real_type_tag)
 
template<typename T >
T nequal_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T modulus_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T modulus_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T pow_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T pow_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T logn_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T logn_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T log1p_impl (const T v, real_type_tag)
 
template<typename T >
T log1p_impl (const T v, int_type_tag)
 
template<typename T >
T root_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T root_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T round_impl (const T v, real_type_tag)
 
template<typename T >
T roundn_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T roundn_impl (const T v0, const T, int_type_tag)
 
template<typename T >
T hypot_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T hypot_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T atan2_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T atan2_impl (const T, const T, int_type_tag)
 
template<typename T >
T shr_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T shr_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T shl_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T shl_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T sgn_impl (const T v, real_type_tag)
 
template<typename T >
T sgn_impl (const T v, int_type_tag)
 
template<typename T >
T and_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T and_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T nand_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T nand_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T or_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T or_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T nor_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T nor_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T xor_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T xor_impl (const T v0, const T v1, int_type_tag)
 
template<typename T >
T xnor_impl (const T v0, const T v1, real_type_tag)
 
template<typename T >
T xnor_impl (const T v0, const T v1, int_type_tag)
 
float erf_impl (const float v)
 
double erf_impl (const double v)
 
long double erf_impl (const long double v)
 
template<typename T >
T erf_impl (const T v, real_type_tag)
 
template<typename T >
T erf_impl (const T v, int_type_tag)
 
float erfc_impl (const float v)
 
double erfc_impl (const double v)
 
long double erfc_impl (const long double v)
 
template<typename T >
T erfc_impl (const T v, real_type_tag)
 
template<typename T >
T erfc_impl (const T v, int_type_tag)
 
template<typename T >
T ncdf_impl (const T v, real_type_tag)
 
template<typename T >
T ncdf_impl (const T v, int_type_tag)
 
template<typename T >
T sinc_impl (const T v, real_type_tag)
 
template<typename T >
T sinc_impl (const T v, int_type_tag)
 
template<typename T >
T acosh_impl (const T v, real_type_tag)
 
template<typename T >
T asinh_impl (const T v, real_type_tag)
 
template<typename T >
T atanh_impl (const T v, real_type_tag)
 
template<typename T >
T acos_impl (const T v, real_type_tag)
 
template<typename T >
T asin_impl (const T v, real_type_tag)
 
template<typename T >
T atan_impl (const T v, real_type_tag)
 
template<typename T >
T ceil_impl (const T v, real_type_tag)
 
template<typename T >
T cos_impl (const T v, real_type_tag)
 
template<typename T >
T cosh_impl (const T v, real_type_tag)
 
template<typename T >
T exp_impl (const T v, real_type_tag)
 
template<typename T >
T floor_impl (const T v, real_type_tag)
 
template<typename T >
T log_impl (const T v, real_type_tag)
 
template<typename T >
T log10_impl (const T v, real_type_tag)
 
template<typename T >
T log2_impl (const T v, real_type_tag)
 
template<typename T >
T neg_impl (const T v, real_type_tag)
 
template<typename T >
T pos_impl (const T v, real_type_tag)
 
template<typename T >
T sin_impl (const T v, real_type_tag)
 
template<typename T >
T sinh_impl (const T v, real_type_tag)
 
template<typename T >
T sqrt_impl (const T v, real_type_tag)
 
template<typename T >
T tan_impl (const T v, real_type_tag)
 
template<typename T >
T tanh_impl (const T v, real_type_tag)
 
template<typename T >
T cot_impl (const T v, real_type_tag)
 
template<typename T >
T sec_impl (const T v, real_type_tag)
 
template<typename T >
T csc_impl (const T v, real_type_tag)
 
template<typename T >
T r2d_impl (const T v, real_type_tag)
 
template<typename T >
T d2r_impl (const T v, real_type_tag)
 
template<typename T >
T d2g_impl (const T v, real_type_tag)
 
template<typename T >
T g2d_impl (const T v, real_type_tag)
 
template<typename T >
T notl_impl (const T v, real_type_tag)
 
template<typename T >
T frac_impl (const T v, real_type_tag)
 
template<typename T >
T trunc_impl (const T v, real_type_tag)
 
template<typename T >
T const_pi_impl (real_type_tag)
 
template<typename T >
T const_e_impl (real_type_tag)
 
template<typename T >
T const_qnan_impl (real_type_tag)
 
template<typename T >
T abs_impl (const T v, int_type_tag)
 
template<typename T >
T exp_impl (const T v, int_type_tag)
 
template<typename T >
T log_impl (const T v, int_type_tag)
 
template<typename T >
T log10_impl (const T v, int_type_tag)
 
template<typename T >
T log2_impl (const T v, int_type_tag)
 
template<typename T >
T neg_impl (const T v, int_type_tag)
 
template<typename T >
T pos_impl (const T v, int_type_tag)
 
template<typename T >
T ceil_impl (const T v, int_type_tag)
 
template<typename T >
T floor_impl (const T v, int_type_tag)
 
template<typename T >
T round_impl (const T v, int_type_tag)
 
template<typename T >
T notl_impl (const T v, int_type_tag)
 
template<typename T >
T sqrt_impl (const T v, int_type_tag)
 
template<typename T >
T frac_impl (const T, int_type_tag)
 
template<typename T >
T trunc_impl (const T v, int_type_tag)
 
template<typename T >
T acos_impl (const T, int_type_tag)
 
template<typename T >
T acosh_impl (const T, int_type_tag)
 
template<typename T >
T asin_impl (const T, int_type_tag)
 
template<typename T >
T asinh_impl (const T, int_type_tag)
 
template<typename T >
T atan_impl (const T, int_type_tag)
 
template<typename T >
T atanh_impl (const T, int_type_tag)
 
template<typename T >
T cos_impl (const T, int_type_tag)
 
template<typename T >
T cosh_impl (const T, int_type_tag)
 
template<typename T >
T sin_impl (const T, int_type_tag)
 
template<typename T >
T sinh_impl (const T, int_type_tag)
 
template<typename T >
T tan_impl (const T, int_type_tag)
 
template<typename T >
T tanh_impl (const T, int_type_tag)
 
template<typename T >
T cot_impl (const T, int_type_tag)
 
template<typename T >
T sec_impl (const T, int_type_tag)
 
template<typename T >
T csc_impl (const T, int_type_tag)
 
template<typename T >
bool is_integer_impl (const T &v, real_type_tag)
 
template<typename T >
bool is_integer_impl (const T &, int_type_tag)
 
template<typename T >
T process_impl (const operator_type operation, const T arg)
 
template<typename T >
T process_impl (const operator_type operation, const T arg0, const T arg1)
 
template<typename T >
T process_impl (const operator_type operation, const T arg0, const T arg1, int_type_tag)
 
template<typename T >
T const_pi_impl (complex_type_tag)
 
template<typename T >
T const_e_impl (complex_type_tag)
 
bool is_nan_impl (const cmplx::complex_t &v, complex_type_tag)
 
template<typename T >
T abs_impl (const T v, complex_type_tag)
 
template<typename T >
T acos_impl (const T v, complex_type_tag)
 
template<typename T >
T acosh_impl (const T v, complex_type_tag)
 
template<typename T >
T asin_impl (const T v, complex_type_tag)
 
template<typename T >
T asinh_impl (const T v, complex_type_tag)
 
template<typename T >
T atan_impl (const T v, complex_type_tag)
 
template<typename T >
T atanh_impl (const T v, complex_type_tag)
 
template<typename T >
T ceil_impl (const T v, complex_type_tag)
 
template<typename T >
T cos_impl (const T v, complex_type_tag)
 
template<typename T >
T cosh_impl (const T v, complex_type_tag)
 
template<typename T >
T exp_impl (const T v, complex_type_tag)
 
template<typename T >
T floor_impl (const T v, complex_type_tag)
 
template<typename T >
T log_impl (const T v, complex_type_tag)
 
template<typename T >
T log10_impl (const T v, complex_type_tag)
 
template<typename T >
T log2_impl (const T v, complex_type_tag)
 
template<typename T >
T neg_impl (const T v, complex_type_tag)
 
template<typename T >
T pos_impl (const T v, complex_type_tag)
 
template<typename T >
T sin_impl (const T v, complex_type_tag)
 
template<typename T >
T sinh_impl (const T v, complex_type_tag)
 
template<typename T >
T sqrt_impl (const T v, complex_type_tag)
 
template<typename T >
T tan_impl (const T v, complex_type_tag)
 
template<typename T >
T tanh_impl (const T v, complex_type_tag)
 
template<typename T >
T cot_impl (const T v, complex_type_tag)
 
template<typename T >
T sec_impl (const T v, complex_type_tag)
 
template<typename T >
T csc_impl (const T v, complex_type_tag)
 
template<typename T >
T r2d_impl (const T v, complex_type_tag)
 
template<typename T >
T d2r_impl (const T v, complex_type_tag)
 
template<typename T >
T d2g_impl (const T v, complex_type_tag)
 
template<typename T >
T g2d_impl (const T v, complex_type_tag)
 
template<typename T >
T notl_impl (const T v, complex_type_tag)
 
template<typename T >
T frac_impl (const T v, complex_type_tag)
 
template<typename T >
T trunc_impl (const T v, complex_type_tag)
 
template<typename T >
int to_int32_impl (const T v, complex_type_tag)
 
template<typename T >
long long to_int64_impl (const T v, complex_type_tag)
 
template<typename T >
unsigned long long to_uint64_impl (const T v, complex_type_tag)
 
bool is_true_impl (const cmplx::complex_t v)
 
bool is_false_impl (const cmplx::complex_t v)
 
template<typename T >
T expm1_impl (const T v, complex_type_tag)
 
template<typename T >
T nequal_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T sgn_impl (const T v, complex_type_tag)
 
template<typename T >
T log1p_impl (const T v, complex_type_tag)
 
template<typename T >
T erf_impl (T v, complex_type_tag)
 
template<typename T >
T erfc_impl (T v, complex_type_tag)
 
template<typename T >
T ncdf_impl (T v, complex_type_tag)
 
template<typename T >
T modulus_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T pow_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T logn_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T sinc_impl (T v, complex_type_tag)
 
template<typename T >
T xor_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T xnor_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T equal_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T round_impl (const T v, complex_type_tag)
 
template<typename T >
T roundn_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
bool is_integer_impl (const T v, complex_type_tag)
 
template<typename T >
T root_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T hypot_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T atan2_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T shr_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T shl_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T and_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T nand_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T or_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T nor_impl (const T v0, const T v1, complex_type_tag)
 
template<typename T >
T const_pi_impl (mpfrreal_type_tag)
 
template<typename T >
T const_e_impl (mpfrreal_type_tag)
 
bool is_nan_impl (const mpfr::mpreal &v, mpfrreal_type_tag)
 
template<typename T >
int to_int32_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
long long to_int64_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
long long to_uint64_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T abs_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T acos_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T acosh_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T asin_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T asinh_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T atan_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T atanh_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T ceil_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T cos_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T cosh_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T exp_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T floor_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T log_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T log10_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T log2_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T neg_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T pos_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T sin_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T sinh_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T sqrt_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T tan_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T tanh_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T cot_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T sec_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T csc_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T r2d_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T d2r_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T d2g_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T g2d_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T notl_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T frac_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T trunc_impl (const T &v, mpfrreal_type_tag)
 
bool is_true_impl (const mpfr::mpreal &v)
 
bool is_false_impl (const mpfr::mpreal &v)
 
template<typename T >
T expm1_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T min_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T max_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T nequal_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T sgn_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T log1p_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T erf_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T erfc_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T ncdf_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T modulus_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T pow_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T logn_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T sinc_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T xor_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T xnor_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T equal_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T round_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T roundn_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
bool is_integer_impl (const T &v, mpfrreal_type_tag)
 
template<typename T >
T root_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T hypot_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T atan2_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T shr_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T shl_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T and_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T nand_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T or_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T nor_impl (const T &v0, const T &v1, mpfrreal_type_tag)
 
template<typename T >
T const_pi_impl (my_real_type_tag)
 
template<typename T >
T const_e_impl (my_real_type_tag)
 
bool is_nan_impl (const real::type &v, my_real_type_tag)
 
template<typename T >
T abs_impl (const T v, my_real_type_tag)
 
template<typename T >
T acos_impl (const T v, my_real_type_tag)
 
template<typename T >
T acosh_impl (const T v, my_real_type_tag)
 
template<typename T >
T asin_impl (const T v, my_real_type_tag)
 
template<typename T >
T asinh_impl (const T v, my_real_type_tag)
 
template<typename T >
T atan_impl (const T v, my_real_type_tag)
 
template<typename T >
T atanh_impl (const T v, my_real_type_tag)
 
template<typename T >
T ceil_impl (const T v, my_real_type_tag)
 
template<typename T >
T cos_impl (const T v, my_real_type_tag)
 
template<typename T >
T cosh_impl (const T v, my_real_type_tag)
 
template<typename T >
T exp_impl (const T v, my_real_type_tag)
 
template<typename T >
T floor_impl (const T v, my_real_type_tag)
 
template<typename T >
T log_impl (const T v, my_real_type_tag)
 
template<typename T >
T log10_impl (const T v, my_real_type_tag)
 
template<typename T >
T log2_impl (const T v, my_real_type_tag)
 
template<typename T >
T neg_impl (const T v, my_real_type_tag)
 
template<typename T >
T pos_impl (const T v, my_real_type_tag)
 
template<typename T >
T sin_impl (const T v, my_real_type_tag)
 
template<typename T >
T sinh_impl (const T v, my_real_type_tag)
 
template<typename T >
T sqrt_impl (const T v, my_real_type_tag)
 
template<typename T >
T tan_impl (const T v, my_real_type_tag)
 
template<typename T >
T tanh_impl (const T v, my_real_type_tag)
 
template<typename T >
T cot_impl (const T v, my_real_type_tag)
 
template<typename T >
T sec_impl (const T v, my_real_type_tag)
 
template<typename T >
T csc_impl (const T v, my_real_type_tag)
 
template<typename T >
T r2d_impl (const T v, my_real_type_tag)
 
template<typename T >
T d2r_impl (const T v, my_real_type_tag)
 
template<typename T >
T d2g_impl (const T v, my_real_type_tag)
 
template<typename T >
T g2d_impl (const T v, my_real_type_tag)
 
template<typename T >
T notl_impl (const T v, my_real_type_tag)
 
template<typename T >
T frac_impl (const T v, my_real_type_tag)
 
template<typename T >
T trunc_impl (const T v, my_real_type_tag)
 
template<typename T >
int to_int32_impl (const T v, my_real_type_tag)
 
template<typename T >
long long to_int64_impl (const T v, my_real_type_tag)
 
template<typename T >
unsigned long long to_uint64_impl (const T v, my_real_type_tag)
 
bool is_true_impl (const real::type v)
 
bool is_false_impl (const real::type v)
 
template<typename T >
T expm1_impl (const T v, my_real_type_tag)
 
template<typename T >
T nequal_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T sgn_impl (const T v, my_real_type_tag)
 
template<typename T >
T log1p_impl (const T v, my_real_type_tag)
 
template<typename T >
T erf_impl (T v, my_real_type_tag)
 
template<typename T >
T erfc_impl (T v, my_real_type_tag)
 
template<typename T >
T ncdf_impl (T v, my_real_type_tag)
 
template<typename T >
T modulus_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T pow_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T logn_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T sinc_impl (T v, my_real_type_tag)
 
template<typename T >
T xor_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T xnor_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T equal_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T round_impl (const T v, my_real_type_tag)
 
template<typename T >
T roundn_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
bool is_integer_impl (const T v, my_real_type_tag)
 
template<typename T >
T root_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T hypot_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T atan2_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T shr_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T shl_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T and_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T nand_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T or_impl (const T v0, const T v1, my_real_type_tag)
 
template<typename T >
T nor_impl (const T v0, const T v1, my_real_type_tag)
 

Typedef Documentation

◆ complex_t

Definition at line 68 of file exprtk_complex_adaptor.hpp.

Function Documentation

◆ abs_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::abs_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 129 of file exprtk_mpfr_adaptor.hpp.

129{ return mpfr::abs (v); }

◆ abs_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::abs_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 88 of file exprtk_complex_adaptor.hpp.

88{ return cmplx::abs (v); }
complex_t abs(const complex_t v)

References cmplx::abs().

Here is the call graph for this function:

◆ abs_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::abs_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1412 of file exprtk.hpp.

1412{ return ((v >= T(0)) ? v : -v); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ abs_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::abs_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 88 of file exprtk_real_adaptor.hpp.

88{ return real::abs (v); }
type abs(const type v)

References real::abs().

Here is the call graph for this function:

◆ abs_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::abs_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 915 of file exprtk.hpp.

916 {
917 return ((v < T(0)) ? -v : v);
918 }

References exprtk::details::match_impl().

Referenced by equal_impl(), equal_impl(), equal_impl(), equal_impl(), erf_impl(), erf_impl(), expm1_impl(), log1p_impl(), log1p_impl(), log1p_impl(), ncdf_impl(), nequal_impl(), nequal_impl(), nequal_impl(), nequal_impl(), sinc_impl(), and sinc_impl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ acos_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::acos_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 130 of file exprtk_mpfr_adaptor.hpp.

130{ return mpfr::acos (v); }

◆ acos_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::acos_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 89 of file exprtk_complex_adaptor.hpp.

89{ return cmplx::acos (v); }
complex_t acos(const complex_t v)

References cmplx::acos().

Here is the call graph for this function:

◆ acos_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::acos_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 89 of file exprtk_real_adaptor.hpp.

89{ return real::acos (v); }
type acos(const type v)

References real::acos().

Here is the call graph for this function:

◆ acos_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::acos_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1379 of file exprtk.hpp.

1379{ return std::acos (v); }

◆ acos_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::acos_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1426 of file exprtk.hpp.

1426{ return std::numeric_limits<T>::quiet_NaN(); }

◆ acosh_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::acosh_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 131 of file exprtk_mpfr_adaptor.hpp.

131{ return mpfr::acosh(v); }

◆ acosh_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::acosh_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 90 of file exprtk_complex_adaptor.hpp.

90{ return cmplx::log(v + cmplx::sqrt((v * v) - cmplx::complex_t(1))); }
complex_t log(const complex_t v)
complex_t sqrt(const complex_t v)

References cmplx::log(), and cmplx::sqrt().

Here is the call graph for this function:

◆ acosh_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::acosh_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 90 of file exprtk_real_adaptor.hpp.

90{ return real::acosh(v); }
type acosh(const type v)

References real::acosh().

Here is the call graph for this function:

◆ acosh_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::acosh_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1361 of file exprtk.hpp.

1362 {
1363 return std::log(v + std::sqrt((v * v) - T(1)));
1364 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ acosh_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::acosh_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1427 of file exprtk.hpp.

1427{ return std::numeric_limits<T>::quiet_NaN(); }

◆ and_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::and_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 342 of file exprtk_mpfr_adaptor.hpp.

343 {
344 return (is_true_impl(v0) && is_true_impl(v1)) ? T(1) : T(0);
345 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ and_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::and_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 337 of file exprtk_complex_adaptor.hpp.

338 {
339 return (is_true_impl(v0) && is_true_impl(v1)) ? T(1) : T(0);
340 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ and_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::and_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1166 of file exprtk.hpp.

1167 {
1168 return v0 && v1;
1169 }

◆ and_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::and_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 317 of file exprtk_real_adaptor.hpp.

318 {
319 return (is_true_impl(v0) && is_true_impl(v1)) ? T(1) : T(0);
320 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ and_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::and_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1160 of file exprtk.hpp.

1161 {
1162 return (is_true_impl(v0) && is_true_impl(v1)) ? T(1) : T(0);
1163 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ asin_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::asin_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 132 of file exprtk_mpfr_adaptor.hpp.

132{ return mpfr::asin (v); }

◆ asin_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::asin_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 91 of file exprtk_complex_adaptor.hpp.

91{ return cmplx::asin (v); }
complex_t asin(const complex_t v)

References cmplx::asin().

Here is the call graph for this function:

◆ asin_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::asin_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 91 of file exprtk_real_adaptor.hpp.

91{ return real::asin (v); }
type asin(const type v)

References real::asin().

Here is the call graph for this function:

◆ asin_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::asin_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1380 of file exprtk.hpp.

1380{ return std::asin (v); }

◆ asin_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::asin_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1428 of file exprtk.hpp.

1428{ return std::numeric_limits<T>::quiet_NaN(); }

◆ asinh_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::asinh_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 133 of file exprtk_mpfr_adaptor.hpp.

133{ return mpfr::asinh(v); }

◆ asinh_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::asinh_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 92 of file exprtk_complex_adaptor.hpp.

92{ return cmplx::log(v + cmplx::sqrt((v * v) + cmplx::complex_t(1))); }

References cmplx::log(), and cmplx::sqrt().

Here is the call graph for this function:

◆ asinh_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::asinh_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 92 of file exprtk_real_adaptor.hpp.

92{ return real::asinh(v); }
type asinh(const type v)

References real::asinh().

Here is the call graph for this function:

◆ asinh_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::asinh_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1367 of file exprtk.hpp.

1368 {
1369 return std::log(v + std::sqrt((v * v) + T(1)));
1370 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ asinh_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::asinh_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1429 of file exprtk.hpp.

1429{ return std::numeric_limits<T>::quiet_NaN(); }

◆ atan2_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::atan2_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 324 of file exprtk_mpfr_adaptor.hpp.

325 {
326 return mpfr::atan2(v0,v1);
327 }

◆ atan2_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::atan2_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 319 of file exprtk_complex_adaptor.hpp.

320 {
321 return cmplx::atan2(v0,v1);
322 }
complex_t atan2(const complex_t v0, const complex_t v1)

References cmplx::atan2().

Here is the call graph for this function:

◆ atan2_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::atan2_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 299 of file exprtk_real_adaptor.hpp.

300 {
301 return std::atan2(v0.d_,v1.d_);
302 }

◆ atan2_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::atan2_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1108 of file exprtk.hpp.

1109 {
1110 return std::atan2(v0,v1);
1111 }

◆ atan2_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::atan2_impl ( const T  ,
const T  ,
int_type_tag   
)
inline

Definition at line 1114 of file exprtk.hpp.

1115 {
1116 return 0;
1117 }

◆ atan_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::atan_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 134 of file exprtk_mpfr_adaptor.hpp.

134{ return mpfr::atan (v); }

◆ atan_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::atan_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 93 of file exprtk_complex_adaptor.hpp.

93{ return cmplx::atan (v); }
complex_t atan(const complex_t v)

References cmplx::atan().

Here is the call graph for this function:

◆ atan_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::atan_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 93 of file exprtk_real_adaptor.hpp.

93{ return real::atan (v); }
type atan(const type v)

References real::atan().

Here is the call graph for this function:

◆ atan_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::atan_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1381 of file exprtk.hpp.

1381{ return std::atan (v); }

◆ atan_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::atan_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1430 of file exprtk.hpp.

1430{ return std::numeric_limits<T>::quiet_NaN(); }

◆ atanh_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::atanh_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 135 of file exprtk_mpfr_adaptor.hpp.

135{ return mpfr::atanh(v); }

◆ atanh_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::atanh_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 94 of file exprtk_complex_adaptor.hpp.

94{ return (cmplx::log(cmplx::complex_t(1) + v) - log(cmplx::complex_t(1) - v)) / cmplx::complex_t(2); }

References cmplx::log(), and exprtk::details::numeric::log().

Here is the call graph for this function:

◆ atanh_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::atanh_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 94 of file exprtk_real_adaptor.hpp.

94{ return real::atanh(v); }
type atanh(const type v)

References real::atanh().

Here is the call graph for this function:

◆ atanh_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::atanh_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1373 of file exprtk.hpp.

1374 {
1375 return (std::log(T(1) + v) - std::log(T(1) - v)) / T(2);
1376 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ atanh_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::atanh_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1431 of file exprtk.hpp.

1431{ return std::numeric_limits<T>::quiet_NaN(); }

◆ ceil_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::ceil_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 136 of file exprtk_mpfr_adaptor.hpp.

136{ return mpfr::ceil (v); }

◆ ceil_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::ceil_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 95 of file exprtk_complex_adaptor.hpp.

95{ return cmplx::ceil (v); }
complex_t ceil(const complex_t v)

References cmplx::ceil().

Here is the call graph for this function:

◆ ceil_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::ceil_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1419 of file exprtk.hpp.

1419{ return v; }

◆ ceil_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::ceil_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 95 of file exprtk_real_adaptor.hpp.

95{ return real::ceil (v); }
type ceil(const type v)

References real::ceil().

Here is the call graph for this function:

◆ ceil_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::ceil_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1382 of file exprtk.hpp.

1382{ return std::ceil (v); }

◆ const_e_impl() [1/4]

template<typename T >
T exprtk::details::numeric::details::const_e_impl ( complex_type_tag  )
inline

Definition at line 122 of file exprtk_complex_adaptor.hpp.

static const complex_t e

References cmplx::details::constant::e.

◆ const_e_impl() [2/4]

template<typename T >
T exprtk::details::numeric::details::const_e_impl ( mpfrreal_type_tag  )
inline

Definition at line 163 of file exprtk_mpfr_adaptor.hpp.

163{ return mpfr::const_euler(1024, exprtk::details::constant::mpfr_round); }
static const mp_rnd_t mpfr_round

References exprtk::details::constant::mpfr_round.

◆ const_e_impl() [3/4]

template<typename T >
T exprtk::details::numeric::details::const_e_impl ( my_real_type_tag  )
inline

Definition at line 122 of file exprtk_real_adaptor.hpp.

static const double e

References real::details::constant::e.

◆ const_e_impl() [4/4]

template<typename T >
T exprtk::details::numeric::details::const_e_impl ( real_type_tag  )
inline

Definition at line 1409 of file exprtk.hpp.

1409{ return T(numeric::constant::e); }

References exprtk::details::numeric::constant::e, and exprtk::details::match_impl().

Here is the call graph for this function:

◆ const_pi_impl() [1/4]

template<typename T >
T exprtk::details::numeric::details::const_pi_impl ( complex_type_tag  )
inline

Definition at line 121 of file exprtk_complex_adaptor.hpp.

static const complex_t pi

References cmplx::details::constant::pi.

◆ const_pi_impl() [2/4]

template<typename T >
T exprtk::details::numeric::details::const_pi_impl ( mpfrreal_type_tag  )
inline

Definition at line 162 of file exprtk_mpfr_adaptor.hpp.

162{ return mpfr::const_pi (1024, exprtk::details::constant::mpfr_round); }

References exprtk::details::constant::mpfr_round.

◆ const_pi_impl() [3/4]

template<typename T >
T exprtk::details::numeric::details::const_pi_impl ( my_real_type_tag  )
inline

Definition at line 121 of file exprtk_real_adaptor.hpp.

static const double pi

References real::details::constant::pi.

◆ const_pi_impl() [4/4]

template<typename T >
T exprtk::details::numeric::details::const_pi_impl ( real_type_tag  )
inline

Definition at line 1408 of file exprtk.hpp.

1408{ return T(numeric::constant::pi); }

References exprtk::details::match_impl(), and exprtk::details::numeric::constant::pi.

Here is the call graph for this function:

◆ const_qnan_impl()

template<typename T >
T exprtk::details::numeric::details::const_qnan_impl ( real_type_tag  )
inline

Definition at line 1410 of file exprtk.hpp.

1410{ return std::numeric_limits<T>::quiet_NaN(); }

◆ cos_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::cos_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 137 of file exprtk_mpfr_adaptor.hpp.

137{ return mpfr::cos (v); }

◆ cos_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::cos_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 96 of file exprtk_complex_adaptor.hpp.

96{ return cmplx::cos (v); }
complex_t cos(const complex_t v)

References cmplx::cos().

Here is the call graph for this function:

◆ cos_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::cos_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 96 of file exprtk_real_adaptor.hpp.

96{ return real::cos (v); }
type cos(const type v)

References real::cos().

Here is the call graph for this function:

◆ cos_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::cos_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1383 of file exprtk.hpp.

1383{ return std::cos (v); }

◆ cos_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::cos_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1432 of file exprtk.hpp.

1432{ return std::numeric_limits<T>::quiet_NaN(); }

◆ cosh_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::cosh_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 138 of file exprtk_mpfr_adaptor.hpp.

138{ return mpfr::cosh (v); }

◆ cosh_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::cosh_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 97 of file exprtk_complex_adaptor.hpp.

97{ return cmplx::cosh (v); }
complex_t cosh(const complex_t v)

References cmplx::cosh().

Here is the call graph for this function:

◆ cosh_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::cosh_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 97 of file exprtk_real_adaptor.hpp.

97{ return real::cosh (v); }
type cosh(const type v)

References real::cosh().

Here is the call graph for this function:

◆ cosh_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::cosh_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1384 of file exprtk.hpp.

1384{ return std::cosh (v); }

◆ cosh_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::cosh_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1433 of file exprtk.hpp.

1433{ return std::numeric_limits<T>::quiet_NaN(); }

◆ cot_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::cot_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 151 of file exprtk_mpfr_adaptor.hpp.

151{ return mpfr::cot (v); }

◆ cot_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::cot_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 110 of file exprtk_complex_adaptor.hpp.

110{ return cmplx::complex_t(1) / cmplx::tan(v); }
complex_t tan(const complex_t v)

References cmplx::tan().

Here is the call graph for this function:

◆ cot_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::cot_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 110 of file exprtk_real_adaptor.hpp.

110{ return real::cot (v); }
type cot(const type v)

References real::cot().

Here is the call graph for this function:

◆ cot_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::cot_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1397 of file exprtk.hpp.

1397{ return T(1) / std::tan(v); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ cot_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::cot_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1438 of file exprtk.hpp.

1438{ return std::numeric_limits<T>::quiet_NaN(); }

◆ csc_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::csc_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 153 of file exprtk_mpfr_adaptor.hpp.

153{ return mpfr::csc (v); }

◆ csc_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::csc_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 112 of file exprtk_complex_adaptor.hpp.

112{ return cmplx::complex_t(1) / cmplx::sin(v); }
complex_t sin(const complex_t v)

References cmplx::sin().

Here is the call graph for this function:

◆ csc_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::csc_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 112 of file exprtk_real_adaptor.hpp.

112{ return real::csc (v); }
type csc(const type v)

References real::csc().

Here is the call graph for this function:

◆ csc_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::csc_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1399 of file exprtk.hpp.

1399{ return T(1) / std::sin(v); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ csc_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::csc_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1440 of file exprtk.hpp.

1440{ return std::numeric_limits<T>::quiet_NaN(); }

◆ d2g_impl() [1/4]

template<typename T >
T exprtk::details::numeric::details::d2g_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 156 of file exprtk_mpfr_adaptor.hpp.

156{ return (v * T(10.0) / T(9.0)); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ d2g_impl() [2/4]

template<typename T >
T exprtk::details::numeric::details::d2g_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 115 of file exprtk_complex_adaptor.hpp.

115{ return (v * cmplx::complex_t(20.0/9.0)); }

◆ d2g_impl() [3/4]

template<typename T >
T exprtk::details::numeric::details::d2g_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 115 of file exprtk_real_adaptor.hpp.

115{ return real::d2g (v); }
type d2g(const type v)

References real::d2g().

Here is the call graph for this function:

◆ d2g_impl() [4/4]

template<typename T >
T exprtk::details::numeric::details::d2g_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1402 of file exprtk.hpp.

1402{ return (v * T(10.0/9.0)); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ d2r_impl() [1/4]

template<typename T >
T exprtk::details::numeric::details::d2r_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 155 of file exprtk_mpfr_adaptor.hpp.

155{ return (v * exprtk::details::constant::pi_180 ); }
static const mpfr::mpreal pi_180

References exprtk::details::constant::pi_180.

◆ d2r_impl() [2/4]

template<typename T >
T exprtk::details::numeric::details::d2r_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 114 of file exprtk_complex_adaptor.hpp.

114{ return (v * cmplx::complex_t(constant::pi_180)); }

References exprtk::details::numeric::constant::pi_180.

◆ d2r_impl() [3/4]

template<typename T >
T exprtk::details::numeric::details::d2r_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 114 of file exprtk_real_adaptor.hpp.

114{ return real::d2r (v); }
type d2r(const type v)

References real::d2r().

Here is the call graph for this function:

◆ d2r_impl() [4/4]

template<typename T >
T exprtk::details::numeric::details::d2r_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1401 of file exprtk.hpp.

1401{ return (v * T(numeric::constant::pi_180)); }

References exprtk::details::match_impl(), and exprtk::details::numeric::constant::pi_180.

Here is the call graph for this function:

◆ equal_impl() [1/6]

float exprtk::details::numeric::details::equal_impl ( const float  v0,
const float  v1,
real_type_tag   
)
inline

Definition at line 939 of file exprtk.hpp.

940 {
941 const float epsilon = epsilon_type<float>::value();
942 return (abs_impl(v0 - v1,real_type_tag()) <= (std::max(1.0f,std::max(abs_impl(v0,real_type_tag()),abs_impl(v1,real_type_tag()))) * epsilon)) ? 1.0f : 0.0f;
943 }
T abs_impl(const T v, real_type_tag)
Definition exprtk.hpp:915

References abs_impl().

Here is the call graph for this function:

◆ equal_impl() [2/6]

template<typename T >
T exprtk::details::numeric::details::equal_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 281 of file exprtk_mpfr_adaptor.hpp.

282 {
283 const T epsilon = epsilon_type<T>::value();
284 const T eps_norm = (mpfr::max(T(1),mpfr::max(mpfr::abs(v0),mpfr::abs(v1))) * epsilon);
285 const T diff = mpfr::abs(v0 - v1);
286 return (diff <= eps_norm) ? T(1) : T(0);
287 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ equal_impl() [3/6]

template<typename T >
T exprtk::details::numeric::details::equal_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 276 of file exprtk_complex_adaptor.hpp.

277 {
278 const T epsilon = epsilon_type<T>::value();
279 const T eps_norm = (max(T(1),max(abs_impl(v0,complex_type_tag()),abs_impl(v1,complex_type_tag()))) * epsilon);
280 return (abs_impl(v0 - v1,complex_type_tag()) <= eps_norm) ? T(1) : T(0);
281 }

References abs_impl(), exprtk::details::match_impl(), and exprtk::details::numeric::max().

Here is the call graph for this function:

◆ equal_impl() [4/6]

template<typename T >
T exprtk::details::numeric::details::equal_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 946 of file exprtk.hpp.

947 {
948 return (v0 == v1) ? 1 : 0;
949 }

◆ equal_impl() [5/6]

template<typename T >
T exprtk::details::numeric::details::equal_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 256 of file exprtk_real_adaptor.hpp.

257 {
258 const T epsilon = epsilon_type<T>::value();
259 const T eps_norm = (max(T(1),max(abs_impl(v0,my_real_type_tag()),abs_impl(v1,my_real_type_tag()))) * epsilon);
260 return (abs_impl(v0 - v1,my_real_type_tag()) <= eps_norm) ? T(1) : T(0);
261 }

References abs_impl(), exprtk::details::match_impl(), and exprtk::details::numeric::max().

Here is the call graph for this function:

◆ equal_impl() [6/6]

template<typename T >
T exprtk::details::numeric::details::equal_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 933 of file exprtk.hpp.

934 {
935 const T epsilon = epsilon_type<T>::value();
936 return (abs_impl(v0 - v1,real_type_tag()) <= (std::max(T(1),std::max(abs_impl(v0,real_type_tag()),abs_impl(v1,real_type_tag()))) * epsilon)) ? T(1) : T(0);
937 }

References abs_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ erf_impl() [1/8]

double exprtk::details::numeric::details::erf_impl ( const double  v)
inline

Definition at line 1248 of file exprtk.hpp.

◆ erf_impl() [2/8]

float exprtk::details::numeric::details::erf_impl ( const float  v)
inline

Definition at line 1247 of file exprtk.hpp.

Referenced by erf_impl(), erf_impl(), erfc_impl(), erfc_impl(), erfc_impl(), and ncdf_impl().

Here is the caller graph for this function:

◆ erf_impl() [3/8]

long double exprtk::details::numeric::details::erf_impl ( const long double  v)
inline

Definition at line 1249 of file exprtk.hpp.

◆ erf_impl() [4/8]

template<typename T >
T exprtk::details::numeric::details::erf_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 218 of file exprtk_mpfr_adaptor.hpp.

219 {
220 return mpfr::erf(v);
221 }

◆ erf_impl() [5/8]

template<typename T >
T exprtk::details::numeric::details::erf_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1283 of file exprtk.hpp.

1284 {
1285 return erf_impl(static_cast<double>(v),real_type_tag());
1286 }
float erf_impl(const float v)
Definition exprtk.hpp:1247

References erf_impl().

Here is the call graph for this function:

◆ erf_impl() [6/8]

template<typename T >
T exprtk::details::numeric::details::erf_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1254 of file exprtk.hpp.

1255 {
1256 #if defined(_MSC_VER) && (_MSC_VER < 1900)
1257 // Credits: Abramowitz & Stegun Equations 7.1.25-28
1258 static const T c[] =
1259 {
1260 T( 1.26551223), T(1.00002368),
1261 T( 0.37409196), T(0.09678418),
1262 T(-0.18628806), T(0.27886807),
1263 T(-1.13520398), T(1.48851587),
1264 T(-0.82215223), T(0.17087277)
1265 };
1266
1267 const T t = T(1) / (T(1) + T(0.5) * abs_impl(v,real_type_tag()));
1268
1269 const T result = T(1) - t * std::exp((-v * v) -
1270 c[0] + t * (c[1] + t *
1271 (c[2] + t * (c[3] + t *
1272 (c[4] + t * (c[5] + t *
1273 (c[6] + t * (c[7] + t *
1274 (c[8] + t * (c[9]))))))))));
1275
1276 return (v >= T(0)) ? result : -result;
1277 #else
1278 return erf_impl(v);
1279 #endif
1280 }

References abs_impl(), erf_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ erf_impl() [7/8]

template<typename T >
T exprtk::details::numeric::details::erf_impl ( T  v,
complex_type_tag   
)
inline

Definition at line 194 of file exprtk_complex_adaptor.hpp.

195 {
196 const T t = T(1) / (T(1) + T(0.5) * abs_impl(v,complex_type_tag()));
197
198 static const T c[] = {
199 T( 1.26551223), T(1.00002368),
200 T( 0.37409196), T(0.09678418),
201 T(-0.18628806), T(0.27886807),
202 T(-1.13520398), T(1.48851587),
203 T(-0.82215223), T(0.17087277)
204 };
205
206 T result = T(1) - t * exp_impl((-v * v) -
207 c[0] + t * (c[1] + t *
208 (c[2] + t * (c[3] + t *
209 (c[4] + t * (c[5] + t *
210 (c[6] + t * (c[7] + t *
211 (c[8] + t * (c[9]))))))))),complex_type_tag());
212
213 return (v >= T(0)) ? result : -result;
214 }

References abs_impl(), exp_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ erf_impl() [8/8]

template<typename T >
T exprtk::details::numeric::details::erf_impl ( T  v,
my_real_type_tag   
)
inline

Definition at line 194 of file exprtk_real_adaptor.hpp.

195 {
196 return real::erf(v);
197 }
type erf(type v)

References real::erf().

Here is the call graph for this function:

◆ erfc_impl() [1/8]

double exprtk::details::numeric::details::erfc_impl ( const double  v)
inline

Definition at line 1293 of file exprtk.hpp.

◆ erfc_impl() [2/8]

float exprtk::details::numeric::details::erfc_impl ( const float  v)
inline

Definition at line 1292 of file exprtk.hpp.

Referenced by erfc_impl(), erfc_impl(), ncdf_impl(), ncdf_impl(), and ncdf_impl().

Here is the caller graph for this function:

◆ erfc_impl() [3/8]

long double exprtk::details::numeric::details::erfc_impl ( const long double  v)
inline

Definition at line 1294 of file exprtk.hpp.

◆ erfc_impl() [4/8]

template<typename T >
T exprtk::details::numeric::details::erfc_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 224 of file exprtk_mpfr_adaptor.hpp.

225 {
226 return mpfr::erfc(v);
227 }

◆ erfc_impl() [5/8]

template<typename T >
T exprtk::details::numeric::details::erfc_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1309 of file exprtk.hpp.

1310 {
1311 return erfc_impl(static_cast<double>(v),real_type_tag());
1312 }
float erfc_impl(const float v)
Definition exprtk.hpp:1292

References erfc_impl().

Here is the call graph for this function:

◆ erfc_impl() [6/8]

template<typename T >
T exprtk::details::numeric::details::erfc_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1299 of file exprtk.hpp.

1300 {
1301 #if defined(_MSC_VER) && (_MSC_VER < 1900)
1302 return T(1) - erf_impl(v,real_type_tag());
1303 #else
1304 return erfc_impl(v);
1305 #endif
1306 }

References erf_impl(), erfc_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ erfc_impl() [7/8]

template<typename T >
T exprtk::details::numeric::details::erfc_impl ( T  v,
complex_type_tag   
)
inline

Definition at line 217 of file exprtk_complex_adaptor.hpp.

218 {
219 return T(1) - erf_impl(v,complex_type_tag());
220 }

References erf_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ erfc_impl() [8/8]

template<typename T >
T exprtk::details::numeric::details::erfc_impl ( T  v,
my_real_type_tag   
)
inline

Definition at line 200 of file exprtk_real_adaptor.hpp.

201 {
202 return T(1) - erf_impl(v,my_real_type_tag());
203 }

References erf_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ exp_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::exp_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 139 of file exprtk_mpfr_adaptor.hpp.

139{ return mpfr::exp (v); }

◆ exp_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::exp_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 98 of file exprtk_complex_adaptor.hpp.

98{ return cmplx::exp (v); }
complex_t exp(const complex_t v)

References cmplx::exp().

Here is the call graph for this function:

◆ exp_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::exp_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1413 of file exprtk.hpp.

1413{ return std::exp (v); }

◆ exp_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::exp_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 98 of file exprtk_real_adaptor.hpp.

98{ return real::exp (v); }
type exp(const type v)

References real::exp().

Here is the call graph for this function:

◆ exp_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::exp_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1385 of file exprtk.hpp.

1385{ return std::exp (v); }

Referenced by erf_impl().

Here is the caller graph for this function:

◆ expm1_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::expm1_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 176 of file exprtk_mpfr_adaptor.hpp.

177 {
178 return mpfr::expm1(v);
179 }

◆ expm1_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::expm1_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 153 of file exprtk_complex_adaptor.hpp.

154 {
155 if (abs(v) < T(0.00001))
156 return v + (T(0.5) * v * v);
157 else
158 return exp(v) - T(1);
159 }

References exprtk::details::numeric::abs(), exprtk::details::numeric::exp(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ expm1_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::expm1_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 962 of file exprtk.hpp.

963 {
964 return T(std::exp<double>(v)) - T(1);
965 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ expm1_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::expm1_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 153 of file exprtk_real_adaptor.hpp.

154 {
155 if (abs(v) < T(0.00001))
156 return v + (T(0.5) * v * v);
157 else
158 return exp(v) - T(1);
159 }

References exprtk::details::numeric::abs(), exprtk::details::numeric::exp(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ expm1_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::expm1_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 952 of file exprtk.hpp.

953 {
954 // return std::expm1<T>(v);
955 if (abs_impl(v,real_type_tag()) < T(0.00001))
956 return v + (T(0.5) * v * v);
957 else
958 return std::exp(v) - T(1);
959 }

References abs_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ floor_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::floor_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 140 of file exprtk_mpfr_adaptor.hpp.

140{ return mpfr::floor(v); }

◆ floor_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::floor_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 99 of file exprtk_complex_adaptor.hpp.

99{ return cmplx::floor(v); }
complex_t floor(const complex_t v)

References cmplx::floor().

Here is the call graph for this function:

◆ floor_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::floor_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1420 of file exprtk.hpp.

1420{ return v; }

◆ floor_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::floor_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 99 of file exprtk_real_adaptor.hpp.

99{ return real::floor(v); }
type floor(const type v)

References real::floor().

Here is the call graph for this function:

◆ floor_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::floor_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1386 of file exprtk.hpp.

1386{ return std::floor(v); }

◆ frac_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::frac_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 159 of file exprtk_mpfr_adaptor.hpp.

159{ return mpfr::frac (v); }

◆ frac_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::frac_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 118 of file exprtk_complex_adaptor.hpp.

118{ return cmplx::frac(v); }
complex_t frac(const complex_t v)

References cmplx::frac().

Here is the call graph for this function:

◆ frac_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::frac_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 118 of file exprtk_real_adaptor.hpp.

118{ return real::frac (v); }
type frac(const type v)

References real::frac().

Here is the call graph for this function:

◆ frac_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::frac_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1405 of file exprtk.hpp.

1405{ return (v - static_cast<long long>(v)); }

◆ frac_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::frac_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1424 of file exprtk.hpp.

1424{ return T(0); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ g2d_impl() [1/4]

template<typename T >
T exprtk::details::numeric::details::g2d_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 157 of file exprtk_mpfr_adaptor.hpp.

157{ return (v * T(9.0) / T(10.0)); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ g2d_impl() [2/4]

template<typename T >
T exprtk::details::numeric::details::g2d_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 116 of file exprtk_complex_adaptor.hpp.

116{ return (v * cmplx::complex_t(9.0/20.0)); }

◆ g2d_impl() [3/4]

template<typename T >
T exprtk::details::numeric::details::g2d_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 116 of file exprtk_real_adaptor.hpp.

116{ return real::g2d (v); }
type g2d(const type v)

References real::g2d().

Here is the call graph for this function:

◆ g2d_impl() [4/4]

template<typename T >
T exprtk::details::numeric::details::g2d_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1403 of file exprtk.hpp.

1403{ return (v * T(9.0/10.0)); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ hypot_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::hypot_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 318 of file exprtk_mpfr_adaptor.hpp.

319 {
320 return mpfr::hypot(v0,v1);
321 }

◆ hypot_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::hypot_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 313 of file exprtk_complex_adaptor.hpp.

314 {
315 return sqrt((v0 * v0) + (v1 * v1));
316 }

References exprtk::details::numeric::sqrt().

Here is the call graph for this function:

◆ hypot_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::hypot_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1102 of file exprtk.hpp.

1103 {
1104 return static_cast<T>(std::sqrt(static_cast<double>((v0 * v0) + (v1 * v1))));
1105 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ hypot_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::hypot_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 293 of file exprtk_real_adaptor.hpp.

294 {
295 return sqrt((v0 * v0) + (v1 * v1));
296 }

References exprtk::details::numeric::sqrt().

Here is the call graph for this function:

◆ hypot_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::hypot_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1096 of file exprtk.hpp.

1097 {
1098 return std::sqrt((v0 * v0) + (v1 * v1));
1099 }

◆ is_false_impl() [1/4]

bool exprtk::details::numeric::details::is_false_impl ( const cmplx::complex_t  v)
inline

Definition at line 147 of file exprtk_complex_adaptor.hpp.

148 {
149 return (0.0 == v);
150 }

◆ is_false_impl() [2/4]

bool exprtk::details::numeric::details::is_false_impl ( const mpfr::mpreal &  v)
inline

Definition at line 170 of file exprtk_mpfr_adaptor.hpp.

171 {
172 return !is_true_impl(v);
173 }

References is_true_impl().

Here is the call graph for this function:

◆ is_false_impl() [3/4]

bool exprtk::details::numeric::details::is_false_impl ( const real::type  v)
inline

Definition at line 147 of file exprtk_real_adaptor.hpp.

148 {
149 return (0.0 == v);
150 }

◆ is_false_impl() [4/4]

template<typename T >
bool exprtk::details::numeric::details::is_false_impl ( const T  v)
inline

Definition at line 909 of file exprtk.hpp.

910 {
911 return std::equal_to<T>()(T(0),v);
912 }

References exprtk::details::match_impl().

Referenced by exprtk::details::is_false(), nand_impl(), nand_impl(), nand_impl(), nand_impl(), nor_impl(), nor_impl(), nor_impl(), nor_impl(), xor_impl(), xor_impl(), xor_impl(), and xor_impl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_integer_impl() [1/5]

template<typename T >
bool exprtk::details::numeric::details::is_integer_impl ( const T ,
int_type_tag   
)
inline

Definition at line 1449 of file exprtk.hpp.

1450 {
1451 return true;
1452 }

◆ is_integer_impl() [2/5]

template<typename T >
bool exprtk::details::numeric::details::is_integer_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 306 of file exprtk_mpfr_adaptor.hpp.

307 {
308 return mpfr::isint(v);
309 }

◆ is_integer_impl() [3/5]

template<typename T >
bool exprtk::details::numeric::details::is_integer_impl ( const T v,
real_type_tag   
)
inline

Definition at line 1443 of file exprtk.hpp.

1444 {
1445 return std::equal_to<T>()(T(0),std::fmod(v,T(1)));
1446 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ is_integer_impl() [4/5]

template<typename T >
bool exprtk::details::numeric::details::is_integer_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 301 of file exprtk_complex_adaptor.hpp.

302 {
303 return (T(0) == modulus_impl(v,T(1),complex_type_tag()));
304 }
T modulus_impl(const T v0, const T v1, real_type_tag)
Definition exprtk.hpp:989

References exprtk::details::match_impl(), and modulus_impl().

Here is the call graph for this function:

◆ is_integer_impl() [5/5]

template<typename T >
bool exprtk::details::numeric::details::is_integer_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 281 of file exprtk_real_adaptor.hpp.

282 {
283 return (T(0) == modulus_impl(v,T(1),my_real_type_tag()));
284 }

References exprtk::details::match_impl(), and modulus_impl().

Here is the call graph for this function:

◆ is_nan_impl() [1/4]

bool exprtk::details::numeric::details::is_nan_impl ( const cmplx::complex_t v,
complex_type_tag   
)
inline

Definition at line 83 of file exprtk_complex_adaptor.hpp.

84 {
85 return std::isnan(v.c_.real()) || std::isnan(v.c_.imag()) ;
86 }
std::complex< double > c_

References cmplx::complex_t::c_.

◆ is_nan_impl() [2/4]

bool exprtk::details::numeric::details::is_nan_impl ( const mpfr::mpreal &  v,
mpfrreal_type_tag   
)
inline

Definition at line 106 of file exprtk_mpfr_adaptor.hpp.

107 {
108 return mpfr::isnan(v);
109 }

◆ is_nan_impl() [3/4]

bool exprtk::details::numeric::details::is_nan_impl ( const real::type v,
my_real_type_tag   
)
inline

Definition at line 83 of file exprtk_real_adaptor.hpp.

84 {
85 return v.d_ != v.d_;
86 }
double d_
Definition real_type.hpp:82

References real::type::d_.

◆ is_nan_impl() [4/4]

template<typename T >
bool exprtk::details::numeric::details::is_nan_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 879 of file exprtk.hpp.

880 {
881 return std::not_equal_to<T>()(v,v);
882 }

◆ is_true_impl() [1/4]

bool exprtk::details::numeric::details::is_true_impl ( const cmplx::complex_t  v)
inline

Definition at line 142 of file exprtk_complex_adaptor.hpp.

143 {
144 return (0.0 != v);
145 }

◆ is_true_impl() [2/4]

bool exprtk::details::numeric::details::is_true_impl ( const mpfr::mpreal &  v)
inline

Definition at line 165 of file exprtk_mpfr_adaptor.hpp.

166 {
167 return v.toBool();
168 }

◆ is_true_impl() [3/4]

bool exprtk::details::numeric::details::is_true_impl ( const real::type  v)
inline

Definition at line 142 of file exprtk_real_adaptor.hpp.

143 {
144 return (0.0 != v);
145 }

◆ is_true_impl() [4/4]

template<typename T >
bool exprtk::details::numeric::details::is_true_impl ( const T  v)
inline

Definition at line 903 of file exprtk.hpp.

904 {
905 return std::not_equal_to<T>()(T(0),v);
906 }

References exprtk::details::match_impl().

Referenced by and_impl(), and_impl(), and_impl(), and_impl(), is_false_impl(), exprtk::details::is_true(), or_impl(), or_impl(), or_impl(), or_impl(), xnor_impl(), xnor_impl(), xnor_impl(), xnor_impl(), and xnor_impl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log10_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::log10_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 142 of file exprtk_mpfr_adaptor.hpp.

142{ return mpfr::log10(v); }

◆ log10_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::log10_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 101 of file exprtk_complex_adaptor.hpp.

101{ return cmplx::log10(v); }
complex_t log10(const complex_t v)

References cmplx::log10().

Here is the call graph for this function:

◆ log10_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::log10_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1415 of file exprtk.hpp.

1415{ return std::log10(v); }

◆ log10_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::log10_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 101 of file exprtk_real_adaptor.hpp.

101{ return real::log10(v); }
type log10(const type v)

References real::log10().

Here is the call graph for this function:

◆ log10_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::log10_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1388 of file exprtk.hpp.

1388{ return std::log10(v); }

◆ log1p_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::log1p_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 212 of file exprtk_mpfr_adaptor.hpp.

213 {
214 return mpfr::log1p(v);
215 }

◆ log1p_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::log1p_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 178 of file exprtk_complex_adaptor.hpp.

179 {
180 if (v > T(-1))
181 {
182 if (abs_impl(v,complex_type_tag()) > T(0.0001))
183 {
184 return log_impl(T(1) + v,complex_type_tag());
185 }
186 else
187 return (T(-0.5) * v + T(1)) * v;
188 }
189 else
190 return T(std::numeric_limits<T>::quiet_NaN());
191 }
T log_impl(const T v, real_type_tag)
Definition exprtk.hpp:1387

References abs_impl(), log_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ log1p_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::log1p_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1041 of file exprtk.hpp.

1042 {
1043 if (v > T(-1))
1044 {
1045 return std::log(T(1) + v);
1046 }
1047
1048 return std::numeric_limits<T>::quiet_NaN();
1049 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ log1p_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::log1p_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 178 of file exprtk_real_adaptor.hpp.

179 {
180 if (v > T(-1))
181 {
182 if (abs_impl(v,my_real_type_tag()) > T(0.0001))
183 {
184 return log_impl(T(1) + v,my_real_type_tag());
185 }
186 else
187 return (T(-0.5) * v + T(1)) * v;
188 }
189 else
190 return T(std::numeric_limits<T>::quiet_NaN());
191 }

References abs_impl(), log_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ log1p_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::log1p_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1025 of file exprtk.hpp.

1026 {
1027 if (v > T(-1))
1028 {
1029 if (abs_impl(v,real_type_tag()) > T(0.0001))
1030 {
1031 return std::log(T(1) + v);
1032 }
1033 else
1034 return (T(-0.5) * v + T(1)) * v;
1035 }
1036
1037 return std::numeric_limits<T>::quiet_NaN();
1038 }

References abs_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ log2_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::log2_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 143 of file exprtk_mpfr_adaptor.hpp.

143{ return mpfr::log2 (v); }

◆ log2_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::log2_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 102 of file exprtk_complex_adaptor.hpp.

102{ return cmplx::log(v)/cmplx::complex_t(constant::log2); }

References cmplx::log(), and exprtk::details::numeric::constant::log2.

Here is the call graph for this function:

◆ log2_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::log2_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1416 of file exprtk.hpp.

1416{ return std::log(v)/T(numeric::constant::log2); }

References exprtk::details::numeric::constant::log2, and exprtk::details::match_impl().

Here is the call graph for this function:

◆ log2_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::log2_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 102 of file exprtk_real_adaptor.hpp.

102{ return real::log2 (v); }
type log2(const type v)

References real::log2().

Here is the call graph for this function:

◆ log2_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::log2_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1389 of file exprtk.hpp.

1389{ return std::log(v)/T(numeric::constant::log2); }

References exprtk::details::numeric::constant::log2, and exprtk::details::match_impl().

Here is the call graph for this function:

◆ log_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::log_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 141 of file exprtk_mpfr_adaptor.hpp.

141{ return mpfr::log (v); }

◆ log_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::log_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 100 of file exprtk_complex_adaptor.hpp.

100{ return cmplx::log (v); }

References cmplx::log().

Here is the call graph for this function:

◆ log_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::log_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1414 of file exprtk.hpp.

1414{ return std::log (v); }

◆ log_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::log_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 100 of file exprtk_real_adaptor.hpp.

100{ return real::log (v); }
type log(const type v)

References real::log().

Here is the call graph for this function:

◆ log_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::log_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1387 of file exprtk.hpp.

1387{ return std::log (v); }

Referenced by log1p_impl(), and log1p_impl().

Here is the caller graph for this function:

◆ logn_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::logn_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 249 of file exprtk_mpfr_adaptor.hpp.

250 {
251 return mpfr::log(v0) / mpfr::log(v1);
252 }

◆ logn_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::logn_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 244 of file exprtk_complex_adaptor.hpp.

245 {
246 return log(v0) / log(v1);
247 }

References exprtk::details::numeric::log().

Here is the call graph for this function:

◆ logn_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::logn_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1019 of file exprtk.hpp.

1020 {
1021 return static_cast<T>(logn_impl<double>(static_cast<double>(v0),static_cast<double>(v1),real_type_tag()));
1022 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ logn_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::logn_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 224 of file exprtk_real_adaptor.hpp.

225 {
226 return log(v0) / log(v1);
227 }

References exprtk::details::numeric::log().

Here is the call graph for this function:

◆ logn_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::logn_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1013 of file exprtk.hpp.

1014 {
1015 return std::log(v0) / std::log(v1);
1016 }

◆ max_impl() [1/2]

template<typename T >
T exprtk::details::numeric::details::max_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 189 of file exprtk_mpfr_adaptor.hpp.

190 {
191 using std::max;
192 return max(v0,v1);
193 }

References exprtk::details::numeric::max().

Here is the call graph for this function:

◆ max_impl() [2/2]

template<typename T >
T exprtk::details::numeric::details::max_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 927 of file exprtk.hpp.

928 {
929 return std::max<T>(v0,v1);
930 }

◆ min_impl() [1/2]

template<typename T >
T exprtk::details::numeric::details::min_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 182 of file exprtk_mpfr_adaptor.hpp.

183 {
184 using std::min;
185 return min(v0,v1);
186 }

References exprtk::details::numeric::min().

Here is the call graph for this function:

◆ min_impl() [2/2]

template<typename T >
T exprtk::details::numeric::details::min_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 921 of file exprtk.hpp.

922 {
923 return std::min<T>(v0,v1);
924 }

◆ modulus_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::modulus_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 237 of file exprtk_mpfr_adaptor.hpp.

238 {
239 return mpfr::fmod(v0,v1);
240 }

◆ modulus_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::modulus_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 232 of file exprtk_complex_adaptor.hpp.

233 {
234 return modulus(v0,v1);
235 }

References exprtk::details::numeric::modulus().

Here is the call graph for this function:

◆ modulus_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::modulus_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 995 of file exprtk.hpp.

996 {
997 return v0 % v1;
998 }

◆ modulus_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::modulus_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 212 of file exprtk_real_adaptor.hpp.

213 {
214 return modulus(v0,v1);
215 }

References exprtk::details::numeric::modulus().

Here is the call graph for this function:

◆ modulus_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::modulus_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 989 of file exprtk.hpp.

990 {
991 return std::fmod(v0,v1);
992 }

Referenced by is_integer_impl(), and is_integer_impl().

Here is the caller graph for this function:

◆ nand_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::nand_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 348 of file exprtk_mpfr_adaptor.hpp.

349 {
350 return (is_false_impl(v0) || is_false_impl(v1)) ? T(1) : T(0);
351 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nand_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::nand_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 343 of file exprtk_complex_adaptor.hpp.

344 {
345 return (is_false_impl(v0) || is_false_impl(v1)) ? T(1) : T(0);
346 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nand_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::nand_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1178 of file exprtk.hpp.

1179 {
1180 return !(v0 && v1);
1181 }

◆ nand_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::nand_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 323 of file exprtk_real_adaptor.hpp.

324 {
325 return (is_false_impl(v0) || is_false_impl(v1)) ? T(1) : T(0);
326 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nand_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::nand_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1172 of file exprtk.hpp.

1173 {
1174 return (is_false_impl(v0) || is_false_impl(v1)) ? T(1) : T(0);
1175 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ ncdf_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::ncdf_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 230 of file exprtk_mpfr_adaptor.hpp.

231 {
232 static const T _05 = T(0.5);
233 return _05 * erfc_impl(-(v / constant::sqrt2),mpfrreal_type_tag());
234 }

References erfc_impl(), exprtk::details::match_impl(), and exprtk::details::numeric::constant::sqrt2.

Here is the call graph for this function:

◆ ncdf_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::ncdf_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1321 of file exprtk.hpp.

1322 {
1323 return ncdf_impl(static_cast<double>(v),real_type_tag());
1324 }
T ncdf_impl(const T v, real_type_tag)
Definition exprtk.hpp:1315

References ncdf_impl().

Here is the call graph for this function:

◆ ncdf_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::ncdf_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1315 of file exprtk.hpp.

1316 {
1317 return T(0.5) * erfc_impl(-(v / T(numeric::constant::sqrt2)),real_type_tag());
1318 }

References erfc_impl(), exprtk::details::match_impl(), and exprtk::details::numeric::constant::sqrt2.

Referenced by ncdf_impl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ncdf_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::ncdf_impl ( T  v,
complex_type_tag   
)
inline

Definition at line 223 of file exprtk_complex_adaptor.hpp.

224 {
225 T cnd = T(0.5) * (T(1) + erf_impl(
227 T(constant::sqrt2),complex_type_tag()));
228 return (v < T(0)) ? (T(1) - cnd) : cnd;
229 }

References abs_impl(), erf_impl(), exprtk::details::match_impl(), and exprtk::details::numeric::constant::sqrt2.

Here is the call graph for this function:

◆ ncdf_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::ncdf_impl ( T  v,
my_real_type_tag   
)
inline

Definition at line 206 of file exprtk_real_adaptor.hpp.

207 {
208 return T(0.5) * erfc_impl(-(v / T(numeric::constant::sqrt2)),my_real_type_tag());
209 }

References erfc_impl(), exprtk::details::match_impl(), and exprtk::details::numeric::constant::sqrt2.

Here is the call graph for this function:

◆ neg_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::neg_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 144 of file exprtk_mpfr_adaptor.hpp.

144{ return -v; }

◆ neg_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::neg_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 103 of file exprtk_complex_adaptor.hpp.

103{ return -v; }

◆ neg_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::neg_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1417 of file exprtk.hpp.

1417{ return -v; }

◆ neg_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::neg_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 103 of file exprtk_real_adaptor.hpp.

103{ return -v; }

◆ neg_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::neg_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1390 of file exprtk.hpp.

1390{ return -v; }

◆ nequal_impl() [1/6]

float exprtk::details::numeric::details::nequal_impl ( const float  v0,
const float  v1,
real_type_tag   
)
inline

Definition at line 975 of file exprtk.hpp.

976 {
977 typedef real_type_tag rtg;
978 const float epsilon = epsilon_type<float>::value();
979 return (abs_impl(v0 - v1,rtg()) > (std::max(1.0f,std::max(abs_impl(v0,rtg()),abs_impl(v1,rtg()))) * epsilon)) ? 1.0f : 0.0f;
980 }

References abs_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nequal_impl() [2/6]

template<typename T >
T exprtk::details::numeric::details::nequal_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 196 of file exprtk_mpfr_adaptor.hpp.

197 {
198 const T epsilon = epsilon_type<T>::value();
199 const T eps_norm = (mpfr::max(T(1),mpfr::max(mpfr::abs(v0),mpfr::abs(v1))) * epsilon);
200 return (mpfr::abs(v0 - v1) > eps_norm) ? T(1) : T(0);
201 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ nequal_impl() [3/6]

template<typename T >
T exprtk::details::numeric::details::nequal_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 162 of file exprtk_complex_adaptor.hpp.

163 {
164 const T epsilon = epsilon_type<T>::value();
165 const T eps_norm = (std::max(T(1),std::max(abs_impl(v0,complex_type_tag()),abs_impl(v1,complex_type_tag()))) * epsilon);
166 return (abs_impl(v0 - v1,complex_type_tag()) > eps_norm) ? T(1) : T(0);
167 }

References abs_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nequal_impl() [4/6]

template<typename T >
T exprtk::details::numeric::details::nequal_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 983 of file exprtk.hpp.

984 {
985 return (v0 != v1) ? 1 : 0;
986 }

◆ nequal_impl() [5/6]

template<typename T >
T exprtk::details::numeric::details::nequal_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 162 of file exprtk_real_adaptor.hpp.

163 {
164 const T epsilon = epsilon_type<T>::value();
165 const T eps_norm = (std::max(T(1),std::max(abs_impl(v0,my_real_type_tag()),abs_impl(v1,my_real_type_tag()))) * epsilon);
166 return (abs_impl(v0 - v1,my_real_type_tag()) > eps_norm) ? T(1) : T(0);
167 }

References abs_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nequal_impl() [6/6]

template<typename T >
T exprtk::details::numeric::details::nequal_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 968 of file exprtk.hpp.

969 {
970 typedef real_type_tag rtg;
971 const T epsilon = epsilon_type<T>::value();
972 return (abs_impl(v0 - v1,rtg()) > (std::max(T(1),std::max(abs_impl(v0,rtg()),abs_impl(v1,rtg()))) * epsilon)) ? T(1) : T(0);
973 }

References abs_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nor_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::nor_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 360 of file exprtk_mpfr_adaptor.hpp.

361 {
362 return (is_false_impl(v0) && is_false_impl(v1)) ? T(1) : T(0);
363 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nor_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::nor_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 355 of file exprtk_complex_adaptor.hpp.

356 {
357 return (is_false_impl(v0) && is_false_impl(v1)) ? T(1) : T(0);
358 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nor_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::nor_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1202 of file exprtk.hpp.

1203 {
1204 return !(v0 || v1);
1205 }

◆ nor_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::nor_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 335 of file exprtk_real_adaptor.hpp.

336 {
337 return (is_false_impl(v0) && is_false_impl(v1)) ? T(1) : T(0);
338 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ nor_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::nor_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1196 of file exprtk.hpp.

1197 {
1198 return (is_false_impl(v0) && is_false_impl(v1)) ? T(1) : T(0);
1199 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ notl_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::notl_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 158 of file exprtk_mpfr_adaptor.hpp.

158{ return (v != T(0) ? T(0) : T(1)); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ notl_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::notl_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 117 of file exprtk_complex_adaptor.hpp.

117{ return (v != cmplx::complex_t(0) ? cmplx::complex_t(0) : cmplx::complex_t(1)); }

◆ notl_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::notl_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1422 of file exprtk.hpp.

1422{ return !v; }

◆ notl_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::notl_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 117 of file exprtk_real_adaptor.hpp.

117{ return real::notl (v); }
type notl(const type v)

References real::notl().

Here is the call graph for this function:

◆ notl_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::notl_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1404 of file exprtk.hpp.

1404{ return (std::not_equal_to<T>()(T(0),v) ? T(0) : T(1)); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ or_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::or_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 354 of file exprtk_mpfr_adaptor.hpp.

355 {
356 return (is_true_impl(v0) || is_true_impl(v1)) ? T(1) : T(0);
357 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ or_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::or_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 349 of file exprtk_complex_adaptor.hpp.

350 {
351 return (is_true_impl(v0) || is_true_impl(v1)) ? T(1) : T(0);
352 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ or_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::or_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1190 of file exprtk.hpp.

1191 {
1192 return (v0 || v1);
1193 }

◆ or_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::or_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 329 of file exprtk_real_adaptor.hpp.

330 {
331 return (is_true_impl(v0) || is_true_impl(v1)) ? T(1) : T(0);
332 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ or_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::or_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1184 of file exprtk.hpp.

1185 {
1186 return (is_true_impl(v0) || is_true_impl(v1)) ? T(1) : T(0);
1187 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ pos_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::pos_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 145 of file exprtk_mpfr_adaptor.hpp.

145{ return v; }

◆ pos_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::pos_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 104 of file exprtk_complex_adaptor.hpp.

104{ return v; }

◆ pos_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::pos_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1418 of file exprtk.hpp.

1418{ return +v; }

◆ pos_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::pos_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 104 of file exprtk_real_adaptor.hpp.

104{ return v; }

◆ pos_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::pos_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1391 of file exprtk.hpp.

1391{ return +v; }

◆ pow_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::pow_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 243 of file exprtk_mpfr_adaptor.hpp.

244 {
245 return mpfr::pow(v0,v1);
246 }

◆ pow_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::pow_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 238 of file exprtk_complex_adaptor.hpp.

239 {
240 return cmplx::pow(v0,v1);
241 }
complex_t pow(const complex_t v0, const complex_t v1)

References cmplx::pow().

Here is the call graph for this function:

◆ pow_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::pow_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1007 of file exprtk.hpp.

1008 {
1009 return std::pow(static_cast<double>(v0),static_cast<double>(v1));
1010 }

◆ pow_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::pow_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 218 of file exprtk_real_adaptor.hpp.

219 {
220 return real::pow(v0,v1);
221 }
type pow(const type v0, const type v1)

References real::pow().

Here is the call graph for this function:

◆ pow_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::pow_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1001 of file exprtk.hpp.

1002 {
1003 return std::pow(v0,v1);
1004 }

◆ process_impl() [1/3]

template<typename T >
T exprtk::details::numeric::details::process_impl ( const operator_type  operation,
const T  arg 
)
inlineprivate

Definition at line 5374 of file exprtk.hpp.

5375 {
5376 switch (operation)
5377 {
5378 case e_abs : return numeric::abs (arg);
5379 case e_acos : return numeric::acos (arg);
5380 case e_acosh : return numeric::acosh(arg);
5381 case e_asin : return numeric::asin (arg);
5382 case e_asinh : return numeric::asinh(arg);
5383 case e_atan : return numeric::atan (arg);
5384 case e_atanh : return numeric::atanh(arg);
5385 case e_ceil : return numeric::ceil (arg);
5386 case e_cos : return numeric::cos (arg);
5387 case e_cosh : return numeric::cosh (arg);
5388 case e_exp : return numeric::exp (arg);
5389 case e_expm1 : return numeric::expm1(arg);
5390 case e_floor : return numeric::floor(arg);
5391 case e_log : return numeric::log (arg);
5392 case e_log10 : return numeric::log10(arg);
5393 case e_log2 : return numeric::log2 (arg);
5394 case e_log1p : return numeric::log1p(arg);
5395 case e_neg : return numeric::neg (arg);
5396 case e_pos : return numeric::pos (arg);
5397 case e_round : return numeric::round(arg);
5398 case e_sin : return numeric::sin (arg);
5399 case e_sinc : return numeric::sinc (arg);
5400 case e_sinh : return numeric::sinh (arg);
5401 case e_sqrt : return numeric::sqrt (arg);
5402 case e_tan : return numeric::tan (arg);
5403 case e_tanh : return numeric::tanh (arg);
5404 case e_cot : return numeric::cot (arg);
5405 case e_sec : return numeric::sec (arg);
5406 case e_csc : return numeric::csc (arg);
5407 case e_r2d : return numeric::r2d (arg);
5408 case e_d2r : return numeric::d2r (arg);
5409 case e_d2g : return numeric::d2g (arg);
5410 case e_g2d : return numeric::g2d (arg);
5411 case e_notl : return numeric::notl (arg);
5412 case e_sgn : return numeric::sgn (arg);
5413 case e_erf : return numeric::erf (arg);
5414 case e_erfc : return numeric::erfc (arg);
5415 case e_ncdf : return numeric::ncdf (arg);
5416 case e_frac : return numeric::frac (arg);
5417 case e_trunc : return numeric::trunc(arg);
5418
5419 default : exprtk_debug(("numeric::details::process_impl<T> - Invalid unary operation.\n"));
5420 return std::numeric_limits<T>::quiet_NaN();
5421 }
5422 }
#define exprtk_debug(params)
Definition exprtk.hpp:64

References exprtk::details::numeric::abs(), exprtk::details::numeric::acos(), exprtk::details::numeric::acosh(), exprtk::details::numeric::asin(), exprtk::details::numeric::asinh(), exprtk::details::numeric::atan(), exprtk::details::numeric::atanh(), exprtk::details::numeric::ceil(), exprtk::details::numeric::cos(), exprtk::details::numeric::cosh(), exprtk::details::numeric::cot(), exprtk::details::numeric::csc(), exprtk::details::numeric::d2g(), exprtk::details::numeric::d2r(), exprtk::details::e_abs, exprtk::details::e_acos, exprtk::details::e_acosh, exprtk::details::e_asin, exprtk::details::e_asinh, exprtk::details::e_atan, exprtk::details::e_atanh, exprtk::details::e_ceil, exprtk::details::e_cos, exprtk::details::e_cosh, exprtk::details::e_cot, exprtk::details::e_csc, exprtk::details::e_d2g, exprtk::details::e_d2r, exprtk::details::e_erf, exprtk::details::e_erfc, exprtk::details::e_exp, exprtk::details::e_expm1, exprtk::details::e_floor, exprtk::details::e_frac, exprtk::details::e_g2d, exprtk::details::e_log, exprtk::details::e_log10, exprtk::details::e_log1p, exprtk::details::e_log2, exprtk::details::e_ncdf, exprtk::details::e_neg, exprtk::details::e_notl, exprtk::details::e_pos, exprtk::details::e_r2d, exprtk::details::e_round, exprtk::details::e_sec, exprtk::details::e_sgn, exprtk::details::e_sin, exprtk::details::e_sinc, exprtk::details::e_sinh, exprtk::details::e_sqrt, exprtk::details::e_tan, exprtk::details::e_tanh, exprtk::details::e_trunc, exprtk::details::numeric::erf(), exprtk::details::numeric::erfc(), exprtk::details::numeric::exp(), exprtk::details::numeric::expm1(), exprtk_debug, exprtk::details::numeric::floor(), exprtk::details::numeric::frac(), exprtk::details::numeric::g2d(), exprtk::details::numeric::log(), exprtk::details::numeric::log10(), exprtk::details::numeric::log1p(), exprtk::details::numeric::log2(), exprtk::details::match_impl(), exprtk::details::numeric::ncdf(), exprtk::details::numeric::neg(), exprtk::details::numeric::notl(), exprtk::details::numeric::pos(), exprtk::details::numeric::r2d(), exprtk::details::numeric::round(), exprtk::details::numeric::sec(), exprtk::details::numeric::sgn(), exprtk::details::numeric::sin(), exprtk::details::numeric::sinc(), exprtk::details::numeric::sinh(), exprtk::details::numeric::sqrt(), exprtk::details::numeric::tan(), exprtk::details::numeric::tanh(), and exprtk::details::numeric::trunc().

Referenced by exprtk::details::numeric::process(), and exprtk::details::numeric::process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_impl() [2/3]

template<typename T >
T exprtk::details::numeric::details::process_impl ( const operator_type  operation,
const T  arg0,
const T  arg1 
)
inlineprivate

Definition at line 5425 of file exprtk.hpp.

5426 {
5427 switch (operation)
5428 {
5429 case e_add : return (arg0 + arg1);
5430 case e_sub : return (arg0 - arg1);
5431 case e_mul : return (arg0 * arg1);
5432 case e_div : return (arg0 / arg1);
5433 case e_mod : return modulus<T>(arg0,arg1);
5434 case e_pow : return pow<T>(arg0,arg1);
5435 case e_atan2 : return atan2<T>(arg0,arg1);
5436 case e_min : return std::min<T>(arg0,arg1);
5437 case e_max : return std::max<T>(arg0,arg1);
5438 case e_logn : return logn<T>(arg0,arg1);
5439 case e_lt : return (arg0 < arg1) ? T(1) : T(0);
5440 case e_lte : return (arg0 <= arg1) ? T(1) : T(0);
5441 case e_eq : return std::equal_to<T>()(arg0,arg1) ? T(1) : T(0);
5442 case e_ne : return std::not_equal_to<T>()(arg0,arg1) ? T(1) : T(0);
5443 case e_gte : return (arg0 >= arg1) ? T(1) : T(0);
5444 case e_gt : return (arg0 > arg1) ? T(1) : T(0);
5445 case e_and : return and_opr <T>(arg0,arg1);
5446 case e_nand : return nand_opr<T>(arg0,arg1);
5447 case e_or : return or_opr <T>(arg0,arg1);
5448 case e_nor : return nor_opr <T>(arg0,arg1);
5449 case e_xor : return xor_opr <T>(arg0,arg1);
5450 case e_xnor : return xnor_opr<T>(arg0,arg1);
5451 case e_root : return root <T>(arg0,arg1);
5452 case e_roundn : return roundn <T>(arg0,arg1);
5453 case e_equal : return equal <T>(arg0,arg1);
5454 case e_nequal : return nequal <T>(arg0,arg1);
5455 case e_hypot : return hypot <T>(arg0,arg1);
5456 case e_shr : return shr <T>(arg0,arg1);
5457 case e_shl : return shl <T>(arg0,arg1);
5458
5459 default : exprtk_debug(("numeric::details::process_impl<T> - Invalid binary operation.\n"));
5460 return std::numeric_limits<T>::quiet_NaN();
5461 }
5462 }

References exprtk::details::e_add, exprtk::details::e_and, exprtk::details::e_atan2, exprtk::details::e_div, exprtk::details::e_eq, exprtk::details::e_equal, exprtk::details::e_gt, exprtk::details::e_gte, exprtk::details::e_hypot, exprtk::details::e_logn, exprtk::details::e_lt, exprtk::details::e_lte, exprtk::details::e_max, exprtk::details::e_min, exprtk::details::e_mod, exprtk::details::e_mul, exprtk::details::e_nand, exprtk::details::e_ne, exprtk::details::e_nequal, exprtk::details::e_nor, exprtk::details::e_or, exprtk::details::e_pow, exprtk::details::e_root, exprtk::details::e_roundn, exprtk::details::e_shl, exprtk::details::e_shr, exprtk::details::e_sub, exprtk::details::e_xnor, exprtk::details::e_xor, exprtk_debug, and exprtk::details::match_impl().

Here is the call graph for this function:

◆ process_impl() [3/3]

template<typename T >
T exprtk::details::numeric::details::process_impl ( const operator_type  operation,
const T  arg0,
const T  arg1,
int_type_tag   
)
inlineprivate

Definition at line 5465 of file exprtk.hpp.

5466 {
5467 switch (operation)
5468 {
5469 case e_add : return (arg0 + arg1);
5470 case e_sub : return (arg0 - arg1);
5471 case e_mul : return (arg0 * arg1);
5472 case e_div : return (arg0 / arg1);
5473 case e_mod : return arg0 % arg1;
5474 case e_pow : return pow<T>(arg0,arg1);
5475 case e_min : return std::min<T>(arg0,arg1);
5476 case e_max : return std::max<T>(arg0,arg1);
5477 case e_logn : return logn<T>(arg0,arg1);
5478 case e_lt : return (arg0 < arg1) ? T(1) : T(0);
5479 case e_lte : return (arg0 <= arg1) ? T(1) : T(0);
5480 case e_eq : return (arg0 == arg1) ? T(1) : T(0);
5481 case e_ne : return (arg0 != arg1) ? T(1) : T(0);
5482 case e_gte : return (arg0 >= arg1) ? T(1) : T(0);
5483 case e_gt : return (arg0 > arg1) ? T(1) : T(0);
5484 case e_and : return ((arg0 != T(0)) && (arg1 != T(0))) ? T(1) : T(0);
5485 case e_nand : return ((arg0 != T(0)) && (arg1 != T(0))) ? T(0) : T(1);
5486 case e_or : return ((arg0 != T(0)) || (arg1 != T(0))) ? T(1) : T(0);
5487 case e_nor : return ((arg0 != T(0)) || (arg1 != T(0))) ? T(0) : T(1);
5488 case e_xor : return arg0 ^ arg1;
5489 case e_xnor : return !(arg0 ^ arg1);
5490 case e_root : return root<T>(arg0,arg1);
5491 case e_equal : return arg0 == arg1;
5492 case e_nequal : return arg0 != arg1;
5493 case e_hypot : return hypot<T>(arg0,arg1);
5494 case e_shr : return arg0 >> arg1;
5495 case e_shl : return arg0 << arg1;
5496
5497 default : exprtk_debug(("numeric::details::process_impl<IntType> - Invalid binary operation.\n"));
5498 return std::numeric_limits<T>::quiet_NaN();
5499 }
5500 }

References exprtk::details::e_add, exprtk::details::e_and, exprtk::details::e_div, exprtk::details::e_eq, exprtk::details::e_equal, exprtk::details::e_gt, exprtk::details::e_gte, exprtk::details::e_hypot, exprtk::details::e_logn, exprtk::details::e_lt, exprtk::details::e_lte, exprtk::details::e_max, exprtk::details::e_min, exprtk::details::e_mod, exprtk::details::e_mul, exprtk::details::e_nand, exprtk::details::e_ne, exprtk::details::e_nequal, exprtk::details::e_nor, exprtk::details::e_or, exprtk::details::e_pow, exprtk::details::e_root, exprtk::details::e_shl, exprtk::details::e_shr, exprtk::details::e_sub, exprtk::details::e_xnor, exprtk::details::e_xor, exprtk_debug, and exprtk::details::match_impl().

Here is the call graph for this function:

◆ r2d_impl() [1/4]

template<typename T >
T exprtk::details::numeric::details::r2d_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 154 of file exprtk_mpfr_adaptor.hpp.

static const mpfr::mpreal _180_pi

References exprtk::details::constant::_180_pi.

◆ r2d_impl() [2/4]

template<typename T >
T exprtk::details::numeric::details::r2d_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 113 of file exprtk_complex_adaptor.hpp.

113{ return (v * cmplx::complex_t(constant::_180_pi)); }

References exprtk::details::numeric::constant::_180_pi.

◆ r2d_impl() [3/4]

template<typename T >
T exprtk::details::numeric::details::r2d_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 113 of file exprtk_real_adaptor.hpp.

113{ return real::r2d (v); }
type r2d(const type v)

References real::r2d().

Here is the call graph for this function:

◆ r2d_impl() [4/4]

template<typename T >
T exprtk::details::numeric::details::r2d_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1400 of file exprtk.hpp.

1400{ return (v * T(numeric::constant::_180_pi)); }

References exprtk::details::numeric::constant::_180_pi, and exprtk::details::match_impl().

Here is the call graph for this function:

◆ root_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::root_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 312 of file exprtk_mpfr_adaptor.hpp.

313 {
314 return mpfr::pow(v0,T(1) / v1);
315 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ root_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::root_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 307 of file exprtk_complex_adaptor.hpp.

308 {
309 return pow(v0,T(1) / v1);
310 }

References exprtk::details::match_impl(), and exprtk::details::numeric::pow().

Here is the call graph for this function:

◆ root_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::root_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1066 of file exprtk.hpp.

1067 {
1068 return root_impl<double>(static_cast<double>(v0),static_cast<double>(v1),real_type_tag());
1069 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ root_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::root_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 287 of file exprtk_real_adaptor.hpp.

288 {
289 return pow(v0,T(1) / v1);
290 }

References exprtk::details::match_impl(), and exprtk::details::numeric::pow().

Here is the call graph for this function:

◆ root_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::root_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1052 of file exprtk.hpp.

1053 {
1054 if (v1 < T(0))
1055 return std::numeric_limits<T>::quiet_NaN();
1056
1057 const std::size_t n = static_cast<std::size_t>(v1);
1058
1059 if ((v0 < T(0)) && (0 == (n % 2)))
1060 return std::numeric_limits<T>::quiet_NaN();
1061
1062 return std::pow(v0, T(1) / n);
1063 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ round_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::round_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 290 of file exprtk_mpfr_adaptor.hpp.

291 {
292 return mpfr::round(v);
293 }

◆ round_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::round_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 284 of file exprtk_complex_adaptor.hpp.

285 {
286 return ((v < T(0)) ? ceil(v - T(0.5)) : floor(v + T(0.5)));
287 }

References exprtk::details::numeric::ceil(), exprtk::details::numeric::floor(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ round_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::round_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1421 of file exprtk.hpp.

1421{ return v; }

◆ round_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::round_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 264 of file exprtk_real_adaptor.hpp.

265 {
266 return ((v < T(0)) ? ceil(v - T(0.5)) : floor(v + T(0.5)));
267 }

References exprtk::details::numeric::ceil(), exprtk::details::numeric::floor(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ round_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::round_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1072 of file exprtk.hpp.

1073 {
1074 return ((v < T(0)) ? std::ceil(v - T(0.5)) : std::floor(v + T(0.5)));
1075 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ roundn_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::roundn_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 296 of file exprtk_mpfr_adaptor.hpp.

297 {
298 const T p10 = mpfr::pow(T(10),mpfr::floor(v1));
299 if (v0 < T(0))
300 return T(mpfr::ceil ((v0 * p10) - T(0.5)) / p10);
301 else
302 return T(mpfr::floor((v0 * p10) + T(0.5)) / p10);
303 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ roundn_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::roundn_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 290 of file exprtk_complex_adaptor.hpp.

291 {
292 const int index = std::max<int>(0, std::min<int>(pow10_size - 1, (int)floor(v1)));
293 const T p10 = T(pow10[index]);
294 if (v0 < T(0))
295 return T(ceil ((v0 * p10) - T(0.5)) / p10);
296 else
297 return T(floor((v0 * p10) + T(0.5)) / p10);
298 }

References exprtk::details::numeric::ceil(), exprtk::details::numeric::floor(), exprtk::details::match_impl(), exprtk::details::pow10, and exprtk::details::pow10_size.

Here is the call graph for this function:

◆ roundn_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::roundn_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 270 of file exprtk_real_adaptor.hpp.

271 {
272 const int index = std::max<int>(0, std::min<int>(pow10_size - 1, static_cast<int>(floor(v1))));
273 const T p10 = T(pow10[index]);
274 if (v0 < T(0))
275 return T(ceil ((v0 * p10) - T(0.5)) / p10);
276 else
277 return T(floor((v0 * p10) + T(0.5)) / p10);
278 }

References exprtk::details::numeric::ceil(), exprtk::details::numeric::floor(), exprtk::details::match_impl(), exprtk::details::pow10, and exprtk::details::pow10_size.

Here is the call graph for this function:

◆ roundn_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::roundn_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1078 of file exprtk.hpp.

1079 {
1080 const int index = std::max<int>(0, std::min<int>(pow10_size - 1, static_cast<int>(std::floor(v1))));
1081 const T p10 = T(pow10[index]);
1082
1083 if (v0 < T(0))
1084 return T(std::ceil ((v0 * p10) - T(0.5)) / p10);
1085 else
1086 return T(std::floor((v0 * p10) + T(0.5)) / p10);
1087 }

References exprtk::details::match_impl(), exprtk::details::pow10, and exprtk::details::pow10_size.

Here is the call graph for this function:

◆ roundn_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::roundn_impl ( const T  v0,
const T  ,
int_type_tag   
)
inline

Definition at line 1090 of file exprtk.hpp.

1091 {
1092 return v0;
1093 }

◆ sec_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::sec_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 152 of file exprtk_mpfr_adaptor.hpp.

152{ return mpfr::sec (v); }

◆ sec_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::sec_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 111 of file exprtk_complex_adaptor.hpp.

111{ return cmplx::complex_t(1) / cmplx::cos(v); }

References cmplx::cos().

Here is the call graph for this function:

◆ sec_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::sec_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 111 of file exprtk_real_adaptor.hpp.

111{ return real::sec (v); }
type sec(const type v)

References real::sec().

Here is the call graph for this function:

◆ sec_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::sec_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1398 of file exprtk.hpp.

1398{ return T(1) / std::cos(v); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ sec_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::sec_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1439 of file exprtk.hpp.

1439{ return std::numeric_limits<T>::quiet_NaN(); }

◆ sgn_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::sgn_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 204 of file exprtk_mpfr_adaptor.hpp.

205 {
206 if (v > T(0)) return T(+1);
207 else if (v < T(0)) return T(-1);
208 else return T( 0);
209 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ sgn_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::sgn_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 170 of file exprtk_complex_adaptor.hpp.

171 {
172 if (v > T(0)) return T(+1);
173 else if (v < T(0)) return T(-1);
174 else return T( 0);
175 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ sgn_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::sgn_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1152 of file exprtk.hpp.

1153 {
1154 if (v > T(0)) return T(+1);
1155 else if (v < T(0)) return T(-1);
1156 else return T( 0);
1157 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ sgn_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::sgn_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 170 of file exprtk_real_adaptor.hpp.

171 {
172 if (v > T(0)) return T(+1);
173 else if (v < T(0)) return T(-1);
174 else return T( 0);
175 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ sgn_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::sgn_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1144 of file exprtk.hpp.

1145 {
1146 if (v > T(0)) return T(+1);
1147 else if (v < T(0)) return T(-1);
1148 else return T( 0);
1149 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ shl_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::shl_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 336 of file exprtk_mpfr_adaptor.hpp.

337 {
338 return v0 * mpfr::pow(T(2.0),v1);
339 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ shl_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::shl_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 331 of file exprtk_complex_adaptor.hpp.

332 {
333 return v0 * pow(T(2),v1);
334 }

References exprtk::details::match_impl(), and exprtk::details::numeric::pow().

Here is the call graph for this function:

◆ shl_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::shl_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1138 of file exprtk.hpp.

1139 {
1140 return v0 << v1;
1141 }

◆ shl_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::shl_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 311 of file exprtk_real_adaptor.hpp.

312 {
313 return v0 * pow(T(2),v1);
314 }

References exprtk::details::match_impl(), and exprtk::details::numeric::pow().

Here is the call graph for this function:

◆ shl_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::shl_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1132 of file exprtk.hpp.

1133 {
1134 return v0 * std::pow(T(2),static_cast<T>(static_cast<int>(v1)));
1135 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ shr_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::shr_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 330 of file exprtk_mpfr_adaptor.hpp.

331 {
332 return v0 * (T(1) / mpfr::pow(T(2.0),v1));
333 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ shr_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::shr_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 325 of file exprtk_complex_adaptor.hpp.

326 {
327 return v0 * (T(1) / pow(T(2),v1));
328 }

References exprtk::details::match_impl(), and exprtk::details::numeric::pow().

Here is the call graph for this function:

◆ shr_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::shr_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1126 of file exprtk.hpp.

1127 {
1128 return v0 >> v1;
1129 }

◆ shr_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::shr_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 305 of file exprtk_real_adaptor.hpp.

306 {
307 return v0 * (T(1) / pow(T(2),v1));
308 }

References exprtk::details::match_impl(), and exprtk::details::numeric::pow().

Here is the call graph for this function:

◆ shr_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::shr_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1120 of file exprtk.hpp.

1121 {
1122 return v0 * (T(1) / std::pow(T(2),static_cast<T>(static_cast<int>(v1))));
1123 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ sin_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::sin_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 146 of file exprtk_mpfr_adaptor.hpp.

146{ return mpfr::sin (v); }

◆ sin_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::sin_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 105 of file exprtk_complex_adaptor.hpp.

105{ return cmplx::sin (v); }

References cmplx::sin().

Here is the call graph for this function:

◆ sin_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::sin_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 105 of file exprtk_real_adaptor.hpp.

105{ return real::sin (v); }
type sin(const type v)

References real::sin().

Here is the call graph for this function:

◆ sin_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::sin_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1392 of file exprtk.hpp.

1392{ return std::sin (v); }

Referenced by sinc_impl(), and sinc_impl().

Here is the caller graph for this function:

◆ sin_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::sin_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1434 of file exprtk.hpp.

1434{ return std::numeric_limits<T>::quiet_NaN(); }

◆ sinc_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::sinc_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 255 of file exprtk_mpfr_adaptor.hpp.

256 {
257 if (mpfr::abs(v) >= epsilon_type<mpfr::mpreal>::value())
258 return(mpfr::sin(v) / v);
259 else
260 return T(1);
261 }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ sinc_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::sinc_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1336 of file exprtk.hpp.

1337 {
1338 return sinc_impl(static_cast<double>(v),real_type_tag());
1339 }
T sinc_impl(const T v, real_type_tag)
Definition exprtk.hpp:1327

References sinc_impl().

Here is the call graph for this function:

◆ sinc_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::sinc_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1327 of file exprtk.hpp.

1328 {
1329 if (std::abs(v) >= std::numeric_limits<T>::epsilon())
1330 return(std::sin(v) / v);
1331 else
1332 return T(1);
1333 }

References exprtk::details::match_impl().

Referenced by sinc_impl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sinc_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::sinc_impl ( T  v,
complex_type_tag   
)
inline

Definition at line 250 of file exprtk_complex_adaptor.hpp.

251 {
252 if (abs_impl(v,complex_type_tag()) >= std::numeric_limits<T>::epsilon())
253 return(sin_impl(v,complex_type_tag()) / v);
254 else
255 return T(1);
256 }
T sin_impl(const T v, real_type_tag)
Definition exprtk.hpp:1392

References abs_impl(), exprtk::details::match_impl(), and sin_impl().

Here is the call graph for this function:

◆ sinc_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::sinc_impl ( T  v,
my_real_type_tag   
)
inline

Definition at line 230 of file exprtk_real_adaptor.hpp.

231 {
232 if (abs_impl(v,my_real_type_tag()) >= std::numeric_limits<T>::epsilon())
233 return(sin_impl(v,my_real_type_tag()) / v);
234 else
235 return T(1);
236 }

References abs_impl(), exprtk::details::match_impl(), and sin_impl().

Here is the call graph for this function:

◆ sinh_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::sinh_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 147 of file exprtk_mpfr_adaptor.hpp.

147{ return mpfr::sinh (v); }

◆ sinh_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::sinh_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 106 of file exprtk_complex_adaptor.hpp.

106{ return cmplx::sinh (v); }
complex_t sinh(const complex_t v)

References cmplx::sinh().

Here is the call graph for this function:

◆ sinh_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::sinh_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 106 of file exprtk_real_adaptor.hpp.

106{ return real::sinh (v); }
type sinh(const type v)

References real::sinh().

Here is the call graph for this function:

◆ sinh_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::sinh_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1393 of file exprtk.hpp.

1393{ return std::sinh (v); }

◆ sinh_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::sinh_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1435 of file exprtk.hpp.

1435{ return std::numeric_limits<T>::quiet_NaN(); }

◆ sqrt_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::sqrt_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 148 of file exprtk_mpfr_adaptor.hpp.

148{ return mpfr::sqrt (v); }

◆ sqrt_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::sqrt_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 107 of file exprtk_complex_adaptor.hpp.

107{ return cmplx::sqrt (v); }

References cmplx::sqrt().

Here is the call graph for this function:

◆ sqrt_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::sqrt_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1423 of file exprtk.hpp.

1423{ return std::sqrt (v); }

◆ sqrt_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::sqrt_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 107 of file exprtk_real_adaptor.hpp.

107{ return real::sqrt (v); }
type sqrt(const type v)

References real::sqrt().

Here is the call graph for this function:

◆ sqrt_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::sqrt_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1394 of file exprtk.hpp.

1394{ return std::sqrt (v); }

◆ tan_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::tan_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 149 of file exprtk_mpfr_adaptor.hpp.

149{ return mpfr::tan (v); }

◆ tan_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::tan_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 108 of file exprtk_complex_adaptor.hpp.

108{ return cmplx::tan (v); }

References cmplx::tan().

Here is the call graph for this function:

◆ tan_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::tan_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 108 of file exprtk_real_adaptor.hpp.

108{ return real::tan (v); }
type tan(const type v)

References real::tan().

Here is the call graph for this function:

◆ tan_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::tan_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1395 of file exprtk.hpp.

1395{ return std::tan (v); }

◆ tan_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::tan_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1436 of file exprtk.hpp.

1436{ return std::numeric_limits<T>::quiet_NaN(); }

◆ tanh_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::tanh_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 150 of file exprtk_mpfr_adaptor.hpp.

150{ return mpfr::tanh (v); }

◆ tanh_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::tanh_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 109 of file exprtk_complex_adaptor.hpp.

109{ return cmplx::tanh (v); }
complex_t tanh(const complex_t v)

References cmplx::tanh().

Here is the call graph for this function:

◆ tanh_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::tanh_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 109 of file exprtk_real_adaptor.hpp.

109{ return real::tanh (v); }
type tanh(const type v)

References real::tanh().

Here is the call graph for this function:

◆ tanh_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::tanh_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1396 of file exprtk.hpp.

1396{ return std::tanh (v); }

◆ tanh_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::tanh_impl ( const T  ,
int_type_tag   
)
inline

Definition at line 1437 of file exprtk.hpp.

1437{ return std::numeric_limits<T>::quiet_NaN(); }

◆ to_int32_impl() [1/4]

template<typename T >
int exprtk::details::numeric::details::to_int32_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 112 of file exprtk_mpfr_adaptor.hpp.

113 {
114 return static_cast<int>(v.toLong());
115 }

◆ to_int32_impl() [2/4]

template<typename T >
int exprtk::details::numeric::details::to_int32_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 125 of file exprtk_complex_adaptor.hpp.

126 {
127 return static_cast<int>(v);
128 }

◆ to_int32_impl() [3/4]

template<typename T >
int exprtk::details::numeric::details::to_int32_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 125 of file exprtk_real_adaptor.hpp.

126 {
127 return static_cast<int>(v);
128 }

◆ to_int32_impl() [4/4]

template<typename T >
int exprtk::details::numeric::details::to_int32_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 885 of file exprtk.hpp.

886 {
887 return static_cast<int>(v);
888 }

◆ to_int64_impl() [1/4]

template<typename T >
long long exprtk::details::numeric::details::to_int64_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 118 of file exprtk_mpfr_adaptor.hpp.

119 {
120 return static_cast<long long int>(v.toLLong());
121 }

◆ to_int64_impl() [2/4]

template<typename T >
long long exprtk::details::numeric::details::to_int64_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 131 of file exprtk_complex_adaptor.hpp.

132 {
133 return static_cast<long long int>(v);
134 }

◆ to_int64_impl() [3/4]

template<typename T >
long long exprtk::details::numeric::details::to_int64_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 131 of file exprtk_real_adaptor.hpp.

132 {
133 return static_cast<long long int>(v);
134 }

◆ to_int64_impl() [4/4]

template<typename T >
_int64_t exprtk::details::numeric::details::to_int64_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 891 of file exprtk.hpp.

892 {
893 return static_cast<_int64_t>(v);
894 }
long long int _int64_t
Definition exprtk.hpp:101

◆ to_uint64_impl() [1/4]

template<typename T >
long long exprtk::details::numeric::details::to_uint64_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 124 of file exprtk_mpfr_adaptor.hpp.

125 {
126 return static_cast<long long int>(v.toULLong());
127 }

◆ to_uint64_impl() [2/4]

template<typename T >
unsigned long long exprtk::details::numeric::details::to_uint64_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 137 of file exprtk_complex_adaptor.hpp.

138 {
139 return static_cast<unsigned long long int>(v);
140 }

◆ to_uint64_impl() [3/4]

template<typename T >
unsigned long long exprtk::details::numeric::details::to_uint64_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 137 of file exprtk_real_adaptor.hpp.

138 {
139 return static_cast<unsigned long long int>(v);
140 }

◆ to_uint64_impl() [4/4]

template<typename T >
_uint64_t exprtk::details::numeric::details::to_uint64_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 897 of file exprtk.hpp.

898 {
899 return static_cast<_uint64_t>(v);
900 }
unsigned long long int _uint64_t
Definition exprtk.hpp:100

◆ trunc_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::trunc_impl ( const T v,
mpfrreal_type_tag   
)
inline

Definition at line 160 of file exprtk_mpfr_adaptor.hpp.

160{ return mpfr::trunc(v); }

◆ trunc_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::trunc_impl ( const T  v,
complex_type_tag   
)
inline

Definition at line 119 of file exprtk_complex_adaptor.hpp.

119{ return cmplx::trunc(v); }
complex_t trunc(const complex_t v)

References cmplx::trunc().

Here is the call graph for this function:

◆ trunc_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::trunc_impl ( const T  v,
int_type_tag   
)
inline

Definition at line 1425 of file exprtk.hpp.

1425{ return v; }

◆ trunc_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::trunc_impl ( const T  v,
my_real_type_tag   
)
inline

Definition at line 119 of file exprtk_real_adaptor.hpp.

119{ return real::trunc(v); }
type trunc(const type v)

References real::trunc().

Here is the call graph for this function:

◆ trunc_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::trunc_impl ( const T  v,
real_type_tag   
)
inline

Definition at line 1406 of file exprtk.hpp.

1406{ return T(static_cast<long long>(v)); }

References exprtk::details::match_impl().

Here is the call graph for this function:

◆ xnor_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::xnor_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 270 of file exprtk_mpfr_adaptor.hpp.

271 {
272 const bool v0_true = is_true_impl(v0);
273 const bool v1_true = is_true_impl(v1);
274 if ((v0_true && v1_true) || (!v0_true && !v1_true))
275 return T(1);
276 else
277 return T(0);
278 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xnor_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::xnor_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 265 of file exprtk_complex_adaptor.hpp.

266 {
267 const bool v0_true = is_true_impl(v0);
268 const bool v1_true = is_true_impl(v1);
269 if ((v0_true && v1_true) || (!v0_true && !v1_true))
270 return T(1);
271 else
272 return T(0);
273 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xnor_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::xnor_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1232 of file exprtk.hpp.

1233 {
1234 const bool v0_true = is_true_impl(v0);
1235 const bool v1_true = is_true_impl(v1);
1236
1237 if ((v0_true && v1_true) || (!v0_true && !v1_true))
1238 return T(1);
1239 else
1240 return T(0);
1241 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xnor_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::xnor_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 245 of file exprtk_real_adaptor.hpp.

246 {
247 const bool v0_true = is_true_impl(v0);
248 const bool v1_true = is_true_impl(v1);
249 if ((v0_true && v1_true) || (!v0_true && !v1_true))
250 return T(1);
251 else
252 return T(0);
253 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xnor_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::xnor_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1220 of file exprtk.hpp.

1221 {
1222 const bool v0_true = is_true_impl(v0);
1223 const bool v1_true = is_true_impl(v1);
1224
1225 if ((v0_true && v1_true) || (!v0_true && !v1_true))
1226 return T(1);
1227 else
1228 return T(0);
1229 }

References is_true_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xor_impl() [1/5]

template<typename T >
T exprtk::details::numeric::details::xor_impl ( const T v0,
const T v1,
mpfrreal_type_tag   
)
inline

Definition at line 264 of file exprtk_mpfr_adaptor.hpp.

265 {
266 return (is_false_impl(v0) != is_false_impl(v1)) ? T(1) : T(0);
267 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xor_impl() [2/5]

template<typename T >
T exprtk::details::numeric::details::xor_impl ( const T  v0,
const T  v1,
complex_type_tag   
)
inline

Definition at line 259 of file exprtk_complex_adaptor.hpp.

260 {
261 return (is_false_impl(v0) != is_false_impl(v1)) ? T(1) : T(0);
262 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xor_impl() [3/5]

template<typename T >
T exprtk::details::numeric::details::xor_impl ( const T  v0,
const T  v1,
int_type_tag   
)
inline

Definition at line 1214 of file exprtk.hpp.

1215 {
1216 return v0 ^ v1;
1217 }

◆ xor_impl() [4/5]

template<typename T >
T exprtk::details::numeric::details::xor_impl ( const T  v0,
const T  v1,
my_real_type_tag   
)
inline

Definition at line 239 of file exprtk_real_adaptor.hpp.

240 {
241 return (is_false_impl(v0) != is_false_impl(v1)) ? T(1) : T(0);
242 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function:

◆ xor_impl() [5/5]

template<typename T >
T exprtk::details::numeric::details::xor_impl ( const T  v0,
const T  v1,
real_type_tag   
)
inline

Definition at line 1208 of file exprtk.hpp.

1209 {
1210 return (is_false_impl(v0) != is_false_impl(v1)) ? T(1) : T(0);
1211 }

References is_false_impl(), and exprtk::details::match_impl().

Here is the call graph for this function: