23namespace vctr::expressions
26template <
size_t extent,
class SrcType>
27requires is::complexFloatNumber<ValueType<SrcType>>
33 VCTR_COMMON_UNARY_EXPRESSION_MEMBERS (
Conjugate, src)
35 VCTR_FORCEDINLINE
constexpr value_type operator[] (
size_t i)
const
37 return std::conj (src[i]);
40 VCTR_FORCEDINLINE
const value_type* evalNextVectorOpInExpressionChain (value_type* dst)
const
43 Expression::Accelerate::conj (src.evalNextVectorOpInExpressionChain (dst), dst,
sizeToInt (size()));
47 VCTR_FORCEDINLINE
const value_type* evalNextVectorOpInExpressionChain (value_type* dst)
const
50 Expression::IPP::conj (src.evalNextVectorOpInExpressionChain (dst), dst,
sizeToInt (size()));
Definition: Conjugate.h:29
A combined concept to check if Apple Accelerate is a suitable option for a complex valued floating po...
Definition: ContainerAndExpressionConcepts.h:246
A combined concept to check if Intel IPP is a suitable option for a complex valued floating point vec...
Definition: ContainerAndExpressionConcepts.h:274
constexpr ExpressionChainBuilder< expressions::Conjugate > conjugate
Computes the complex conjugate of the source values.
Definition: Conjugate.h:65
The main namespace of the VCTR project.
Definition: Array.h:24
typename detail::ValueType< std::remove_cvref_t< T > >::Type ValueType
If T is an expression template, it equals its return type, if it's a type that defines value_type as ...
Definition: Traits.h:201
int sizeToInt(size_t size)
Casts the size_t argument to an int.
Definition: PlatformVectorOpsHelpers.h:27
An expression chain builder is an object which supplies various operator<< overloads which build chai...
Definition: ExpressionChainBuilder.h:136
The base class to every expression template.
Definition: ExpressionTemplate.h:37