|
| | apply_xi_node (shared_leaf< T > x, shared_leaf< T > i, shared_leaf< T > rand, shared_leaf< T > nu_D_dt) |
| | Construct an apply_xi_node.
|
| |
| virtual backend::buffer< T > | evaluate () |
| | Evaluate the results of the applying the xi operator.
|
| |
| virtual shared_leaf< T > | reduce () |
| | Reduce the apply_zi(x, i, rand, nu_D_dt).
|
| |
| virtual void | compile_preamble (std::ostringstream &stream, jit::register_map ®isters, jit::visiter_map &visited, jit::register_usage &usage, jit::texture1d_list &textures1d, jit::texture2d_list &textures2d, jit::preamble_map &pre_funcs, int &avail_const_mem) |
| | Compile preamble.
|
| |
| virtual shared_leaf< T > | compile (std::ostringstream &stream, jit::register_map ®isters, const jit::register_map &thread_mem, const jit::register_usage &usage) |
| | Compile the node.
|
| |
| virtual bool | is_match (shared_leaf< T > x) |
| | Query if the nodes match.
|
| |
| virtual void | to_latex () const |
| | Convert the node to latex.
|
| |
| virtual shared_leaf< T > | remove_pseudo () |
| | Remove pseudo variable nodes.
|
| |
| virtual shared_leaf< T > | to_vizgraph (std::stringstream &stream, jit::register_map ®isters) |
| | Convert the node to vizgraph.
|
| |
| std::shared_ptr< leaf_node< T, SAFE_MATH > > | df (std::shared_ptr< leaf_node< T, SAFE_MATH > > x) |
| | Transform node to derivative.
|
| |
| | no_derivative (const std::string s) |
| | Constructor for base leaf nodes base classes.
|
| |
| | no_derivative (shared_leaf< T, SAFE_MATH > arg, const std::string s) |
| | Constructor for straight node base classes.
|
| |
| | no_derivative (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r, const std::string s) |
| | Constructor for base branch nodes base classes.
|
| |
| | no_derivative (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > m, shared_leaf< T, SAFE_MATH > r, const std::string s) |
| | Constructor for base triple nodes base classes.
|
| |
| | no_derivative (std::array< shared_leaf< T, SAFE_MATH >, N > b, const std::string s) |
| | Constructor for base n branch nodes base classes.
|
| |
| | n_branch_node (std::array< shared_leaf< T, SAFE_MATH >, N > branches, const std::string s) |
| | Reduces and assigns the branches.
|
| |
| shared_leaf< T, SAFE_MATH > | get_arg (const size_t index) const |
| | Get the Nth arg.
|
| |
| virtual bool | is_all_variables () const |
| | Test if node acts like a variable.
|
| |
| virtual std::shared_ptr< leaf_node< T, SAFE_MATH > > | get_power_exponent () const |
| | Get the exponent of a power.
|
| |
| | leaf_node (const std::string s, const size_t count, const bool pseudo) |
| | Construct a basic node.
|
| |
|
virtual | ~leaf_node () |
| | Destructor.
|
| |
| virtual bool | is_match (std::shared_ptr< leaf_node< T, SAFE_MATH > > x) |
| | Query if the nodes match.
|
| |
| bool | is_power_base_match (std::shared_ptr< leaf_node< T, SAFE_MATH > > x) |
| | Check if the base of the powers match.
|
| |
| virtual void | set (const T d) |
| | Set the value of variable data.
|
| |
| virtual void | set (const size_t index, const T d) |
| | Set the value of variable data.
|
| |
| virtual void | set (const std::vector< T > &d) |
| | Set the value of variable data.
|
| |
| virtual void | set (const backend::buffer< T > &d) |
| | Set the value of variable data.
|
| |
| virtual bool | is_constant () const |
| | Test if node is a constant.
|
| |
| virtual bool | has_constant_zero () const |
| | Test the constant node has a zero.
|
| |
| bool | is_normal () |
| | Test if the result is normal.
|
| |
| virtual bool | is_power_like () const |
| | Test if the node acts like a power of variable.
|
| |
| virtual std::shared_ptr< leaf_node< T, SAFE_MATH > > | get_power_base () |
| | Get the base of a power.
|
| |
| size_t | get_hash () const |
| | Get the hash for the node.
|
| |
| size_t | get_complexity () const |
| | Get the number of nodes in the subgraph.
|
| |
| virtual bool | has_pseudo () const |
| | Query if the node contains pseudo variables.
|
| |
| virtual void | endline (std::ostringstream &stream, const jit::register_usage &usage, const char end=';') const |
| | End a line in the kernel source.
|
| |
|
|
typedef T | base |
| | Type def to retrieve the backend type.
|
| |
|
static thread_local caches_t | caches |
| | A per thread instance of the cache structure.
|
| |
| bool | any_has_pseudo (std::array< shared_leaf< T, SAFE_MATH >, N > &branches) |
| | Check if any sub-node has a pseudo variable.
|
| |
| size_t | total_complexity (std::array< shared_leaf< T, SAFE_MATH >, N > &branches) |
| | Check if any sub-node has a pseudo variable.
|
| |
|
std::array< shared_leaf< T, SAFE_MATH >, N > | branches |
| | Branches of the tree.
|
| |
|
const size_t | hash |
| | Hash for node.
|
| |
|
const size_t | complexity |
| | Graph complexity.
|
| |
|
std::unordered_map< size_t, std::shared_ptr< leaf_node< T, SAFE_MATH > > > | df_cache |
| | Cache derivative terms.
|
| |
|
const bool | contains_pseudo |
| | Node contains pseudo variables.
|
| |
template<std::floating_point T>
class graph::apply_xi_node< T >
Xi Collision node.
- Template Parameters
-
| T | Base type of the calculation. |