aboutsummaryrefslogtreecommitdiff
path: root/source/subj-C/subjfloat_config.h
blob: b3563822b6b874b329d7fd1b770c26491a390f2a (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

/*----------------------------------------------------------------------------
| The following macros are defined to indicate all the subject functions that
| exist.
*----------------------------------------------------------------------------*/

#define SUBJ_UI32_TO_F32
#define SUBJ_UI64_TO_F32
#define SUBJ_I32_TO_F32
#define SUBJ_I64_TO_F32

#define SUBJ_F32_TO_UI32_RX_MINMAG
#define SUBJ_F32_TO_UI64_RX_MINMAG
#define SUBJ_F32_TO_I32_RX_MINMAG
#define SUBJ_F32_TO_I64_RX_MINMAG
#define SUBJ_F32_ADD
#define SUBJ_F32_SUB
#define SUBJ_F32_MUL
#define SUBJ_F32_DIV
#define SUBJ_F32_EQ
#define SUBJ_F32_LE
#define SUBJ_F32_LT

#ifdef FLOAT64

#define SUBJ_UI32_TO_F64
#define SUBJ_UI64_TO_F64
#define SUBJ_I32_TO_F64
#define SUBJ_I64_TO_F64

#define SUBJ_F32_TO_F64

#define SUBJ_F64_TO_UI32_RX_MINMAG
#define SUBJ_F64_TO_UI64_RX_MINMAG
#define SUBJ_F64_TO_I32_RX_MINMAG
#define SUBJ_F64_TO_I64_RX_MINMAG
#define SUBJ_F64_TO_F32
#define SUBJ_F64_ADD
#define SUBJ_F64_SUB
#define SUBJ_F64_MUL
#define SUBJ_F64_DIV
#define SUBJ_F64_SQRT
#define SUBJ_F64_EQ
#define SUBJ_F64_LE
#define SUBJ_F64_LT

#endif

#if defined EXTFLOAT80 && defined LONG_DOUBLE_IS_EXTFLOAT80

#define SUBJ_UI32_TO_EXTF80
#define SUBJ_UI64_TO_EXTF80
#define SUBJ_I32_TO_EXTF80
#define SUBJ_I64_TO_EXTF80

#define SUBJ_F32_TO_EXTF80
#ifdef FLOAT64
#define SUBJ_F64_TO_EXTF80
#endif

#define SUBJ_EXTF80_TO_UI32_RX_MINMAG
#define SUBJ_EXTF80_TO_UI64_RX_MINMAG
#define SUBJ_EXTF80_TO_I32_RX_MINMAG
#define SUBJ_EXTF80_TO_I64_RX_MINMAG
#define SUBJ_EXTF80_TO_F32
#ifdef FLOAT64
#define SUBJ_EXTF80_TO_F64
#endif
#define SUBJ_EXTF80_ADD
#define SUBJ_EXTF80_SUB
#define SUBJ_EXTF80_MUL
#define SUBJ_EXTF80_DIV
#define SUBJ_EXTF80_EQ
#define SUBJ_EXTF80_LE
#define SUBJ_EXTF80_LT

#endif

#if defined FLOAT128 && defined LONG_DOUBLE_IS_FLOAT128

#define SUBJ_UI32_TO_F128
#define SUBJ_UI64_TO_F128
#define SUBJ_I32_TO_F128
#define SUBJ_I64_TO_F128

#define SUBJ_F32_TO_F128
#ifdef FLOAT64
#define SUBJ_F64_TO_F128
#endif

#define SUBJ_F128_TO_UI32_RX_MINMAG
#define SUBJ_F128_TO_UI64_RX_MINMAG
#define SUBJ_F128_TO_I32_RX_MINMAG
#define SUBJ_F128_TO_I64_RX_MINMAG
#define SUBJ_F128_TO_F32
#ifdef FLOAT64
#define SUBJ_F128_TO_F64
#endif
#define SUBJ_F128_ADD
#define SUBJ_F128_SUB
#define SUBJ_F128_MUL
#define SUBJ_F128_DIV
#define SUBJ_F128_EQ
#define SUBJ_F128_LE
#define SUBJ_F128_LT

#endif