35 #ifndef _BLAZE_MATH_PROXY_COMPLEXPROXY_H_ 36 #define _BLAZE_MATH_PROXY_COMPLEXPROXY_H_ 119 template<
typename PT
123 return (~*
this).get().real();
136 template<
typename PT
140 if( (~*
this).isRestricted() ) {
144 (~*
this).
get().real( value );
156 template<
typename PT
160 return (~*
this).get().imag();
173 template<
typename PT
177 if( (~*
this).isRestricted() ) {
181 (~*
this).
get().imag( value );
201 template<
typename PT
205 return *
static_cast<PT*
>( this );
217 template<
typename PT
221 return *
static_cast<const PT*
>( this );
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.This macro encapsulates the default way o...
Definition: Exception.h:235
Constraint on the data type.
ValueType imag() const
Returns the imaginary part of the represented complex number.
Definition: ComplexProxy.h:158
Header file for the clear shim.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
BLAZE_ALWAYS_INLINE PT & operator~()
Conversion operator for non-constant proxies.
Definition: ComplexProxy.h:203
Header file for the exception macros of the math module.
value_type ValueType
Value type of the represented complex element.
Definition: ComplexProxy.h:73
typename CT::value_type value_type
Value type of the represented complex element.
Definition: ComplexProxy.h:72
ValueType real() const
Returns the real part of the represented complex number.
Definition: ComplexProxy.h:121
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:62
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.