acl.h File Reference
`#include "aclStdIncludes.h"`
`#include <memory>`
`#include "Kernels/aclKernelConfiguration.h"`
`#include "aclTypes.h"`
Include dependency graph for acl.h:

Go to the source code of this file.

## Namespaces

| cl
| The OpenCL C++ bindings are defined within this namespace.
| acl
| Advanced Computational Language.
| acl::elementOperators
| definitions of mathematical operators and functions for class Element

## Typedefs

typedef std::shared_ptr< MemBlock > | acl::ElementData
typedef std::shared_ptr< ElementBase > | acl::Element
typedef std::shared_ptr< cl::CommandQueue > | acl::CommandQueue

## Functions

Element | acl::elementOperators::operator- (Element e)
Element | acl::elementOperators::operator+ (Element e1, Element e2)
Element | acl::elementOperators::operator- (Element e1, Element e2)
Element | acl::elementOperators::operator* (Element e1, Element e2)
Element | acl::elementOperators::operator/ (Element e1, Element e2)
Element | acl::elementOperators::operator% (Element e1, Element e2)
Element | acl::elementOperators::operatorAssignment (Element e1, Element e2)
Element | acl::elementOperators::operatorAssignmentSafe (Element e1, Element e2)
Element | acl::elementOperators::operator+= (Element e1, Element e2)
Element | acl::elementOperators::operator-= (Element e1, Element e2)
Element | acl::elementOperators::operator*= (Element e1, Element e2)
Element | acl::elementOperators::operator/= (Element e1, Element e2)
Element | acl::elementOperators::operator> (Element e1, Element e2)
Element | acl::elementOperators::operator< (Element e1, Element e2)
Element | acl::elementOperators::operator>= (Element e1, Element e2)
Element | acl::elementOperators::operator<= (Element e1, Element e2)
Element | acl::elementOperators::isEqual (Element e1, Element e2)
Element | acl::elementOperators::isNotEqual (Element e1, Element e2)
Element | acl::elementOperators::operator&& (Element e1, Element e2)
Element | acl::elementOperators::operator|| (Element e1, Element e2)
Element | acl::elementOperators::operator! (Element e)
Element | acl::elementOperators::sin (Element e)
Element | acl::elementOperators::cos (Element e)
Element | acl::elementOperators::sqrt (Element e)
Element | acl::elementOperators::rsqrt (Element e)
Element | acl::elementOperators::log (Element e)
Element | acl::elementOperators::log10 (Element e)
Element | acl::elementOperators::powI (Element a, unsigned int i)
Element | acl::elementOperators::exp (Element a)
Element | acl::elementOperators::fabs (Element a)
Element | acl::elementOperators::abs (Element a)
Element | acl::elementOperators::abs_diff (Element a, Element b)
Element | acl::elementOperators::floor (Element a)
Element | acl::elementOperators::isnan (Element a)
Element | acl::elementOperators::nan (TypeID t)
Element | acl::elementOperators::copysign (Element a, Element b)
Element | acl::elementOperators::sign (Element a)
Element | acl::elementOperators::min (Element a, Element b)
Element | acl::elementOperators::max (Element a, Element b)
Element | acl::elementOperators::atomic_add (Element e1, Element e2)
Element | acl::elementOperators::atomic_sub (Element e1, Element e2)
Element | acl::elementOperators::atomic_xchg (Element e1, Element e2)
Element | acl::elementOperators::mad (Element e1, Element e2, Element e3)
Element | acl::elementOperators::syncCopy (Element source, Element destination, Element srcOffset, Element dstOffset, Element length)
Element | acl::elementOperators::barrier (std::string flags="CLK_LOCAL_MEM_FENCE")
Element | acl::elementOperators::excerpt (Element source, Element filter)
Element | acl::elementOperators::parse (const std::vector< std::pair< Element, std::string > > &elementNamePairs, const std::string &statement)
Element | acl::elementOperators::convert (const TypeID tName, Element e1, bool strong=true)
Element | acl::elementOperators::printfFunction (std::string args)
Element | acl::elementOperators::returnStatement ()
Element | acl::elementOperators::ifElse (Element condition, const std::vector< Element > &thenBody, const std::vector< Element > &elseBody)
Element | acl::elementOperators::select (Element e1, Element e2, Element e3)
Element | acl::elementOperators::forLoop (Element initialization, Element condition, Element increase, const std::vector< Element > &body)
Element | acl::elementOperators::any (Element e)
| Corresponds to the openCL operation any. More...
Element | acl::elementOperators::all (Element e)
| Corresponds to the openCL operation all. More...
bool | acl::isConstant (Element e)
bool | acl::isSingleValue (Element e)
| The function returns true when the input is a single valued object e.g. aclConstatnt, aclVariable. More...
bool | acl::isMemBlock (Element e)
template<typename T >
void | acl::copy (MemBlock &source, T *destination)
template<typename T >
void | acl::copy (T *source, MemBlock &destination)
template<typename T >
void | acl::copy (MemBlock &source, std::vector< T > &destination)
template<typename T >
void | acl::copy (std::vector< T > &source, MemBlock &destination)
template<typename T >
void | acl::copy (MemBlock &source, MemBlock &destination)
template<typename T >
void | acl::copy (Element source, std::vector< T > &destination)
template<typename T >
void | acl::copy (std::vector< T > &source, Element destination)
template<typename T >
void | acl::copy (Element source, T *destination)
template<typename T >
void | acl::copy (T *source, Element destination)
void | acl::initData (Element a, Element initializationValue, const KernelConfiguration &kernelConfig=KERNEL_BASIC)
Element | acl::generateSubElement (Element, unsigned int size, int offset)
| function creates subElement with given length and offset; offset is constant More...
Element | acl::generateSubElement (Element, unsigned int size, int *offset)
| function creates subElement with given length and offset; offset can be a variable More...
Element | acl::generateSubElement (Element, unsigned int size, Element offset)
Element | acl::generateShiftedElement (Element, int offset)
Element | acl::generateShiftedElement (Element, int *offset)
Element | acl::generateShiftedElement (Element, Element offset)
template<typename T >
void | acl::swapBuffers (std::shared_ptr< Array< T > >a, std::shared_ptr< Array< T > > b)
ElementData | acl::generateElementArray (TypeID typeID, unsigned int size)
ElementData | acl::generateElementArray (TypeID typeID, unsigned int size, CommandQueue queue_)
Element | acl::generateElementLocalArray (TypeID typeID, unsigned int size)

## Variables

const KernelConfiguration | acl::KERNEL_BASIC