summaryrefslogtreecommitdiff
path: root/libc/i386fp/fplib.h
blob: f110717ccf773fc7b50b7b9b0ef2ba7ede1d4c3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#define ALIGNMENT	4
#define CHAR_BIT	8
#define D_BIT		(D_SIZE * CHAR_BIT)
#define D_EXP_BIAS	((1 << (D_EXP_BIT - 1)) - 1)
#define D_EXP_BIT	11
#define D_EXP_INFINITE	((1 << D_EXP_BIT) - 1)
#define D_EXP_MASK	(((1 << D_EXP_BIT) - 1) << D_EXP_SHIFT)
#define D_EXP_SHIFT	(REG_BIT - (1 + D_EXP_BIT))
#define D_FRAC_BIT	53
#define D_FRAC_MASK	(D_NORM_MASK - 1)
#define D_HIGH		4
#define D_HUGE_HIGH	(D_EXP_MASK - 1)
#define D_HUGE_LOW	0xFFFFFFFF
#define D_LOW		0
#define D_NORM_BIT	(D_FRAC_BIT - 1 - REG_BIT)
#define D_NORM_MASK	(1 << D_NORM_BIT)
#define D_SIGN_BIT	63
#define D_SIGN_MASK	(1 << (D_SIGN_BIT - REG_BIT))
#define D_SIZE		8
#define F_BIT		(F_SIZE * CHAR_BIT)
#define F_EXP_BIAS	((1 << (F_EXP_BIT - 1)) - 1)
#define F_EXP_BIT	8
#define F_EXP_INFINITE	((1 << F_EXP_BIT) - 1)
#define F_EXP_MASK	(((1 << F_EXP_BIT) - 1) << F_EXP_SHIFT)
#define F_EXP_SHIFT	(REG_BIT - (1 + F_EXP_BIT))
#define F_FRAC_BIT	24
#define F_FRAC_MASK	(F_NORM_MASK - 1)
#define F_HIGH		0
#define F_HUGE_HIGH	(F_EXP_MASK - 1)
#define F_NORM_BIT	(F_FRAC_BIT - 1)
#define F_NORM_MASK	(1 << F_NORM_BIT)
#define F_SIGN_BIT	31
#define F_SIGN_MASK	(1 << F_SIGN_BIT)
#define F_SIZE		4
#define FREE_D_SIGN_BIT_TEST	(D_SIGN_BIT % REG_BIT == REG_BIT - 1)
#define GENREG_SIZE	4
#define INT_BIT		32
#define INT_MAX		0x7FFFFFFF
#define INT_MIN		(-0x7FFFFFFF - 1)
#define PC_SIZE		4
#define REG_BIT		32
#define SHORT_BIT	16
#define UINT_MAX	0xFFFFFFFF