aboutsummaryrefslogtreecommitdiff
path: root/libc/src/__support/FPUtil/CMakeLists.txt
blob: 01ca4254c79962d8c4d9ef7003d2fd46a418946d (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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
add_header_library(
  fenv_impl
  HDRS
    FEnvImpl.h
  DEPENDS
    libc.hdr.types.fenv_t
    libc.hdr.fenv_macros
    libc.hdr.math_macros
    libc.src.__support.macros.attributes
    libc.src.errno.errno
)

add_header_library(
  rounding_mode
  HDRS
    rounding_mode.h
  DEPENDS
    libc.hdr.fenv_macros
    libc.src.__support.macros.attributes
    libc.src.__support.macros.properties.architectures
    libc.src.__support.macros.sanitizer
    libc.src.errno.errno
)

add_header_library(
  fp_bits
  HDRS
    FPBits.h
  DEPENDS
    libc.src.__support.common
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.libc_assert
    libc.src.__support.macros.attributes
    libc.src.__support.macros.properties.types
    libc.src.__support.math_extras
    libc.src.__support.sign
    libc.src.__support.uint128
)

add_header_library(
  fpbits_str
  HDRS
    fpbits_str.h
  DEPENDS
    .fp_bits
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.macros.attributes
    libc.src.__support.common
    libc.src.__support.integer_to_string
)

add_header_library(
  nearest_integer_operations
  HDRS
    NearestIntegerOperations.h
  DEPENDS
    .fp_bits
    .fenv_impl
    .rounding_mode
    libc.hdr.math_macros
    libc.src.__support.CPP.type_traits
    libc.src.__support.common
    libc.src.errno.errno
)

add_header_library(
  normal_float
  HDRS
    NormalFloat.h
  DEPENDS
    .fp_bits
    libc.src.__support.CPP.type_traits
    libc.src.__support.common
)

add_header_library(
  basic_operations
  HDRS
    BasicOperations.h
  DEPENDS
    .fp_bits
    .fenv_impl
    libc.src.__support.CPP.type_traits
    libc.src.__support.uint128
    libc.src.__support.common
    libc.src.__support.macros.optimization
)

add_header_library(
  division_and_remainder_operations
  HDRS
    DivisionAndRemainderOperations.h
  DEPENDS
    .fp_bits
    .manipulation_functions
    .normal_float
    libc.src.__support.CPP.type_traits
    libc.src.__support.common
)

add_header_library(
  except_value_utils
  HDRS
    except_value_utils.h
  DEPENDS
    .fp_bits
    .fenv_impl
    .rounding_mode
    libc.src.__support.CPP.optional
    libc.src.__support.macros.optimization
)


add_header_library(
  hypot
  HDRS
    Hypot.h
  DEPENDS
    .basic_operations
    .fenv_impl
    .fp_bits
    .rounding_mode
    libc.src.__support.common
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.uint128
)

add_header_library(
  sqrt
  HDRS
    sqrt.h
  DEPENDS
    libc.src.__support.common
    libc.src.__support.FPUtil.generic.sqrt
)

add_header_library(
  fma
  HDRS
    FMA.h
  DEPENDS
    libc.src.__support.common
    libc.src.__support.CPP.type_traits
    libc.src.__support.FPUtil.generic.fma
  FLAGS
    FMA_OPT
)

add_header_library(
  multiply_add
  HDRS
    multiply_add.h
  DEPENDS
    .fma
    libc.src.__support.common
)

add_header_library(
  polyeval
  HDRS
    PolyEval.h
  DEPENDS
    .multiply_add
    libc.src.__support.common
)

add_header_library(
  nearest_integer
  HDRS
    nearest_integer.h
  DEPENDS
    libc.src.__support.common
    libc.src.__support.macros.optimization
  FLAGS
    ROUND_OPT
)

add_header_library(
  double_double
  HDRS
    double_double.h
  DEPENDS
    libc.src.__support.common
    libc.src.__support.number_pair
    .multiply_add
)

add_header_library(
  triple_double
  HDRS
    triple_double.h
)

add_header_library(
  dyadic_float
  HDRS
    dyadic_float.h
  DEPENDS
    .fp_bits
    .multiply_add
    libc.src.__support.big_int
    libc.src.__support.common
    libc.src.__support.macros.optimization
)

add_header_library(
  manipulation_functions
  HDRS
    ManipulationFunctions.h
  DEPENDS
    .fenv_impl
    .fp_bits
    .dyadic_float
    .nearest_integer_operations
    .normal_float
    libc.hdr.math_macros
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.limits
    libc.src.__support.CPP.type_traits
    libc.src.__support.common
    libc.src.__support.macros.optimization
    libc.src.errno.errno
)

add_subdirectory(generic)