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

Piecewise nodes. More...

#include "node.hpp"

Go to the source code of this file.

Classes

class  graph::argument_node< T, SAFE_MATH >
 Node class to contain the index argument. More...
 
class  graph::piecewise_1D_node< T, SAFE_MATH >
 Class representing a 1D piecewise constant. More...
 
class  graph::piecewise_2D_node< T, SAFE_MATH >
 Class representing a 2D piecewise constant. More...
 
class  graph::index_1D_node< T, SAFE_MATH >
 Class representing a 1D index. More...
 
class  graph::index_2D_node< T, SAFE_MATH >
 Class representing a 2D index. More...
 
class  graph::atomic_accumulate_1D_node< T, SAFE_MATH >
 Class representing a 1D accumulated array. More...
 

Namespaces

namespace  graph
 Name space for graph nodes.
 

Typedefs

template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_argument = std::shared_ptr< argument_node< T, SAFE_MATH > >
 Convenience type alias for shared argument nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_piecewise_1D = std::shared_ptr< piecewise_1D_node< T, SAFE_MATH > >
 Convenience type alias for shared piecewise 1D nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_piecewise_2D = std::shared_ptr< piecewise_2D_node< T, SAFE_MATH > >
 Convenience type alias for shared piecewise 2D nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_index_1D = std::shared_ptr< index_1D_node< T, SAFE_MATH > >
 Convenience type alias for shared index 1D nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_index_2D = std::shared_ptr< index_2D_node< T, SAFE_MATH > >
 Convenience type alias for shared index 2D nodes.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
using graph::shared_atomic_accumulate_1D = std::shared_ptr< atomic_accumulate_1D_node< T, SAFE_MATH > >
 Convenience type alias for shared atomic accumulate 1D nodes.
 

Functions

template<jit::float_scalar T>
void graph::compile_index (std::ostringstream &stream, const std::string &register_name, const size_t length, const T scale, const T offset)
 Compile an index.
 
template<jit::float_scalar T>
void graph::compile_2D_index (std::ostringstream &stream, const std::string &x_register_name, const std::string &y_register_name, const size_t num_columns)
 Compile an 2D index.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::argument (shared_leaf< T, SAFE_MATH > x, const T scale, const T offset, const size_t length)
 Define argument convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_argument< T, SAFE_MATH > graph::argument_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a argument node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::piecewise_1D (const backend::buffer< T > &d, shared_leaf< T, SAFE_MATH > x)
 Define piecewise_1D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::piecewise_1D (const backend::buffer< T > &d, shared_leaf< T, SAFE_MATH > x, const T scale, const T offset)
 Define piecewise_1D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_piecewise_1D< T, SAFE_MATH > graph::piecewise_1D_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a piecewise 1D node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::piecewise_2D (const backend::buffer< T > &d, const size_t n, shared_leaf< T, SAFE_MATH > x, shared_leaf< T, SAFE_MATH > y)
 Define piecewise_2D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::piecewise_2D (const backend::buffer< T > &d, const size_t n, shared_leaf< T, SAFE_MATH > x, const T x_scale, const T x_offset, shared_leaf< T, SAFE_MATH > y, const T y_scale, const T y_offset)
 Define piecewise_2D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_piecewise_2D< T, SAFE_MATH > graph::piecewise_2D_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a piecewise 2D node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::index_1D (shared_leaf< T, SAFE_MATH > v, shared_leaf< T, SAFE_MATH > x)
 Define index_1D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::index_1D (shared_leaf< T, SAFE_MATH > v, shared_leaf< T, SAFE_MATH > x, const T scale, const T offset)
 Define index_1D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_index_1D< T, SAFE_MATH > graph::index_1D_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a index 1D node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::index_2D (shared_leaf< T, SAFE_MATH > v, const size_t n, shared_leaf< T, SAFE_MATH > x, shared_leaf< T, SAFE_MATH > y)
 Define index_2D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::index_2D (shared_leaf< T, SAFE_MATH > v, const size_t n, shared_leaf< T, SAFE_MATH > x, const T x_scale, const T x_offset, shared_leaf< T, SAFE_MATH > y, const T y_scale, const T y_offset)
 Define index_2D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_index_2D< T, SAFE_MATH > graph::index_2D_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a index 2D node.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::atomic_accumulate_1D (shared_leaf< T, SAFE_MATH > v, shared_leaf< T, SAFE_MATH > i, shared_leaf< T, SAFE_MATH > x)
 Define atomic_accumulate_1D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_leaf< T, SAFE_MATH > graph::atomic_accumulate_1D (shared_leaf< T, SAFE_MATH > v, shared_leaf< T, SAFE_MATH > x, const T scale, const T offset, shared_leaf< T, SAFE_MATH > y)
 Define atomic_accumulate_1D convenience function.
 
template<jit::float_scalar T, bool SAFE_MATH = false>
shared_atomic_accumulate_1D< T, SAFE_MATH > graph::atomic_accumulate_1D_cast (shared_leaf< T, SAFE_MATH > x)
 Cast to a atomic accumulate 1D node.
 

Detailed Description

Piecewise nodes.

Defines nodes containing piecewise constants.