blob: b6e37d620ed06e0eaaa41e1d682f863cfe381b27 (
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
44
45
46
47
48
49
50
51
52
53
54
55
|
Const
FE_INVALID = $01;
__FE_DENORM = $02;
FE_DIVBYZERO = $04;
FE_OVERFLOW = $08;
FE_UNDERFLOW = $10;
FE_INEXACT = $20;
FE_ALL_EXCEPT = (((FE_INEXACT or FE_DIVBYZERO) or FE_UNDERFLOW) or FE_OVERFLOW) or FE_INVALID;
FE_TONEAREST = 0;
FE_DOWNWARD = $400;
FE_UPWARD = $800;
FE_TOWARDZERO = $c00;
type
Pfexcept_t = ^fexcept_t;
fexcept_t = word;
Pfenv_t = ^fenv_t;
fenv_t = record
__control_word : word;
__unused1 : word;
__status_word : word;
__unused2 : word;
__tags : word;
__unused3 : word;
__eip : dword;
__cs_selector : word;
flag0 : word;
__data_offset : dword;
__data_selector : word;
__unused5 : word;
end;
const
bm_fenv_t___opcode = $7FF;
bp_fenv_t___opcode = 0;
bm_fenv_t___unused4 = $F800;
bp_fenv_t___unused4 = 11;
const
FE_DFL_ENV = Pfenv_t(-1);
FE_NOMASK_ENV = Pfenv_t(-2);
{ ---------------------------------------------------------------------
Borland compatibility types
---------------------------------------------------------------------}
Type
TExceptionFlags = fexcept_t;
PExceptionFlags = ^TExceptionFlags;
TFloatingPointEnv = fenv_t;
PFloatingPointEnv = ^TFloatingPointEnv;
|