All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
execute_elementwise.hpp File Reference

Deals with the execution of unary and binary element-wise operations. More...

`#include "viennacl/forwards.h"`
`#include "viennacl/scheduler/forwards.h"`
`#include "viennacl/scheduler/execute_util.hpp"`
`#include "viennacl/linalg/vector_operations.hpp"`
`#include "viennacl/linalg/matrix_operations.hpp"`

Go to the source code of this file.

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::scheduler
| Contains the scheduling functionality which allows for dynamic kernel generation as well as the fusion of multiple statements into a single kernel.
| viennacl::scheduler::detail
| Implementation details for the scheduler.

## Macros

#define | VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP(OPNAME, NumericT, OPTAG)
#define | VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP(OPNAME, NumericT, OPTAG)

## Functions

void | viennacl::scheduler::detail::element_op (lhs_rhs_element result, lhs_rhs_element const &x, operation_node_type op_type)
void | viennacl::scheduler::detail::element_op (lhs_rhs_element result, lhs_rhs_element const &x, lhs_rhs_element const &y, operation_node_type op_type)
void | viennacl::scheduler::execute_element_composite (statement const &s, statement_node const &root_node)
| Deals with x = RHS where RHS is a vector expression. More...

## Detailed Description

Deals with the execution of unary and binary element-wise operations.

Definition in file execute_elementwise.hpp.

## Macro Definition Documentation

#define VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP | ( |  | OPNAME,
|  |  | NumericT,
|  |  | OPTAG
| ) |  |

Value:
case OPNAME: viennacl::linalg::element_op(*result.vector_##NumericT, \
viennacl::vector_expression<const vector_base<NumericT>, const vector_base<NumericT>, \
op_element_unary<OPTAG> >(*x.vector_##NumericT, *x.vector_##NumericT)); break;
viennacl::vector_expression
An expression template class that represents a binary operation that yields a vector.
Definition: forwards.h:239
viennacl::linalg::element_op
void element_op(matrix_base< T > &A, matrix_expression< const matrix_base< T >, const matrix_base< T >, OP > const &proxy)
Implementation of the element-wise operation A = B .* C and A = B ./ C for matrices (using MATLAB syn...
Definition: matrix_operations.hpp:702
NumericT
float NumericT
Definition: bisect.cpp:40

#define VIENNACL_SCHEDULER_GENERATE_UNARY_ELEMENT_OP | ( |  | OPNAME,
|  |  | NumericT,
|  |  | OPTAG
| ) |  |

Value:
case OPNAME: viennacl::linalg::element_op(*result.matrix_##NumericT, \
viennacl::matrix_expression<const matrix_base<NumericT>, const matrix_base<NumericT>, \
op_element_unary<OPTAG> >(*x.matrix_##NumericT, *x.matrix_##NumericT)); break;
viennacl::matrix_expression
Expression template class for representing a tree of expressions which ultimately result in a matrix...
Definition: forwards.h:341
viennacl::linalg::element_op
void element_op(matrix_base< T > &A, matrix_expression< const matrix_base< T >, const matrix_base< T >, OP > const &proxy)
Implementation of the element-wise operation A = B .* C and A = B ./ C for matrices (using MATLAB syn...
Definition: matrix_operations.hpp:702
NumericT
float NumericT
Definition: bisect.cpp:40