ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::device_specific::tree_parsing Namespace Reference

Classes

class  evaluate_expression_traversal
 functor for generating the expression string from a statement More...
 
class  filter
 
class  filter_elements
 
class  process_traversal
 functor for fetching or writing-back the elements in a statement More...
 
class  statement_representation_functor
 
class  traversal_functor
 base functor class for traversing a statement More...
 

Functions

template<class Fun >
void traverse (scheduler::statement const &statement, vcl_size_t root_idx, Fun const &fun, bool inspect)
 Recursively execute a functor on a statement. More...
 
void process (utils::kernel_generation_stream &stream, leaf_t leaf, std::string const &type_key, std::string const &to_process, scheduler::statement const &statement, vcl_size_t root_idx, mapping_type const &mapping, std::set< std::string > &already_processed)
 
std::string evaluate (leaf_t leaf, std::map< std::string, std::string > const &accessors, scheduler::statement const &statement, vcl_size_t root_idx, mapping_type const &mapping)
 
const char * evaluate (scheduler::operation_node_type type)
 generate a string from an operation_node_type More...
 
const char * operator_string (scheduler::operation_node_type type)
 
void evaluate (utils::kernel_generation_stream &stream, leaf_t leaf, std::map< std::string, std::string > const &accessors, statements_container const &statements, std::vector< mapping_type > const &mappings)
 
void process (utils::kernel_generation_stream &stream, leaf_t leaf, std::string const &type_key, std::string const &to_process, statements_container const &statements, std::vector< mapping_type > const &mappings)
 
std::string statements_representation (statements_container const &statements, binding_policy_t binding_policy)
 

Function Documentation

const char* viennacl::device_specific::tree_parsing::evaluate ( scheduler::operation_node_type  type)
inline

generate a string from an operation_node_type

Definition at line 121 of file tree_parsing.hpp.

std::string viennacl::device_specific::tree_parsing::evaluate ( leaf_t  leaf,
std::map< std::string, std::string > const &  accessors,
scheduler::statement const &  statement,
vcl_size_t  root_idx,
mapping_type const &  mapping 
)
inline

Definition at line 293 of file tree_parsing.hpp.

void viennacl::device_specific::tree_parsing::evaluate ( utils::kernel_generation_stream stream,
leaf_t  leaf,
std::map< std::string, std::string > const &  accessors,
statements_container const &  statements,
std::vector< mapping_type > const &  mappings 
)
inline

Definition at line 320 of file tree_parsing.hpp.

const char* viennacl::device_specific::tree_parsing::operator_string ( scheduler::operation_node_type  type)
inline

Definition at line 205 of file tree_parsing.hpp.

void viennacl::device_specific::tree_parsing::process ( utils::kernel_generation_stream stream,
leaf_t  leaf,
std::string const &  type_key,
std::string const &  to_process,
scheduler::statement const &  statement,
vcl_size_t  root_idx,
mapping_type const &  mapping,
std::set< std::string > &  already_processed 
)
inline

Definition at line 360 of file tree_parsing.hpp.

void viennacl::device_specific::tree_parsing::process ( utils::kernel_generation_stream stream,
leaf_t  leaf,
std::string const &  type_key,
std::string const &  to_process,
statements_container const &  statements,
std::vector< mapping_type > const &  mappings 
)
inline

Definition at line 386 of file tree_parsing.hpp.

std::string viennacl::device_specific::tree_parsing::statements_representation ( statements_container const &  statements,
binding_policy_t  binding_policy 
)
inline

Definition at line 494 of file tree_parsing.hpp.

template<class Fun >
void viennacl::device_specific::tree_parsing::traverse ( scheduler::statement const &  statement,
vcl_size_t  root_idx,
Fun const &  fun,
bool  inspect 
)
inline

Recursively execute a functor on a statement.

Definition at line 53 of file tree_parsing.hpp.