26#ifndef SCIMATH_NUMERICTRAITS_H
27#define SCIMATH_NUMERICTRAITS_H
30#include <casacore/casa/aips.h>
31#include <casacore/casa/BasicSL/Complex.h>
248#if defined NumericTraits_F
249#undef NumericTraits_F
251#define NumericTraits_F NumericTraits
282#undef NumericTraits_F
284#if defined NumericTraits_D
285#undef NumericTraits_D
287#define NumericTraits_D NumericTraits
318#undef NumericTraits_D
320#if defined NumericTraits_C
321#undef NumericTraits_C
323#define NumericTraits_C NumericTraits
352 return ((n % 2 == 0) ? other.real() : other.imag());
360#undef NumericTraits_C
362#if defined NumericTraits_DC
363#undef NumericTraits_DC
365#define NumericTraits_DC NumericTraits
394 return ((n % 2 == 0) ? other.real() : other.imag());
402#undef NumericTraits_DC
static void setImag(value_type &other, const BaseType &val)
Set the imaginary part of a complex value only (a NOP for reals).
static void setValue(value_type &other, const BaseType &val, const uInt n)
Set the nsize()-th numeric value.
static BaseType getValue(const value_type &other, const uInt n)
Get the nsize()-th numeric value.
DComplex PrecisionType
Higher precision type (Float->Double).
static const Double & epsilon
Relevant minimum and maximum numbers.
Float ConjugateType
Conjugate (real<->complex) type.
static const Double & minimum
static const Double & maximum
static uInt size()
Number of relevant numeric values.
Complex value_type
Template argument.
Float BaseType
Numeric type.
static const Double & minimum
DComplex value_type
Template argument.
static void setImag(value_type &other, const BaseType &val)
Set the imaginary part of a complex value only (a NOP for reals).
Double BaseType
Numeric type.
static void setValue(value_type &other, const BaseType &val, const uInt n)
Set the nsize()-th numeric value.
static uInt size()
Number of relevant numeric values.
static const Double & epsilon
Relevant minimum and maximum numbers.
DComplex PrecisionType
Higher precision type (Float->Double).
static BaseType getValue(const value_type &other, const uInt n)
Get the nsize()-th numeric value.
static const Double & maximum
Double ConjugateType
Conjugate (real<->complex) type.
static const Double & minimum
Double PrecisionType
Higher precision type (Float->Double).
Double value_type
Template argument.
DComplex ConjugateType
Conjugate (real<->complex) type.
static uInt size()
Number of relevant numeric values.
static BaseType getValue(const value_type &other, const uInt)
Get the nsize()-th numeric value.
static void setValue(value_type &other, const BaseType &val, const uInt)
Set the nsize()-th numeric value.
static void setImag(value_type &, const BaseType &)
Set the imaginary part of a complex value only (a NOP for reals).
static const Double & maximum
Double BaseType
Numeric type.
static const Double & epsilon
Relevant minimum and maximum numbers.
static BaseType getValue(const value_type &other, const uInt)
Get the nsize()-th numeric value.
static const Double & minimum
Float value_type
Template argument.
Float BaseType
Numeric type.
static const Double & epsilon
Relevant minimum and maximum numbers.
Double PrecisionType
Higher precision type (Float->Double).
Complex ConjugateType
Conjugate (real<->complex) type.
static const Double & maximum
static void setValue(value_type &other, const BaseType &val, const uInt)
Set the nsize()-th numeric value.
static uInt size()
Number of relevant numeric values.
static void setImag(value_type &, const BaseType &)
Set the imaginary part of a complex value only (a NOP for reals).
static void setValue(T &, const BaseType &, const uInt)
Set the nsize()-th numeric value.
static void setImag(T &, const BaseType &)
Set the imaginary part of a complex value only (a NOP for reals).
static const Double & minimum
static const Double & maximum
static uInt size()
Number of relevant numeric values.
static BaseType getValue(const T &, const uInt)
Get the nsize()-th numeric value.
static const Double & epsilon
For temporary backward namespace compatibility, use casa as alias for casacore.