ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
tree_parsing.hpp File Reference

Code for parsing the expression trees. More...

Go to the source code of this file.

Classes

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

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::device_specific
 Provides an OpenCL kernel generator.
 
 viennacl::device_specific::tree_parsing
 

Functions

template<class Fun >
void viennacl::device_specific::tree_parsing::traverse (scheduler::statement const &statement, vcl_size_t root_idx, Fun const &fun, bool inspect)
 Recursively execute a functor on a statement. More...
 
const char * viennacl::device_specific::tree_parsing::evaluate (scheduler::operation_node_type type)
 generate a string from an operation_node_type More...
 
const char * viennacl::device_specific::tree_parsing::operator_string (scheduler::operation_node_type type)
 
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)
 
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)
 
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)
 
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)
 
std::string viennacl::device_specific::tree_parsing::statements_representation (statements_container const &statements, binding_policy_t binding_policy)
 

Detailed Description

Code for parsing the expression trees.

Definition in file tree_parsing.hpp.