35#ifndef _BLAZE_MATH_PROXY_COMPLEXPROXY_H_
36#define _BLAZE_MATH_PROXY_COMPLEXPROXY_H_
139 return (**this).get().real();
156 if( (**this).isRestricted() ) {
160 (**this).get().real( value );
176 return (**this).get().imag();
193 if( (**this).isRestricted() ) {
197 (**this).get().imag( value );
222 return static_cast<PT&
>( *this );
239 return static_cast<const PT&
>( *this );
256 return static_cast<PT&
>( *this );
273 return static_cast<const PT&
>( *this );
289template<
typename PT,
typename CT >
292template<
typename PT,
typename CT >
Proxy backend for complex types.
Definition: ComplexProxy.h:69
typename CT::value_type value_type
Value type of the represented complex element.
Definition: ComplexProxy.h:72
value_type ValueType
Value type of the represented complex element.
Definition: ComplexProxy.h:73
ValueType real() const
Returns the real part of the represented complex number.
Definition: ComplexProxy.h:137
BLAZE_ALWAYS_INLINE PT & operator*() noexcept
Conversion operator for non-constant proxies.
Definition: ComplexProxy.h:254
ValueType imag() const
Returns the imaginary part of the represented complex number.
Definition: ComplexProxy.h:174
BLAZE_ALWAYS_INLINE PT & operator~() noexcept
Conversion operator for non-constant proxies.
Definition: ComplexProxy.h:220
Constraint on the data type.
MT & crtp_cast(Matrix< MT, SO > &matrix)
CRTP-based conversion operation for non-constant matrices.
Definition: Matrix.h:479
#define BLAZE_CONSTRAINT_MUST_BE_COMPLEX_TYPE(T)
Constraint on the data type.
Definition: Complex.h:62
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.
Definition: Exception.h:235
Header file for the exception macros of the math module.
Header file for the clear shim.
Header file for the reset shim.
System settings for the inline keywords.