BM_STATUS Union Reference

basic math status (BM_STATUS) informations More...

#include <c_basic_math.h>

List of all members.

Public Attributes

int status
 the complete status as 32 bit value
struct {
   int   undef: 1
 status bit 0 = 1: value is not defined
   int   overflow: 1
 status bit 1 = 1: the result would be out of range and was limited
   int   divideZero: 1
 status bit 2 = 1: divide by zero
   int   zeroDivZero: 1
 status bit 3 = 1: zero divide by zero
   int   baseExpZero: 1
 status bit 4 = 1: 0 pow 0 (base and exponent are zero)
   int   zeroExpNeg: 1
 status bit 5 = 1: 0 pow -n (base = 0 and exp < 0)
   int   negRadicand: 1
 status bit 6 = 1: root with negative radicand
   int   trigonArcErr: 1
 status bit 7 = 1: arcSin or arcCos out of range [-1..+1]
   int   trigonCotErr: 1
 status bit 8 = 1: x for cot(x) is out of range [x = k * PI]
   int   rootExpZero: 1
 status bit 9 = 1: 0-root (zero exponent for the root)
   int   logBaseZero: 1
 status bit 10 = 1: 0-base (zero base for the logarithm)
   int   logBaseOne: 1
 status bit 11 = 1: 1-base (base=1 for logarithm)
   int   int64overflow: 1
 status bit 12 = 1: integer part out of range ( > max. of 64-bit integer)
   int   strErr: 1
 status bit 13 = 1: string error (convert from string to double failed)
   int   intPowNegExp: 1
 status bit 14 = 1: integer power failed because of negative exponent
   int   unused: 15
 status bit 15..29 are currently unused
   int   underflow: 1
 status bit 30 = 1: too close on zero
   int   negative: 1
 status bit 31 = 1: the value is negative
}; 

Detailed Description

basic math status (BM_STATUS) informations

as unnamed union of a 32-bit integer value
or named bits for details


Member Data Documentation

status bit 4 = 1: 0 pow 0 (base and exponent are zero)

base^exp = 0^0

status bit 2 = 1: divide by zero

numerator > 0 but denominator = 0

status bit 12 = 1: integer part out of range ( > max. of 64-bit integer)

integer part is higher then max. of 64-bit integer

status bit 14 = 1: integer power failed because of negative exponent

this bit indicates an error of e.g. 2^(-3)

status bit 11 = 1: 1-base (base=1 for logarithm)

base for the logarithm is 1

status bit 10 = 1: 0-base (zero base for the logarithm)

base of the logarithm is zero

status bit 31 = 1: the value is negative

is used together with "overflow"

status bit 6 = 1: root with negative radicand

radicand is negative

status bit 1 = 1: the result would be out of range and was limited

positive or negative overflow occured. With a negative overflow bit "negative" is also set

status bit 9 = 1: 0-root (zero exponent for the root)

root was called with zero exponent

the complete status as 32 bit value

use the following bit definitions for details

status bit 13 = 1: string error (convert from string to double failed)

this bit indicates an error of e.g. the sscanf function

status bit 7 = 1: arcSin or arcCos out of range [-1..+1]

arcSin or arcCos was called with value outside range of -1..+1

status bit 8 = 1: x for cot(x) is out of range [x = k * PI]

assignCot() was called with value x = k * PI (k element N)

status bit 0 = 1: value is not defined

up to now no value was assigned

status bit 30 = 1: too close on zero

the value would be lower than DBL_NOT_ZERO

status bit 15..29 are currently unused

unused bits to fill up to 32 bits

status bit 3 = 1: zero divide by zero

numerator = 0 and denominator = 0

status bit 5 = 1: 0 pow -n (base = 0 and exp < 0)

base = 0 and exp < 0


The documentation for this union was generated from the following file:
 All Classes Files Functions Variables Typedefs Defines
Generated on Mon Nov 22 06:27:34 2010 by  doxygen 1.6.3