![]() |
Functions | |
template<typename Type > | |
BLAZE_ALWAYS_INLINE void | blaze::clear (Type &clearable) |
Clearing the given value/object to the default state. More... | |
template<typename T > | |
BLAZE_ALWAYS_INLINE EnableIf< IsBuiltin< T >, T >::Type | blaze::conj (T a) |
Computing the conjugate of the given value/object. More... | |
template<typename T > | |
BLAZE_ALWAYS_INLINE void | blaze::conjugate (T &a) |
In-place conjugation of the given value/object. More... | |
template<typename T > | |
BLAZE_ALWAYS_INLINE void | blaze::cswap (T &a, T &b) |
Swapping two conjugated values/objects. More... | |
template<typename T1 , typename T2 > | |
bool | blaze::equal (const T1 &a, const T2 &b) |
Generic equality check. More... | |
BLAZE_ALWAYS_INLINE float | blaze::inv (float a) |
Inverting the given single precision value. More... | |
BLAZE_ALWAYS_INLINE double | blaze::inv (double a) |
Inverting the given double precision value. More... | |
BLAZE_ALWAYS_INLINE long double | blaze::inv (long double a) |
Inverting the given extended precision value. More... | |
BLAZE_ALWAYS_INLINE complex< float > | blaze::inv (const complex< float > &a) |
Inverting the given single precision complex number. More... | |
BLAZE_ALWAYS_INLINE complex< double > | blaze::inv (const complex< double > &a) |
Inverting the given double precision complex number. More... | |
BLAZE_ALWAYS_INLINE complex< long double > | blaze::inv (const complex< long double > &a) |
Inverting the given extended precision complex number. More... | |
BLAZE_ALWAYS_INLINE void | blaze::invert (float &a) |
In-place inversion of the given single precision value. More... | |
BLAZE_ALWAYS_INLINE void | blaze::invert (double &a) |
In-place inversion of the given double precision value. More... | |
BLAZE_ALWAYS_INLINE void | blaze::invert (long double &a) |
In-place inversion of the given extended precision value. More... | |
BLAZE_ALWAYS_INLINE void | blaze::invert (complex< float > &a) |
In-place inversion of the given single precision complex number. More... | |
BLAZE_ALWAYS_INLINE void | blaze::invert (complex< double > &a) |
In-place inversion of the given double precision complex number. More... | |
BLAZE_ALWAYS_INLINE void | blaze::invert (complex< long double > &a) |
In-place inversion of the given extended precision complex number. More... | |
template<typename Type > | |
BLAZE_ALWAYS_INLINE bool | blaze::isDefault (const Type &v) |
Returns whether the given value/object is in default state. More... | |
template<typename T > | |
BLAZE_ALWAYS_INLINE EnableIf< IsNumeric< T >, bool >::Type | blaze::isnan (T a) |
Platform independent implementation of the C99 isnan function. More... | |
template<typename Type > | |
BLAZE_ALWAYS_INLINE EnableIf< IsNumeric< Type >, bool >::Type | blaze::isOne (const Type &v) |
Returns whether the given value/object represents the numeric value 1. More... | |
template<typename Type > | |
BLAZE_ALWAYS_INLINE bool | blaze::isReal (const Type &v) |
Returns whether the given value/object represents a real number. More... | |
template<typename Type > | |
BLAZE_ALWAYS_INLINE EnableIf< IsNumeric< Type >, bool >::Type | blaze::isZero (const Type &v) |
Returns whether the given value/object represents the numeric value 0. More... | |
template<typename Dst , typename Src > | |
BLAZE_ALWAYS_INLINE void | blaze::move (Dst &dst, Src &src) |
Moving the contents of one value to another. More... | |
template<typename Type > | |
BLAZE_ALWAYS_INLINE void | blaze::reset (Type &resettable) |
Resetting the given value/object to the default value. More... | |
template<typename T > | |
BLAZE_ALWAYS_INLINE EnableIf< Or< IsBuiltin< T >, IsComplex< T > >, const T & >::Type | blaze::serial (const T &a) |
Formal serialization of the evaluation of the given argument. More... | |
template<typename T > | |
BLAZE_ALWAYS_INLINE const MultExprTrait< T, T >::Type | blaze::sq (const T &a) |
Squaring the given value/object. More... | |
BLAZE_ALWAYS_INLINE void blaze::clear | ( | Type & | clearable | ) |
Clearing the given value/object to the default state.
clearable | The value/object to be cleared. |
The clear shim represents an abstract interface for clearing a value/object of any given data type to its default state. Values of built-in data type are reset to zero.
BLAZE_ALWAYS_INLINE EnableIf< IsBuiltin<T>, T >::Type blaze::conj | ( | T | a | ) |
Computing the conjugate of the given value/object.
a | The given value/object. |
The conj shim represents an abstract interface for the computation of the complex conjugate of any given data type. In case the given value is of complex type the function computes the complex conjugate by reversing the sign of the imaginary part:
Values of other data types, such as all built-in data types, are considered complex numbers with an imaginary part of 0. Thus the returned value corresponds to the given value. For more information on complex conjugates, see
BLAZE_ALWAYS_INLINE void blaze::conjugate | ( | T & | a | ) |
In-place conjugation of the given value/object.
a | The given value/object to be conjugated. |
The conjugate shim represents an abstract interface for the in-place conjugation of any given value/object. In case the given value is of complex type the function computes the complex conjugate by reversing the sign of the imaginary part:
Values of other data types, such as all built-in data types, are considered complex numbers with an imaginary part of 0. Thus the returned value corresponds to the given value. For more information on complex conjugates, see
BLAZE_ALWAYS_INLINE void blaze::cswap | ( | T & | a, |
T & | b | ||
) |
Swapping two conjugated values/objects.
a | The first value/object to be swapped and conjugated. |
b | The second value/object to be swapped and conjugated. |
The cswap shim implements the most efficient way to swap and conjugate two values/objects. Semantically cswap is equivalent to the following sequence of operations:
|
inline |
Generic equality check.
a | First value/object. |
b | Second value/object. |
The equal shim represents an abstract interface for testing two values/objects for equality. In case the two values/objects are equal, the function returns true, otherwise it returns false. Per default, the comparison of the two values/objects uses the equality operator operator==(). For built-in floating point data types a special comparison is selected that takes the limited machine accuracy into account.
BLAZE_ALWAYS_INLINE float blaze::inv | ( | float | a | ) |
Inverting the given single precision value.
a | The single precision value to be inverted. |
The inv shim represents an abstract interface for inverting a value/object of any given data type. For single precision floating point values this results in .
BLAZE_ALWAYS_INLINE double blaze::inv | ( | double | a | ) |
Inverting the given double precision value.
a | The double precision value to be inverted. |
The inv shim represents an abstract interface for inverting a value/object of any given data type. For double precision floating point values this results in .
BLAZE_ALWAYS_INLINE long double blaze::inv | ( | long double | a | ) |
Inverting the given extended precision value.
a | The extended precision value to be inverted. |
The inv shim represents an abstract interface for inverting a value/object of any given data type. For extended precision floating point values this results in .
BLAZE_ALWAYS_INLINE complex<float> blaze::inv | ( | const complex< float > & | a | ) |
Inverting the given single precision complex number.
a | The single precision complex number to be inverted. |
The inv shim represents an abstract interface for inverting a value/object of any given data type. For a single precision floating point complex number this results in
.
BLAZE_ALWAYS_INLINE complex<double> blaze::inv | ( | const complex< double > & | a | ) |
Inverting the given double precision complex number.
a | The double precision complex number to be inverted. |
The inv shim represents an abstract interface for inverting a value/object of any given data type. For a double precision floating point complex number this results in
.
BLAZE_ALWAYS_INLINE complex<long double> blaze::inv | ( | const complex< long double > & | a | ) |
Inverting the given extended precision complex number.
a | The extended precision complex number to be inverted. |
The inv shim represents an abstract interface for inverting a value/object of any given data type. For an extended precision floating point complex number this results in
.
BLAZE_ALWAYS_INLINE void blaze::invert | ( | float & | a | ) |
In-place inversion of the given single precision value.
a | The single precision value to be inverted. |
The invert shim represents an abstract interface for inverting a value/object of any given data type in-place. For single precision floating point values this results in .
BLAZE_ALWAYS_INLINE void blaze::invert | ( | double & | a | ) |
In-place inversion of the given double precision value.
a | The double precision value to be inverted. |
The invert shim represents an abstract interface for inverting a value/object of any given data type in-place. For double precision floating point values this results in .
BLAZE_ALWAYS_INLINE void blaze::invert | ( | long double & | a | ) |
In-place inversion of the given extended precision value.
a | The extended precision value to be inverted. |
The invert shim represents an abstract interface for inverting a value/object of any given data type in-place. For extended precision floating point values this results in .
BLAZE_ALWAYS_INLINE void blaze::invert | ( | complex< float > & | a | ) |
In-place inversion of the given single precision complex number.
a | The single precision complex number to be inverted. |
The invert shim represents an abstract interface for inverting a value/object of any given data type in-place. For a single precision floating point complex number this results in
.
BLAZE_ALWAYS_INLINE void blaze::invert | ( | complex< double > & | a | ) |
In-place inversion of the given double precision complex number.
a | The double precision complex number to be inverted. |
The invert shim represents an abstract interface for inverting a value/object of any given data type in-place. For a double precision floating point complex number this results in
.
BLAZE_ALWAYS_INLINE void blaze::invert | ( | complex< long double > & | a | ) |
In-place inversion of the given extended precision complex number.
a | The extended precision complex number to be inverted. |
The invert shim represents an abstract interface for inverting a value/object of any given data type in-place. For an extended precision floating point complex number this results in
.
BLAZE_ALWAYS_INLINE bool blaze::isDefault | ( | const Type & | v | ) |
Returns whether the given value/object is in default state.
v | The value/object to be tested for its default state. |
The isDefault shim represents an abstract interface for testing a value/object whether it is in its default state or not. In case the value/object is in its default state, the function returns true, otherwise it returns false. For built-in data types, the function returns true in case the current value is zero.
BLAZE_ALWAYS_INLINE EnableIf< IsNumeric<T>, bool >::Type blaze::isnan | ( | T | a | ) |
Platform independent implementation of the C99 isnan function.
a | Value to be checked. |
This function provides a platform independent check for NaN values. In contrast to the isnan function from the C standard, which is only supporting all floating point types, this function can be used for all numeric data types (i.e. all integral, floating point, and complex data types). The function returns true in case the given value is not a number (NaN). In all other cases the function returns false.
BLAZE_ALWAYS_INLINE EnableIf< IsNumeric<Type>, bool >::Type blaze::isOne | ( | const Type & | v | ) |
Returns whether the given value/object represents the numeric value 1.
v | The value to be tested. |
The isOne shim provides an abstract interface for testing a value/object of any type whether it represents the numeric value 1. In case the value/object is 1, the function returns true, otherwise it returns false.
BLAZE_ALWAYS_INLINE bool blaze::isReal | ( | const Type & | v | ) |
Returns whether the given value/object represents a real number.
v | The value to be tested. |
The isReal shim provides an abstract interface for testing a value/object of any type whether it represents the a real number. In case the value/object is of built-in type, the function returns true. In case the value/object is of complex type, the function returns true if the imaginary part is equal to 0. Otherwise it returns false.
BLAZE_ALWAYS_INLINE EnableIf< IsNumeric<Type>, bool >::Type blaze::isZero | ( | const Type & | v | ) |
Returns whether the given value/object represents the numeric value 0.
v | The value to be tested. |
The isZero shim provides an abstract interface for testing a value/object of any type whether it represents the numeric value 0. In case the value/object is 0, the function returns true, otherwise it returns false.
BLAZE_ALWAYS_INLINE void blaze::move | ( | Dst & | dst, |
Src & | src | ||
) |
Moving the contents of one value to another.
dst | The destination value. |
src | The source value. |
The move shim implements the most efficient way to move the contents of src to dst. Depending on the given types Src and Dst, this may be a C++11 move operation, a swap operation or a simple copy operation. Semantically, dst may be modified during this operation, but is guaranteed to be in a valid and destructible but unspecified state.
BLAZE_ALWAYS_INLINE void blaze::reset | ( | Type & | resettable | ) |
Resetting the given value/object to the default value.
resettable | The value/object to be resetted. |
The reset shim represents an abstract interface for the resetting of a value/object of any given data type to its default value. Values of built-in data type are reset to zero.
BLAZE_ALWAYS_INLINE EnableIf< Or< IsBuiltin<T>, IsComplex<T> >, const T& >::Type blaze::serial | ( | const T & | a | ) |
Formal serialization of the evaluation of the given argument.
a | The value/object to be evaluated serially. |
The serial shim represents an abstract interface for the serialization of the evaluation of a value/object of any given data type. For data types that are per default evaluated serially, as for instance built-in data types, the default behavior is not changed.
BLAZE_ALWAYS_INLINE const MultExprTrait<T,T>::Type blaze::sq | ( | const T & | a | ) |
Squaring the given value/object.
a | The value/object to be squared. |
The sq shim represents an abstract interface for squaring a value/object of any given data type. For values of built-in data type this results in a plain multiplication.