数值定义

数值定义 — mathematical constants, and floating point decomposition 数学常数和浮点运算分解

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

GLib提供例如 G_PI 之于 pi 的数学常数; 许多平台都有这些 C 库,但有的平台也不提供,这个 GLib 版本总是有的。

GFloatIEEE754GDoubleIEEE754 联合被用于访问访问标识,IEEE floats 与 doubles的尾数和指数。 这些联合的定义适合某一特定平台。IEEE floats 与 doubles 至少支持(用于存储) Intel,PPC 和 Sparc,参考: http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html

Details

G_IEEE754_FLOAT_BIAS

#define G_IEEE754_FLOAT_BIAS (127)

http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html


G_IEEE754_DOUBLE_BIAS

#define G_IEEE754_DOUBLE_BIAS (1023)

http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html


union GFloatIEEE754

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

GFloatIEEE754GDoubleIEEE754 联合被用于访问访问标识,IEEE floats 与 doubles的尾数和指数。 这些联合的定义适合某一特定平台。IEEE floats 与 doubles 至少支持(用于存储) Intel,PPC 和 Sparc,参考: http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html


union GDoubleIEEE754

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

GFloatIEEE754GDoubleIEEE754 联合被用于访问访问标识,IEEE floats 与 doubles的尾数和指数。 这些联合的定义适合某一特定平台。IEEE floats 与 doubles 至少支持(用于存储) Intel,PPC 和 Sparc,参考: http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html


G_E

#define G_E     2.7182818284590452353602874713526624977572470937000

自然对数的基数。


G_LN2

#define G_LN2   0.69314718055994530941723212145817656807550013436026

2的自然对数。


G_LN10

#define G_LN10  2.3025850929940456840179914546843642076011014886288

10的自然对数。


G_PI

#define G_PI    3.1415926535897932384626433832795028841971693993751

PI 值(圆的周长与直径之比)。


G_PI_2

#define G_PI_2  1.5707963267948966192313216916397514420985846996876

Pi 除以 2。


G_PI_4

#define G_PI_4  0.78539816339744830961566084581987572104929234984378

Pi 除以 4。


G_SQRT2

#define G_SQRT2 1.4142135623730950488016887242096980785696718753769

2的平方根。


G_LOG_2_BASE_10

#define G_LOG_2_BASE_10		(0.30102999566398119521)

Used for fooling around with float formats【这里搞不定。。。。。】, 见 http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html