home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume21
/
newmat02
/
part01
/
precisio.hxx
< prev
Wrap
Text File
|
1991-08-01
|
2KB
|
85 lines
//$$ precisio.hxx floating point constants
#ifndef PRECISION_LIB
#define PRECISION_LIB 0
#define USING_DOUBLE // adjust to precision being used
//#define USING_FLOAT
extern "C"
{
#include <float.h>
}
#ifdef USING_FLOAT
#undef USING_FLOAT
typedef float real;
class FloatingPointPrecision
{
public:
static int Dig()
{ return FLT_DIG; } // number of decimal digits or precision
static real Epsilon()
{ return FLT_EPSILON; } // smallest number such that 1+Eps!=Eps
static int Mantissa()
{ return FLT_MANT_DIG; } // bits in mantisa
static real Maximum()
{ return FLT_MAX; } // maximum value
static int MaximumDecimalExponent()
{ return FLT_MAX_10_EXP; } // maximum decimal exponent
static int MaximumExponent()
{ return FLT_MAX_EXP; } // maximum binary exponent
static real Minimum()
{ return FLT_MIN; } // minimum positive value
static int MinimumDecimalExponent()
{ return FLT_MIN_10_EXP; } // minimum decimal exponent
static int MinimumExponent()
{ return FLT_MIN_EXP; } // minimum binary exponent
static int Radix()
{ return FLT_RADIX; } // exponent radix
static int Rounds()
{ return FLT_ROUNDS; } // addition rounding (1 = does round)
}
#endif
#ifdef USING_DOUBLE
#undef USING_DOUBLE
typedef double real;
class FloatingPointPrecision
{
public:
static int Dig()
{ return DBL_DIG; } // number of decimal digits or precision
static real Epsilon()
{ return DBL_EPSILON; } // smallest number such that 1+Eps!=Eps
static int Mantissa()
{ return DBL_MANT_DIG; } // bits in mantisa
static real Maximum()
{ return DBL_MAX; } // maximum value
static int MaximumDecimalExponent()
{ return DBL_MAX_10_EXP; } // maximum decimal exponent
static int MaximumExponent()
{ return DBL_MAX_EXP; } // maximum binary exponent
static real Minimum()
{ return DBL_MIN; } // minimum positive value
static int MinimumDecimalExponent()
{ return DBL_MIN_10_EXP; } // minimum decimal exponent
static int MinimumExponent()
{ return DBL_MIN_EXP; } // minimum binary exponent
static int Radix()
{ return FLT_RADIX; } // exponent radix
static int Rounds()
{ return FLT_ROUNDS; } // addition rounding (1 = does round)
};
#endif
#endif