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 1717 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 1718 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 1624 of file exprtk.hpp.

1625 {
1626 const typename details::number_type<T>::type num_type;
1627 return and_impl(v0, v1, num_type);
1628 }

◆ asin()

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

Definition at line 1719 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 1720 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 1721 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 1603 of file exprtk.hpp.

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

◆ atanh()

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

Definition at line 1722 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 1723 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 1724 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 1725 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 1742 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 1744 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 1747 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 1746 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 1547 of file exprtk.hpp.

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

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 1751 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 1752 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 1726 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 1727 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 1728 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 1754 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 1748 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 1596 of file exprtk.hpp.

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

◆ is_integer()

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

Definition at line 1666 of file exprtk.hpp.

1667 {
1668 const typename details::number_type<T>::type num_type;
1669 return is_integer_impl(v, num_type);
1670 }

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 1526 of file exprtk.hpp.

1527 {
1528 const typename details::number_type<T>::type num_type;
1529 return is_nan_impl(v, num_type);
1530 }

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 1729 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 1730 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 1732 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 1731 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 1575 of file exprtk.hpp.

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

◆ max()

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

Definition at line 1540 of file exprtk.hpp.

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

Referenced by exprtk::details::numeric::details::equal_impl(), exprtk::details::numeric::details::equal_impl(), exprtk::details::numeric::details::max_impl(), and exprtk::rtl::vecops::max_elemwise< T >::operator()().

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 1533 of file exprtk.hpp.

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

Referenced by exprtk::details::numeric::details::min_impl(), and exprtk::rtl::vecops::min_elemwise< T >::operator()().

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 1561 of file exprtk.hpp.

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

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 1631 of file exprtk.hpp.

1632 {
1633 const typename details::number_type<T>::type num_type;
1634 return nand_impl(v0, v1, num_type);
1635 }

◆ ncdf()

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

Definition at line 1753 of file exprtk.hpp.

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

Here is the caller graph for this function:

◆ neg()

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

Definition at line 1733 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 1554 of file exprtk.hpp.

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

◆ nor_opr()

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

Definition at line 1645 of file exprtk.hpp.

1646 {
1647 const typename details::number_type<T>::type num_type;
1648 return nor_impl(v0, v1, num_type);
1649 }

◆ notl()

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

Definition at line 1749 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 1638 of file exprtk.hpp.

1639 {
1640 const typename details::number_type<T>::type num_type;
1641 return or_impl(v0, v1, num_type);
1642 }

◆ pos()

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

Definition at line 1734 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 1568 of file exprtk.hpp.

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

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::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 5631 of file exprtk.hpp.

5632 {
5634 }
T process_impl(const operator_type operation, const T arg)
Definition exprtk.hpp:5501

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 5637 of file exprtk.hpp.

5638 {
5639 return exprtk::details::numeric::details::process_impl(operation, arg0, arg1);
5640 }

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 1745 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 1582 of file exprtk.hpp.

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

◆ round()

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

Definition at line 1735 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 1589 of file exprtk.hpp.

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

◆ sec()

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

Definition at line 1743 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 1750 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 1617 of file exprtk.hpp.

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

◆ shr()

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

Definition at line 1610 of file exprtk.hpp.

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

◆ sin()

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

Definition at line 1736 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 1737 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 1738 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 1739 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 1740 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 1741 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 1505 of file exprtk.hpp.

1506 {
1507 const typename details::number_type<T>::type num_type;
1508 return to_int32_impl(v, num_type);
1509 }

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 1512 of file exprtk.hpp.

1513 {
1514 const typename details::number_type<T>::type num_type;
1515 return to_int64_impl(v, num_type);
1516 }

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 1519 of file exprtk.hpp.

1520 {
1521 const typename details::number_type<T>::type num_type;
1522 return to_uint64_impl(v, num_type);
1523 }

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 1755 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 1659 of file exprtk.hpp.

1660 {
1661 const typename details::number_type<T>::type num_type;
1662 return xnor_impl(v0, v1, num_type);
1663 }

◆ xor_opr()

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

Definition at line 1652 of file exprtk.hpp.

1653 {
1654 const typename details::number_type<T>::type num_type;
1655 return xor_impl(v0, v1, num_type);
1656 }