ViennaCL - The Vienna Computing Library  1.5.2
Data Structures | Namespaces | Functions
viennacl/generator/helpers.hpp File Reference

several code generation helpers More...

#include <set>
#include "CL/cl.h"
#include "viennacl/forwards.h"
#include "viennacl/scheduler/forwards.h"
#include "viennacl/generator/utils.hpp"
#include "viennacl/generator/forwards.h"

Go to the source code of this file.

Data Structures

class  traversal_functor
 base functor class for traversing a statement More...
class  prototype_generation_traversal
 functor for generating the prototype of a statement More...
class  fetch_traversal
 functor for fetching the elements of a statement More...
class  expression_generation_traversal
 functor for generating the expression string from a statement More...

Namespaces

namespace  viennacl
 

Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.


namespace  viennacl::generator
 

Provides an OpenCL kernel generator.


namespace  viennacl::generator::detail
 

Contains implementation details of the kernel generator.


Functions

const char * generate (viennacl::scheduler::operation_node_type type)
 generate a string from an operation_node_type
bool is_binary_leaf_operator (viennacl::scheduler::operation_node_type const &op_type)
 checks whether an operator is both a binary node and a leaf
bool is_arithmetic_operator (viennacl::scheduler::operation_node_type const &op_type)
 checks whether an operator is arithmetic or not

Detailed Description

several code generation helpers