26#ifndef SCIMATH_NUMERICTRAITS_H 
   27#define SCIMATH_NUMERICTRAITS_H 
   30#include <casacore/casa/aips.h> 
   31#include <casacore/casa/BasicSL/Complex.h> 
  247#if defined NumericTraits_F 
  248#undef NumericTraits_F 
  250#define NumericTraits_F NumericTraits 
  282#undef NumericTraits_F 
  284#if defined NumericTraits_D 
  285#undef NumericTraits_D 
  287#define NumericTraits_D NumericTraits 
  319#undef NumericTraits_D 
  321#if defined NumericTraits_C 
  322#undef NumericTraits_C 
  324#define NumericTraits_C NumericTraits 
  351    return ((n%2 == 0) ? other.real() : other.imag()); }
 
 
  354    other = (n%2 == 0) ? 
value_type(val, other.imag()) :
 
 
 
  358#undef NumericTraits_C 
  360#if defined NumericTraits_DC 
  361#undef NumericTraits_DC 
  363#define NumericTraits_DC NumericTraits 
  390    return ((n%2 == 0) ? other.real() : other.imag()); }
 
 
  393    other = (n%2 == 0) ? 
value_type(val, other.imag()) :
 
 
 
  397#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.
 
Char BaseType
Numeric type.
 
static void setImag(T &, const BaseType &)
Set the imaginary part of a complex value only (a NOP for reals)
 
static const Double & minimum
 
Char ConjugateType
Conjugate (real<->complex) type.
 
static const Double & maximum
 
Char PrecisionType
Higher precision type (Float->Double)
 
static uInt size()
Number of relevant numeric values.
 
T value_type
Template argument.
 
static BaseType getValue(const T &, const uInt)
Get the nsize()-th numeric value.
 
static const Double & epsilon
Relevant minimum and maximum numbers.
 
this file contains all the compiler specific defines