VCTR
Loading...
Searching...
No Matches
vctr::expressions::MeanSquare< extent, SrcType > Class Template Reference
Inheritance diagram for vctr::expressions::MeanSquare< extent, SrcType >:
vctr::ExpressionTemplateBase vctr::Config

Public Types

using value_type = ValueType< SrcType >
 

Public Member Functions

VCTR_FORCEDINLINE constexpr void reduceElementWise (value_type &result, size_t i) const
 
VCTR_FORCEDINLINE value_type reduceVectorOp () const
 
VCTR_FORCEDINLINE value_type reduceVectorOp () const
 
VCTR_FORCEDINLINE void reduceNeonRegisterWise (NeonRegister< value_type > &result, size_t i) const
 
VCTR_FORCEDINLINE VCTR_TARGET ("avx") void reduceAVXRegisterWise(AVXRegister< value_type > &result
 
VCTR_FORCEDINLINE VCTR_TARGET ("sse4.1") void reduceSSERegisterWise(SSERegister< value_type > &result
 
template<size_t n>
VCTR_FORCEDINLINE constexpr value_type finalizeReduction (const std::array< value_type, n > &sums) const
 

Public Attributes

 s = Expression::AVX::mul (s, s)
 
 result = Expression::AVX::add (result, s)
 

Static Public Attributes

static constexpr value_type reductionResultInitValue = 0
 
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
 

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