Graph Framework
Loading...
Searching...
No Matches
math.hpp File Reference

Defined basic math functions. More...

#include <cmath>
#include "node.hpp"

Go to the source code of this file.

Classes

class  graph::sqrt_node< T, SAFE_MATH >
 A sqrt node. More...
 
class  graph::exp_node< T, SAFE_MATH >
 A exp node. More...
 
class  graph::log_node< T, SAFE_MATH >
 A log node. More...
 
class  graph::pow_node< T, SAFE_MATH >
 An power node. More...
 
class  graph::erfi_node< T, SAFE_MATH >
 An imaginary error function node. More...
 

Namespaces

namespace  graph
 Name space for graph nodes.
 

Typedefs

template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_sqrt = std::shared_ptr< sqrt_node< T, SAFE_MATH > >
 Convenience type alias for shared sqrt nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_exp = std::shared_ptr< exp_node< T, SAFE_MATH > >
 Convenience type alias for shared exp nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_log = std::shared_ptr< log_node< T, SAFE_MATH > >
 Convenience type alias for shared log nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_pow = std::shared_ptr< pow_node< T, SAFE_MATH > >
 Convenience type alias for shared add nodes.
 
template<jit::complex_scalar T, bool SAFE_MATH = false>
using graph::shared_erfi = std::shared_ptr< erfi_node< T, SAFE_MATH > >
 Convenience type alias for shared exp nodes.
 

Functions

template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATHgraph::sqrt (shared_leaf< T, SAFE_MATH > x)
 Define sqrt convience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_sqrt< T, SAFE_MATHgraph::sqrt_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a sqrt node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATHgraph::exp (shared_leaf< T, SAFE_MATH > x)
 Define exp convience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_exp< T, SAFE_MATHgraph::exp_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a exp node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATHgraph::log (shared_leaf< T, SAFE_MATH > x)
 Define log convience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_log< T, SAFE_MATHgraph::log_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a exp node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATHgraph::pow (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r)
 Build power node.
 
template<jit::float_scalar T, jit::float_scalar L, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATHgraph::pow (const L l, shared_leaf< T, SAFE_MATH > r)
 Build power node.
 
template<jit::float_scalar T, jit::float_scalar R, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATHgraph::pow (shared_leaf< T, SAFE_MATH > l, const R r)
 Build power node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_pow< T, SAFE_MATHgraph::pow_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a power node.
 
template<jit::complex_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATHgraph::erfi (shared_leaf< T, SAFE_MATH > x)
 Define erfi convience function.
 
template<jit::complex_scalar T, bool SAFE_MATH = false>
shared_erfi< T, SAFE_MATHgraph::erfi_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a exp node.
 

Detailed Description

Defined basic math functions.