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

Namespaces

namespace  constant
 
namespace  details
 

Classes

struct  fast_exp
 
struct  fast_exp< T, 0 >
 
struct  fast_exp< T, 1 >
 
struct  fast_exp< T, 10 >
 
struct  fast_exp< T, 2 >
 
struct  fast_exp< T, 3 >
 
struct  fast_exp< T, 4 >
 
struct  fast_exp< T, 5 >
 
struct  fast_exp< T, 6 >
 
struct  fast_exp< T, 7 >
 
struct  fast_exp< T, 8 >
 
struct  fast_exp< T, 9 >
 
struct  numeric_info
 
struct  numeric_info< double >
 
struct  numeric_info< float >
 
struct  numeric_info< int >
 
struct  numeric_info< long double >
 

Functions

template<typename T >
int to_int32 (const T v)
 
template<typename T >
_int64_t to_int64 (const T v)
 
template<typename T >
_uint64_t to_uint64 (const T v)
 
template<typename T >
bool is_nan (const T v)
 
template<typename T >
T min (const T v0, const T v1)
 
template<typename T >
T max (const T v0, const T v1)
 
template<typename T >
T equal (const T v0, const T v1)
 
template<typename T >
T nequal (const T v0, const T v1)
 
template<typename T >
T modulus (const T v0, const T v1)
 
template<typename T >
T pow (const T v0, const T v1)
 
template<typename T >
T logn (const T v0, const T v1)
 
template<typename T >
T root (const T v0, const T v1)
 
template<typename T >
T roundn (const T v0, const T v1)
 
template<typename T >
T hypot (const T v0, const T v1)
 
template<typename T >
T atan2 (const T v0, const T v1)
 
template<typename T >
T shr (const T v0, const T v1)
 
template<typename T >
T shl (const T v0, const T v1)
 
template<typename T >
T and_opr (const T v0, const T v1)
 
template<typename T >
T nand_opr (const T v0, const T v1)
 
template<typename T >
T or_opr (const T v0, const T v1)
 
template<typename T >
T nor_opr (const T v0, const T v1)
 
template<typename T >
T xor_opr (const T v0, const T v1)
 
template<typename T >
T xnor_opr (const T v0, const T v1)
 
template<typename T >
bool is_integer (const T v)
 
template<typename T >
T abs (const T v)
 
template<typename T >
T acos (const T v)
 
template<typename T >
T acosh (const T v)
 
template<typename T >
T asin (const T v)
 
template<typename T >
T asinh (const T v)
 
template<typename T >
T atan (const T v)
 
template<typename T >
T atanh (const T v)
 
template<typename T >
T ceil (const T v)
 
template<typename T >
T cos (const T v)
 
template<typename T >
T cosh (const T v)
 
template<typename T >
T exp (const T v)
 
template<typename T >
T expm1 (const T v)
 
template<typename T >
T floor (const T v)
 
template<typename T >
T log (const T v)
 
template<typename T >
T log10 (const T v)
 
template<typename T >
T log2 (const T v)
 
template<typename T >
T log1p (const T v)
 
template<typename T >
T neg (const T v)
 
template<typename T >
T pos (const T v)
 
template<typename T >
T round (const T v)
 
template<typename T >
T sin (const T v)
 
template<typename T >
T sinc (const T v)
 
template<typename T >
T sinh (const T v)
 
template<typename T >
T sqrt (const T v)
 
template<typename T >
T tan (const T v)
 
template<typename T >
T tanh (const T v)
 
template<typename T >
T cot (const T v)
 
template<typename T >
T sec (const T v)
 
template<typename T >
T csc (const T v)
 
template<typename T >
T r2d (const T v)
 
template<typename T >
T d2r (const T v)
 
template<typename T >
T d2g (const T v)
 
template<typename T >
T g2d (const T v)
 
template<typename T >
T notl (const T v)
 
template<typename T >
T sgn (const T v)
 
template<typename T >
T erf (const T v)
 
template<typename T >
T erfc (const T v)
 
template<typename T >
T ncdf (const T v)
 
template<typename T >
T frac (const T v)
 
template<typename T >
T trunc (const T v)
 
template<typename T >
T process (const operator_type operation, const T arg)
 
template<typename T >
T process (const operator_type operation, const T arg0, const T arg1)
 

Function Documentation

◆ abs()

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

◆ acos()

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

Definition at line 1676 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ acosh()

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

Definition at line 1677 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ and_opr()

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

Definition at line 1583 of file exprtk.hpp.

1584 {
1585 const typename details::number_type<T>::type num_type;
1586 return and_impl(v0, v1, num_type);
1587 }

◆ asin()

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

Definition at line 1678 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ asinh()

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

Definition at line 1679 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ atan()

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

Definition at line 1680 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ atan2()

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

Definition at line 1562 of file exprtk.hpp.

1563 {
1564 const typename details::number_type<T>::type num_type;
1565 return atan2_impl(v0, v1, num_type);
1566 }

◆ atanh()

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

Definition at line 1681 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ ceil()

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

Definition at line 1682 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl(), exprtk::details::numeric::details::round_impl(), exprtk::details::numeric::details::round_impl(), exprtk::details::numeric::details::roundn_impl(), and exprtk::details::numeric::details::roundn_impl().

Here is the caller graph for this function:

◆ cos()

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

Definition at line 1683 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ cosh()

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

Definition at line 1684 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ cot()

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

Definition at line 1701 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ csc()

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

Definition at line 1703 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ d2g()

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

Definition at line 1706 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ d2r()

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

Definition at line 1705 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ equal()

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

Definition at line 1506 of file exprtk.hpp.

1507 {
1508 const typename details::number_type<T>::type num_type;
1509 return equal_impl(v0, v1, num_type);
1510 }

Referenced by exprtk::details::equal_op< T >::process().

Here is the caller graph for this function:

◆ erf()

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

Definition at line 1710 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ erfc()

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

Definition at line 1711 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ exp()

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

Definition at line 1685 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::expm1_impl(), exprtk::details::numeric::details::expm1_impl(), and exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ expm1()

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

Definition at line 1686 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ floor()

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

Definition at line 1687 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl(), exprtk::details::numeric::details::round_impl(), exprtk::details::numeric::details::round_impl(), exprtk::details::numeric::details::roundn_impl(), and exprtk::details::numeric::details::roundn_impl().

Here is the caller graph for this function:

◆ frac()

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

Definition at line 1713 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ g2d()

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

Definition at line 1707 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ hypot()

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

Definition at line 1555 of file exprtk.hpp.

1556 {
1557 const typename details::number_type<T>::type num_type;
1558 return hypot_impl(v0, v1, num_type);
1559 }

◆ is_integer()

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

Definition at line 1625 of file exprtk.hpp.

1626 {
1627 const typename details::number_type<T>::type num_type;
1628 return is_integer_impl(v, num_type);
1629 }

Referenced by exprtk::parser< T >::expression_generator< Type >::cardinal_pow_optimisable(), exprtk::type_store< T >::scalar_view::to_int(), and exprtk::type_store< T >::scalar_view::to_uint().

Here is the caller graph for this function:

◆ is_nan()

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

Definition at line 1485 of file exprtk.hpp.

1486 {
1487 const typename details::number_type<T>::type num_type;
1488 return is_nan_impl(v, num_type);
1489 }

Referenced by exprtk::details::null_eq_node< T >::value().

Here is the caller graph for this function:

◆ log()

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

Definition at line 1688 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::atanh_impl(), exprtk::details::numeric::details::logn_impl(), exprtk::details::numeric::details::logn_impl(), and exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ log10()

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

Definition at line 1689 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ log1p()

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

Definition at line 1691 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ log2()

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

Definition at line 1690 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ logn()

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

Definition at line 1534 of file exprtk.hpp.

1535 {
1536 const typename details::number_type<T>::type num_type;
1537 return logn_impl(v0, v1, num_type);
1538 }

◆ max()

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

Definition at line 1499 of file exprtk.hpp.

1500 {
1501 const typename details::number_type<T>::type num_type;
1502 return max_impl(v0, v1, num_type);
1503 }

Referenced by exprtk::details::numeric::details::equal_impl(), exprtk::details::numeric::details::equal_impl(), and exprtk::details::numeric::details::max_impl().

Here is the caller graph for this function:

◆ min()

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

Definition at line 1492 of file exprtk.hpp.

1493 {
1494 const typename details::number_type<T>::type num_type;
1495 return min_impl(v0, v1, num_type);
1496 }

Referenced by exprtk::details::numeric::details::min_impl().

Here is the caller graph for this function:

◆ modulus()

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

Definition at line 1520 of file exprtk.hpp.

1521 {
1522 const typename details::number_type<T>::type num_type;
1523 return modulus_impl(v0, v1, num_type);
1524 }

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

Here is the caller graph for this function:

◆ nand_opr()

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

Definition at line 1590 of file exprtk.hpp.

1591 {
1592 const typename details::number_type<T>::type num_type;
1593 return nand_impl(v0, v1, num_type);
1594 }

◆ ncdf()

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

Definition at line 1712 of file exprtk.hpp.

Referenced by bsm_model(), call_bsm_model(), exprtk::details::numeric::details::process_impl(), and put_bsm_model().

Here is the caller graph for this function:

◆ neg()

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

Definition at line 1692 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ nequal()

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

Definition at line 1513 of file exprtk.hpp.

1514 {
1515 const typename details::number_type<T>::type num_type;
1516 return nequal_impl(v0, v1, num_type);
1517 }

◆ nor_opr()

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

Definition at line 1604 of file exprtk.hpp.

1605 {
1606 const typename details::number_type<T>::type num_type;
1607 return nor_impl(v0, v1, num_type);
1608 }

◆ notl()

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

Definition at line 1708 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ or_opr()

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

Definition at line 1597 of file exprtk.hpp.

1598 {
1599 const typename details::number_type<T>::type num_type;
1600 return or_impl(v0, v1, num_type);
1601 }

◆ pos()

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

Definition at line 1693 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ pow()

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

Definition at line 1527 of file exprtk.hpp.

1528 {
1529 const typename details::number_type<T>::type num_type;
1530 return pow_impl(v0, v1, num_type);
1531 }

Referenced by norm< T >::norm_impl(), norm< T >::norm_impl(), exprtk::details::numeric::details::root_impl(), exprtk::details::numeric::details::root_impl(), exprtk::details::numeric::details::shl_impl(), exprtk::details::numeric::details::shl_impl(), exprtk::details::numeric::details::shr_impl(), and exprtk::details::numeric::details::shr_impl().

Here is the caller graph for this function:

◆ process() [1/2]

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

Definition at line 5504 of file exprtk.hpp.

5505 {
5507 }
T process_impl(const operator_type operation, const T arg)
Definition exprtk.hpp:5374

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

Here is the call graph for this function:

◆ process() [2/2]

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

Definition at line 5510 of file exprtk.hpp.

5511 {
5512 return exprtk::details::numeric::details::process_impl(operation, arg0, arg1);
5513 }

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

Here is the call graph for this function:

◆ r2d()

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

Definition at line 1704 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ root()

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

Definition at line 1541 of file exprtk.hpp.

1542 {
1543 const typename details::number_type<T>::type num_type;
1544 return root_impl(v0, v1, num_type);
1545 }

◆ round()

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

Definition at line 1694 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ roundn()

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

Definition at line 1548 of file exprtk.hpp.

1549 {
1550 const typename details::number_type<T>::type num_type;
1551 return roundn_impl(v0, v1, num_type);
1552 }

◆ sec()

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

Definition at line 1702 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ sgn()

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

Definition at line 1709 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ shl()

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

Definition at line 1576 of file exprtk.hpp.

1577 {
1578 const typename details::number_type<T>::type num_type;
1579 return shl_impl(v0, v1, num_type);
1580 }

◆ shr()

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

Definition at line 1569 of file exprtk.hpp.

1570 {
1571 const typename details::number_type<T>::type num_type;
1572 return shr_impl(v0, v1, num_type);
1573 }

◆ sin()

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

Definition at line 1695 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ sinc()

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

Definition at line 1696 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ sinh()

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

Definition at line 1697 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ sqrt()

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

Definition at line 1698 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::hypot_impl(), exprtk::details::numeric::details::hypot_impl(), norm< T >::norm_impl(), and exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ tan()

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

Definition at line 1699 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ tanh()

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

Definition at line 1700 of file exprtk.hpp.

Referenced by exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ to_int32()

template<typename T >
int exprtk::details::numeric::to_int32 ( const T  v)
inline

Definition at line 1464 of file exprtk.hpp.

1465 {
1466 const typename details::number_type<T>::type num_type;
1467 return to_int32_impl(v, num_type);
1468 }

Referenced by exprtk::parser< T >::expression_generator< Type >::cardinal_pow_optimisation(), exprtk::parser< T >::expression_generator< Type >::cardinal_pow_optimisation(), exprtk::parser< T >::parse_define_vector_statement(), and exprtk::parser< T >::synthesize_vector_element().

Here is the caller graph for this function:

◆ to_int64()

template<typename T >
_int64_t exprtk::details::numeric::to_int64 ( const T  v)
inline

Definition at line 1471 of file exprtk.hpp.

1472 {
1473 const typename details::number_type<T>::type num_type;
1474 return to_int64_impl(v, num_type);
1475 }

Referenced by exprtk::details::range_pack< T >::operator()(), exprtk::parser< T >::parse_range(), and exprtk::parser< T >::expression_generator< Type >::vector_element().

Here is the caller graph for this function:

◆ to_uint64()

template<typename T >
_uint64_t exprtk::details::numeric::to_uint64 ( const T  v)
inline

Definition at line 1478 of file exprtk.hpp.

1479 {
1480 const typename details::number_type<T>::type num_type;
1481 return to_uint64_impl(v, num_type);
1482 }

Referenced by exprtk::details::vector_elem_node< T >::access_vector(), exprtk::details::vector_elem_rtc_node< T >::access_vector(), exprtk::details::rebasevector_elem_node< T >::access_vector(), and exprtk::details::rebasevector_elem_rtc_node< T >::access_vector().

Here is the caller graph for this function:

◆ trunc()

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

Definition at line 1714 of file exprtk.hpp.

Referenced by exprtk::parser< T >::parse_define_vector_statement(), and exprtk::details::numeric::details::process_impl().

Here is the caller graph for this function:

◆ xnor_opr()

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

Definition at line 1618 of file exprtk.hpp.

1619 {
1620 const typename details::number_type<T>::type num_type;
1621 return xnor_impl(v0, v1, num_type);
1622 }

◆ xor_opr()

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

Definition at line 1611 of file exprtk.hpp.

1612 {
1613 const typename details::number_type<T>::type num_type;
1614 return xor_impl(v0, v1, num_type);
1615 }