VCTR
Loading...
Searching...
No Matches
vctr::ExpressionTemplateBase Struct Reference

The base class to every expression template. More...

Inheritance diagram for vctr::ExpressionTemplateBase:
vctr::Config vctr::expressions::AVXFilter< extent, SrcType > vctr::expressions::Abs< extent, SrcType > vctr::expressions::Acos< extent, SrcType > vctr::expressions::Acosh< extent, SrcType > vctr::expressions::AddSingleToVec< extent, SrcType > vctr::expressions::AddVectors< extent, SrcAType, SrcBType > vctr::expressions::Angle< extent, SrcType > vctr::expressions::Asin< extent, SrcType > vctr::expressions::Asinh< extent, SrcType > vctr::expressions::Atan< extent, SrcType > vctr::expressions::Atanh< extent, SrcType > vctr::expressions::Clamp< extent, SrcType, ClampLow, ClampHigh > vctr::expressions::ClampByConstant< extent, SrcType, LowerBound, UpperBound > vctr::expressions::Conjugate< extent, SrcType > vctr::expressions::Cos< extent, SrcType > vctr::expressions::Cosh< extent, SrcType > vctr::expressions::Cube< extent, SrcType > vctr::expressions::DivideSingleByVec< extent, SrcType > vctr::expressions::DivideVecBySingle< extent, SrcType > vctr::expressions::DivideVectors< extent, SrcAType, SrcBType > vctr::expressions::Exp< extent, SrcType > vctr::expressions::Imag< extent, SrcType > vctr::expressions::Ln< extent, SrcType > vctr::expressions::Log10< extent, SrcType > vctr::expressions::Log2< extent, SrcType > vctr::expressions::Map< extent, SrcType, RangeType > vctr::expressions::MapFrom0To1< extent, SrcType, RangeType > vctr::expressions::MapTo0To1< extent, SrcType, RangeType > vctr::expressions::Max< extent, SrcType > vctr::expressions::MaxAbs< extent, SrcType > vctr::expressions::Mean< extent, SrcType > vctr::expressions::MeanSquare< extent, SrcType > vctr::expressions::Min< extent, SrcType > vctr::expressions::MinAbs< extent, SrcType > vctr::expressions::MultiplyVecByConstant< extent, SrcType, ConstantType > vctr::expressions::MultiplyVecBySingle< extent, SrcType > vctr::expressions::MultiplyVectors< extent, SrcAType, SrcBType > vctr::expressions::NeonFilter< extent, SrcType > vctr::expressions::NoAccelerationFilter< extent, SrcType > vctr::expressions::NormalizeSum< extent, SrcType > vctr::expressions::PlatformVectorOpsFilter< extent, SrcType > vctr::expressions::PowConstantBase< extent, SrcType, ConstantType > vctr::expressions::PowConstantExponent< extent, SrcType, ConstantType > vctr::expressions::PowSingleBase< extent, SrcType > vctr::expressions::PowSingleExponent< extent, SrcType > vctr::expressions::PowVectors< extent, SrcAType, SrcBType > vctr::expressions::PowerSpectrum< extent, SrcType > vctr::expressions::Real< extent, SrcType > vctr::expressions::RootMeanSquare< extent, SrcType > vctr::expressions::SSEFilter< extent, SrcType > vctr::expressions::Sin< extent, SrcType > vctr::expressions::Sinh< extent, SrcType > vctr::expressions::Sqrt< extent, SrcType > vctr::expressions::Square< extent, SrcType > vctr::expressions::SubtractSingleFromVec< extent, SrcType > vctr::expressions::SubtractVecFromSingle< extent, SrcType > vctr::expressions::SubtractVectors< extent, SrcAType, SrcBType > vctr::expressions::Sum< extent, SrcType > vctr::expressions::Tan< extent, SrcType > vctr::expressions::Tanh< extent, SrcType > vctr::expressions::TransformedBy< extent, SrcType, FunctionType > vctr::expressions::TransformedByStaticCast< extent, SrcType, DstValueType >

Classes

struct  ExpressionTypes
 Supplies some handy typedefs and traits needed when implementing expression templates. More...
 

Static Public Attributes

static const auto highestSupportedCPUInstructionSet = getHighestSupportedCPUInstructionSet()
 
static const auto supportsAVX2 = highestSupportedCPUInstructionSet == CPUInstructionSet::avx2
 
static const auto supportsAVX = highestSupportedCPUInstructionSet == CPUInstructionSet::avx2 || highestSupportedCPUInstructionSet == CPUInstructionSet::avx
 
static constexpr bool platformWindows = VCTR_WINDOWS
 
static constexpr bool platformApple = VCTR_APPLE
 
static constexpr bool platformLinux = VCTR_LINUX
 
static constexpr bool platformWasm = VCTR_WASM
 
static constexpr bool archARM = VCTR_ARM
 
static constexpr bool archX64 = VCTR_X64
 
static constexpr bool compilerClang = VCTR_CLANG
 
static constexpr bool compilerGCC = VCTR_GCC
 
static constexpr bool compilerMSVC = VCTR_MSVC
 
static constexpr bool hasIPP = VCTR_USE_IPP && archX64
 
static constexpr bool alignedArray = VCTR_ALIGNED_ARRAY
 
static constexpr size_t maxSIMDRegisterSize = archX64 ? 32 : 16
 

Detailed Description

The base class to every expression template.

You should derive any expression template from this class. It supplies some handy typedefs and traits which are defined in the ExpressionTypes struct template. To use it, add a private typedef to your expression template class like

Supplies some handy typedefs and traits needed when implementing expression templates.
Definition: ExpressionTemplate.h:41

The documentation for this struct was generated from the following file: