All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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.