OmniSciDB  eb3a3d0a03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
anonymous_namespace{CgenState.cpp} Namespace Reference

Classes

struct  GpuFunctionDefinition
 
struct  GpuFunction
 

Functions

template<typename T >
llvm::TypegetTy (llvm::LLVMContext &ctx)
 
template<>
llvm::TypegetTy< double > (llvm::LLVMContext &ctx)
 

Variables

static const
std::unordered_map
< std::string, std::shared_ptr
< GpuFunctionDefinition > > 
gpu_replacement_functions
 

Function Documentation

template<typename T >
llvm::Type* anonymous_namespace{CgenState.cpp}::getTy ( llvm::LLVMContext &  ctx)

Definition at line 203 of file CgenState.cpp.

203 { return getTy<std::remove_pointer_t<T>>(ctx)->getPointerTo(); }
template<>
llvm::Type* anonymous_namespace{CgenState.cpp}::getTy< double > ( llvm::LLVMContext &  ctx)

Definition at line 211 of file CgenState.cpp.

211 { return llvm::Type::getDoubleTy(ctx); }

Variable Documentation

const std::unordered_map<std::string, std::shared_ptr<GpuFunctionDefinition> > anonymous_namespace{CgenState.cpp}::gpu_replacement_functions
static
Initial value:
{
{"asin", std::make_shared<GpuFunction<double, double>>("Asin")},
{"atanh", std::make_shared<GpuFunction<double, double>>("Atanh")},
{"atan", std::make_shared<GpuFunction<double, double>>("Atan")},
{"cosh", std::make_shared<GpuFunction<double, double>>("Cosh")},
{"cos", std::make_shared<GpuFunction<double, double>>("Cos")},
{"exp", std::make_shared<GpuFunction<double, double>>("Exp")},
{"log", std::make_shared<GpuFunction<double, double>>("ln")},
{"pow", std::make_shared<GpuFunction<double, double, double>>("power")},
{"sinh", std::make_shared<GpuFunction<double, double>>("Sinh")},
{"sin", std::make_shared<GpuFunction<double, double>>("Sin")},
{"sqrt", std::make_shared<GpuFunction<double, double>>("Sqrt")},
{"tan", std::make_shared<GpuFunction<double, double>>("Tan")}}

Definition at line 237 of file CgenState.cpp.

Referenced by CgenState::gpuFunctionsToReplace(), and CgenState::replaceFunctionForGpu().