CAPD DynSys Library 5.2.0
capd::basicalg::Primitive Class Reference

#include <capd/basicalg/ieeePrimitive.h>

Static Public Member Functions

static double const & MIN ()
 
static double const & MIN_NORM ()
 
static double const & MAX ()
 
static double const & POS_INFTY ()
 
static double const & NEG_INFTY ()
 
static double const & QUIET_NAN ()
 
static void basicBitImage (double const &d, std::ostream &os)
 
static void basicBitImage (float const &d, std::ostream &os)
 
static void basicHexImage (double const &d, std::ostream &os)
 
static void basicHexImage (float const &d, std::ostream &os)
 
static bool isInfinite (double const &x)
 
static bool isNaN (double const &x)
 
static bool isRegular (double const &x)
 
static bool sign (double const &x)
 
static double abs (double const &x)
 
static bool isdenorm (double const &x)
 
static bool isdenormorzero (double const &x)
 
static bool isdenormorzerof (float const &x)
 
static double compose (unsigned int const &rsign, unsigned int const &rexpo, unsigned int const &rmantUpper, unsigned int const &rmantLower)
 
static float composef (unsigned int const &rsign, unsigned int const &rexpo, unsigned int const &rmant)
 
static void decompose (double const &rx, unsigned int &rsign, unsigned int &rexpo, unsigned int &rmantUpper, unsigned int &rmantLower)
 
static void decomposef (float const &rx, unsigned int &rsign, unsigned int &rexpo, unsigned int &rmant)
 
static double ulp (double const &x)
 
static void print (double const &x, std::ostream &os)
 I/O. More...
 
static void bitImage (double const &x, std::ostream &os)
 
static double basic_pred (double const &y)
 predecessor and successor of a number More...
 
static double basic_succ (double const &y)
 modified version of succ from original fi_lib More...
 
static double pred (double const &x)
 
static double succ (double const &x)
 

Static Public Attributes

static double const zero_pred = Primitive::compose(1,1,0,0)
 values used for multiplicative rounding More...
 
static double const zero_succ = Primitive::compose(0,1,0,0)
 
static double const one_pred = Primitive::compose(0,1022,0xFFFFF,0xFFFFFFFF)
 
static double const one_succ = Primitive::compose(0,1023,0,1)
 
static float const zero_fpred = Primitive::composef(1,1,0)
 
static float const zero_fsucc = Primitive::composef(0,1,0)
 
static float const one_fpred = Primitive::composef(0,126,(1<<23)-1)
 
static float const one_fsucc = Primitive::composef(0,127,1)
 

Member Function Documentation

◆ abs()

static double capd::basicalg::Primitive::abs ( double const &  x)
inlinestatic

◆ basic_pred()

static double capd::basicalg::Primitive::basic_pred ( double const &  y)
inlinestatic

predecessor and successor of a number

modified version of pred from original fi_lib

y < 0.0

y >= 0.0

y == +inf

◆ basic_succ()

static double capd::basicalg::Primitive::basic_succ ( double const &  y)
inlinestatic

modified version of succ from original fi_lib

y >= 0.0

y < 0.0

y == -inf

◆ basicBitImage() [1/2]

void capd::basicalg::Primitive::basicBitImage ( double const &  d,
std::ostream &  os 
)
static

◆ basicBitImage() [2/2]

void capd::basicalg::Primitive::basicBitImage ( float const &  d,
std::ostream &  os 
)
static

◆ basicHexImage() [1/2]

void capd::basicalg::Primitive::basicHexImage ( double const &  d,
std::ostream &  os 
)
static

◆ basicHexImage() [2/2]

void capd::basicalg::Primitive::basicHexImage ( float const &  d,
std::ostream &  os 
)
static

◆ bitImage()

void capd::basicalg::Primitive::bitImage ( double const &  x,
std::ostream &  os 
)
static

◆ compose()

static double capd::basicalg::Primitive::compose ( unsigned int const &  rsign,
unsigned int const &  rexpo,
unsigned int const &  rmantUpper,
unsigned int const &  rmantLower 
)
inlinestatic

◆ composef()

static float capd::basicalg::Primitive::composef ( unsigned int const &  rsign,
unsigned int const &  rexpo,
unsigned int const &  rmant 
)
inlinestatic

◆ decompose()

static void capd::basicalg::Primitive::decompose ( double const &  rx,
unsigned int rsign,
unsigned int rexpo,
unsigned int rmantUpper,
unsigned int rmantLower 
)
inlinestatic

◆ decomposef()

static void capd::basicalg::Primitive::decomposef ( float const &  rx,
unsigned int rsign,
unsigned int rexpo,
unsigned int rmant 
)
inlinestatic

◆ isdenorm()

static bool capd::basicalg::Primitive::isdenorm ( double const &  x)
inlinestatic

◆ isdenormorzero()

static bool capd::basicalg::Primitive::isdenormorzero ( double const &  x)
inlinestatic

◆ isdenormorzerof()

static bool capd::basicalg::Primitive::isdenormorzerof ( float const &  x)
inlinestatic

◆ isInfinite()

static bool capd::basicalg::Primitive::isInfinite ( double const &  x)
inlinestatic

◆ isNaN()

static bool capd::basicalg::Primitive::isNaN ( double const &  x)
inlinestatic

◆ isRegular()

static bool capd::basicalg::Primitive::isRegular ( double const &  x)
inlinestatic

◆ MAX()

static double const & capd::basicalg::Primitive::MAX ( )
inlinestatic

◆ MIN()

static double const & capd::basicalg::Primitive::MIN ( )
inlinestatic

◆ MIN_NORM()

static double const & capd::basicalg::Primitive::MIN_NORM ( )
inlinestatic

◆ NEG_INFTY()

static double const & capd::basicalg::Primitive::NEG_INFTY ( )
inlinestatic

◆ POS_INFTY()

static double const & capd::basicalg::Primitive::POS_INFTY ( )
inlinestatic

◆ pred()

static double capd::basicalg::Primitive::pred ( double const &  x)
inlinestatic

special case: positive infinity

special case 2: positive powers of 2

special case: -max

◆ print()

void capd::basicalg::Primitive::print ( double const &  x,
std::ostream &  os 
)
static

I/O.

◆ QUIET_NAN()

static double const & capd::basicalg::Primitive::QUIET_NAN ( )
inlinestatic

◆ sign()

static bool capd::basicalg::Primitive::sign ( double const &  x)
inlinestatic

◆ succ()

static double capd::basicalg::Primitive::succ ( double const &  x)
inlinestatic

special case: negative infinity

special case: positive powers of 2

special case: max

◆ ulp()

static double capd::basicalg::Primitive::ulp ( double const &  x)
inlinestatic

x is zero or denormalized

non-underflow case

underflow case

Member Data Documentation

◆ one_fpred

float const capd::basicalg::Primitive::one_fpred = Primitive::composef(0,126,(1<<23)-1)
static

◆ one_fsucc

float const capd::basicalg::Primitive::one_fsucc = Primitive::composef(0,127,1)
static

◆ one_pred

double const capd::basicalg::Primitive::one_pred = Primitive::compose(0,1022,0xFFFFF,0xFFFFFFFF)
static

◆ one_succ

double const capd::basicalg::Primitive::one_succ = Primitive::compose(0,1023,0,1)
static

◆ zero_fpred

float const capd::basicalg::Primitive::zero_fpred = Primitive::composef(1,1,0)
static

◆ zero_fsucc

float const capd::basicalg::Primitive::zero_fsucc = Primitive::composef(0,1,0)
static

◆ zero_pred

double const capd::basicalg::Primitive::zero_pred = Primitive::compose(1,1,0,0)
static

values used for multiplicative rounding

◆ zero_succ

double const capd::basicalg::Primitive::zero_succ = Primitive::compose(0,1,0,0)
static