|
Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
|
#include "proteus/Error.h"#include "proteus/Frontend/CodeBuilder.h"#include "proteus/Frontend/TypeMap.h"#include "proteus/Frontend/TypeTraits.h"#include <string>#include <type_traits>#include <vector>

Go to the source code of this file.
Namespaces | |
| namespace | proteus |
| namespace | proteus::detail |
Functions | |
| template<typename T , typename U > | |
| std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > | proteus::operator+ (const T &ConstValue, const Var< U > &Var) |
| template<typename T , typename U > | |
| std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > | proteus::operator- (const T &ConstValue, const Var< U > &V) |
| template<typename T , typename U > | |
| std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > | proteus::operator* (const T &ConstValue, const Var< U > &V) |
| template<typename T , typename U > | |
| std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > | proteus::operator/ (const T &ConstValue, const Var< U > &V) |
| template<typename T , typename U > | |
| std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > | proteus::operator% (const T &ConstValue, const Var< U > &V) |
| template<typename FromT , typename ToT > | |
| IRValue * | proteus::detail::convert (CodeBuilder &CB, IRValue *V) |
| template<typename T > | |
| Var< T > | proteus::declVar (CodeBuilder &CB, const std::string &Name="var") |
| template<typename T > | |
| Var< T > | proteus::defVar (CodeBuilder &CB, const T &Val, const std::string &Name="var") |
| template<typename T , typename U > | |
| Var< std::common_type_t< remove_cvref_t< T >, remove_cvref_t< U > > > | proteus::binOp (const Var< T > &L, const Var< U > &R, ArithOp Op) |
| template<typename T , typename U > | |
| Var< T, std::enable_if_t< is_scalar_arithmetic_v< T > > > & | proteus::compoundAssignConst (Var< T, std::enable_if_t< is_scalar_arithmetic_v< T > > > &LHS, const U &ConstValue, ArithOp Op) |
| template<typename T , typename U > | |
| Var< bool > | proteus::cmpOp (const Var< T > &L, const Var< U > &R, CmpOp Op) |
| template<typename T > | |
| Var< float > | proteus::powf (const Var< float > &L, const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::sqrtf (const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::expf (const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::sinf (const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::cosf (const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::fabs (const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::truncf (const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::logf (const Var< T > &R) |
| template<typename T > | |
| Var< float > | proteus::absf (const Var< T > &R) |
| template<typename T > | |
| std::enable_if_t< is_arithmetic_unref_v< T >, Var< remove_cvref_t< T > > > | proteus::min (const Var< T > &L, const Var< T > &R) |
| template<typename T > | |
| std::enable_if_t< is_arithmetic_unref_v< T >, Var< remove_cvref_t< T > > > | proteus::max (const Var< T > &L, const Var< T > &R) |