ViennaCL - The Vienna Computing Library  1.5.1
Data Structures | Namespaces | Typedefs | Enumerations | Functions
forwards.h File Reference

Forwards declaration. More...

#include <map>
#include <set>
#include <list>
#include <stdexcept>
#include "viennacl/tools/shared_ptr.hpp"
#include "viennacl/scheduler/forwards.h"

Go to the source code of this file.

Data Structures

struct  expression_descriptor
 A class for holding meta information such as the type or the underlying scalar type of an expression (such as x = inner_prod(y, z)). More...
 

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::generator
 Provides an OpenCL kernel generator.
 
 viennacl::generator::utils
 Contains various helper routines for kernel generation.
 
 viennacl::generator::detail
 Contains implementation details of the kernel generator.
 

Typedefs

typedef std::pair
< expression_type, vcl_size_t > 
expression_key_type
 
typedef std::pair
< viennacl::scheduler::statement_node
const *, node_type > 
key_type
 
typedef tools::shared_ptr
< detail::mapped_object > 
container_ptr_type
 
typedef std::map< key_type,
container_ptr_type > 
mapping_type
 

Enumerations

enum  expression_type_family {
  SCALAR_SAXPY_FAMILY, VECTOR_SAXPY_FAMILY, MATRIX_SAXPY_FAMILY, SCALAR_REDUCE_FAMILY,
  VECTOR_REDUCE_FAMILY, MATRIX_PRODUCT_FAMILY, INVALID_EXPRESSION_FAMILY
}
 
enum  expression_type {
  SCALAR_SAXPY_TYPE, VECTOR_SAXPY_TYPE, MATRIX_SAXPY_TYPE, SCALAR_REDUCE_TYPE,
  VECTOR_REDUCE_Nx_TYPE, VECTOR_REDUCE_Tx_TYPE, MATRIX_PRODUCT_NN_TYPE, MATRIX_PRODUCT_TN_TYPE,
  MATRIX_PRODUCT_NT_TYPE, MATRIX_PRODUCT_TT_TYPE, INVALID_EXPRESSION_TYPE
}
 
enum  node_type { LHS_NODE_TYPE, PARENT_NODE_TYPE, RHS_NODE_TYPE }
 

Functions

void generate_enqueue_statement (viennacl::scheduler::statement const &s, scheduler::statement_node const &root_node)
 Generate and enqueue a statement plus root_node into the current queue. More...
 
void generate_enqueue_statement (viennacl::scheduler::statement const &s)
 Generate and enqueue a statement into the current queue, assumes the root_node is the first node of the statement. More...
 
const char * expression_type_to_string (expression_type type)
 
template<typename KeyT , typename ValueT >
ValueT const & at (std::map< KeyT, ValueT > const &map, KeyT const &key)
 Emulation of C++11's .at() member for std::map<> More...
 
std::string generate (std::pair< std::string, std::string > const &index, int vector_element, mapped_object const &s)
 
const char * generate (viennacl::scheduler::operation_node_type type)
 generate a string from an operation_node_type More...
 

Detailed Description

Forwards declaration.