24 #ifndef ACLGENERATORS_H
25 #define ACLGENERATORS_H
27 #include "aclMath/aclVectorOfElementsDef.h"
28 #include "aclMath/aclMatrixOfElements.h"
29 #include <math/aslVectors.h>
30 #include <math/aslMatrices.h>
44 template <
typename T> VectorOfElements
generateVEConstant(
unsigned int n,
const T*
const a);
53 template <
typename T> VectorOfElementsData
generateVEData(
unsigned int length,
54 unsigned int nComponents,
58 template <
typename T> VectorOfElementsData
generateVEData(
unsigned int length,
59 unsigned int nComponents = 1);
64 unsigned int nComponents,
70 unsigned int nComponents = 1);
92 unsigned int sublength,
94 unsigned int nComponents,
110 template <
typename T> VectorOfElements
generateVEVariableSP(std::shared_ptr<T> a, std::shared_ptr<T> b);
112 template <
typename T> VectorOfElements
generateVEVariableSP(std::shared_ptr<T> a, std::shared_ptr<T> b, std::shared_ptr<T> c);
152 const vector<string> & names,
153 const string & statement);
157 template <
typename T=
int>MatrixOfElements
generateMEUnit(
unsigned int n);
168 const VectorOfElements & sc);
const Block offset(const Block &bl, int a=1)
MatrixOfElements generateMEConstant(const asl::AMatr< T > &a)
Generates VectorOfElements correspondinng to a.
MatrixOfElements generateMEGivensRotation(unsigned int k, unsigned int l, const VectorOfElements &sc)
MatrixOfElements generateMEUnit(unsigned int n)
MatrixOfElements generateMEDiagonal(const VectorOfElements &d)
MatrixOfElements generateMEPrivateVariable(unsigned int nR, unsigned int nC, TypeID t)
Generates VectorOfElements with n Element of acl::PrivateVariable with type t.
VectorOfElements generateVEConstantN(unsigned int n, T a)
Generates VectorOfElements with n Elements acl::Constant with values a.
VectorOfElementsData generateVEData(unsigned int length, unsigned int nComponents, CommandQueue queue)
Generates VectorOfElements with nComponents Elements acl::Vector with size length.
VectorOfElements generateVESubElements(VectorOfElements a, unsigned int length, int offset)
Generates VectorOfElements which contains SubElements of the corresponding element of a.
VectorOfElements generateVEShftedElements(VectorOfElements a, int offset)
Generates VectorOfElements which contains SubElements of the corresponding element of a.
VectorOfElements generateVEPrivateArray(const vector< T > &data)
Generates VectorOfElements with size Elements acl::PrivateArray of type with data defined by data.
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
VectorOfElements generateVELocalArray(unsigned int componentSize, TypeID typeID, unsigned int size)
Generates VectorOfElements with size Elements acl::LocalArray of type typeID with size componentSize.
VectorOfElements generateVEGroupID()
VectorOfElements generateVEIndexExt(unsigned int size=0)
VectorOfElements generateVEPrivateVariable(unsigned int n)
Generates VectorOfElements with n Element of acl::PrivateVariable.
VectorOfElements generateVEVariableSP(std::shared_ptr< T > a)
Generates VectorOfElements with 1 Element acl::VariableReference with reference on a.
VectorOfElements generateVEPolynom(VectorOfElements x, VectorOfElements coefs)
VectorOfElements generateVEShiftedElements(VectorOfElements a, VectorOfElements offset)
Generates VectorOfElements which contains SubElements of the corresponding element of a.
VectorOfElements generateVEVariableR(T &a)
Generates VectorOfElements with 1 Element acl::VariableReference with reference on a.
VectorOfElements generateVEDataSub(T, unsigned int sublength, unsigned int length, unsigned int nComponents, CommandQueue queue)
Generates VectorOfElements with nComponents Elements acl::Subvector with size sublength....
VectorOfElements generateVEIndex(unsigned int size=0)
Advanced Computational Language.
VectorOfElements indexDependedConstant(vector< unsigned int > r, vector< T > values)
std::shared_ptr< cl::CommandQueue > CommandQueue
VectorOfElements generateParsedVE(const VectorOfElements &fields, const vector< string > &names, const string &statement)