Numerical Definitions

Numerical Definitions

Synopsis


#include <glib.h>

#define             G_IEEE754_FLOAT_BIAS
#define             G_IEEE754_DOUBLE_BIAS
union               GFloatIEEE754;
union               GDoubleIEEE754;


#define             G_E
#define             G_LN2
#define             G_LN10
#define             G_PI
#define             G_PI_2
#define             G_PI_4
#define             G_SQRT2
#define             G_LOG_2_BASE_10

Description

Details

G_IEEE754_FLOAT_BIAS

#define G_IEEE754_FLOAT_BIAS	(127)


G_IEEE754_DOUBLE_BIAS

#define G_IEEE754_DOUBLE_BIAS	(1023)


union GFloatIEEE754

union GFloatIEEE754
{
  gfloat v_float;
  struct {
    guint mantissa : 23;
    guint biased_exponent : 8;
    guint sign : 1;
  } mpn;
};


union GDoubleIEEE754

union GDoubleIEEE754
{
  gdouble v_double;
  struct {
    guint mantissa_low : 32;
    guint mantissa_high : 20;
    guint biased_exponent : 11;
    guint sign : 1;
  } mpn;
};


G_E

#define G_E     2.7182818284590452353602874713526624977572470937000


G_LN2

#define G_LN2   0.69314718055994530941723212145817656807550013436026


G_LN10

#define G_LN10  2.3025850929940456840179914546843642076011014886288


G_PI

#define G_PI    3.1415926535897932384626433832795028841971693993751


G_PI_2

#define G_PI_2  1.5707963267948966192313216916397514420985846996876


G_PI_4

#define G_PI_4  0.78539816339744830961566084581987572104929234984378


G_SQRT2

#define G_SQRT2 1.4142135623730950488016887242096980785696718753769


G_LOG_2_BASE_10

#define G_LOG_2_BASE_10		(0.30102999566398119521)