35 #ifndef _BLAZE_MATH_PROXY_COMPLEXPROXY_H_
36 #define _BLAZE_MATH_PROXY_COMPLEXPROXY_H_
79 inline ValueType
real()
const;
80 inline void real( ValueType value )
const;
81 inline ValueType
imag()
const;
82 inline void imag( ValueType value )
const;
119 template<
typename PT
123 return (~*
this).get().real();
136 template<
typename PT
140 if( (~*
this).isRestricted() )
141 throw std::invalid_argument(
"Invalid access to restricted element" );
143 (~*
this).
get().real( value );
155 template<
typename PT
159 return (~*
this).get().imag();
172 template<
typename PT
176 if( (~*
this).isRestricted() )
177 throw std::invalid_argument(
"Invalid access to restricted element" );
179 (~*
this).
get().imag( value );
199 template<
typename PT
203 return *
static_cast<PT*
>( this );
215 template<
typename PT
219 return *
static_cast<const PT*
>( this );
Constraint on the data type.
Header file for the clear shim.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
CT::value_type value_type
Value type of the represented complex element.
Definition: ComplexProxy.h:72
BLAZE_ALWAYS_INLINE PT & operator~()
Conversion operator for non-constant proxies.
Definition: ComplexProxy.h:201
ValueType real() const
Returns the real part of the represented complex number.
Definition: ComplexProxy.h:121
value_type ValueType
Value type of the represented complex element.
Definition: ComplexProxy.h:73
Header file for the reset shim.
#define BLAZE_CONSTRAINT_MUST_BE_COMPLEX_TYPE(T)
Constraint on the data type.This compile time constraint checks that the given data type T is a compl...
Definition: Complex.h:80
ValueType imag() const
Returns the imaginary part of the represented complex number.
Definition: ComplexProxy.h:157
Proxy backend for complex types.The ComplexProxy class serves as a backend for the Proxy class...
Definition: ComplexProxy.h:68
System settings for the inline keywords.