xref: /llvm-project/libc/src/stdfix/CMakeLists.txt (revision c71418574f1bb9e4678428901775c8b633cded09)
1if(NOT LIBC_COMPILER_HAS_FIXED_POINT)
2  return()
3endif()
4
5foreach(suffix IN ITEMS hr r lr hk k lk)
6  add_entrypoint_object(
7    abs${suffix}
8    HDRS
9      abs${suffix}.h
10    SRCS
11      abs${suffix}.cpp
12    COMPILE_OPTIONS
13      ${libc_opt_high_flag}
14    DEPENDS
15      libc.src.__support.fixed_point.fx_bits
16  )
17endforeach()
18
19foreach(suffix IN ITEMS uhr ur ulr uhk uk)
20  add_entrypoint_object(
21    sqrt${suffix}
22    HDRS
23      sqrt${suffix}.h
24    SRCS
25      sqrt${suffix}.cpp
26    COMPILE_OPTIONS
27      ${libc_opt_high_flag}
28    DEPENDS
29      libc.src.__support.fixed_point.sqrt
30  )
31endforeach()
32
33foreach(suffix IN ITEMS hr r lr hk k lk uhr ur ulr uhk uk ulk)
34  add_entrypoint_object(
35    round${suffix}
36    HDRS
37      round${suffix}.h
38    SRCS
39      round${suffix}.cpp
40    COMPILE_OPTIONS
41      ${libc_opt_high_flag}
42    DEPENDS
43      libc.src.__support.fixed_point.fx_bits
44  )
45
46  add_entrypoint_object(
47    ${suffix}bits
48    HDRS
49      ${suffix}bits.h
50    SRCS
51      ${suffix}bits.cpp
52    DEPENDS
53      libc.src.__support.CPP.bit
54      libc.src.__support.fixed_point.fx_bits
55  )
56endforeach()
57
58add_entrypoint_object(
59  uhksqrtus
60  HDRS
61    uhksqrtus.h
62  SRCS
63    uhksqrtus.cpp
64  COMPILE_OPTIONS
65    ${libc_opt_high_flag}
66  DEPENDS
67    libc.src.__support.fixed_point.sqrt
68)
69
70add_entrypoint_object(
71  uksqrtui
72  HDRS
73    uksqrtui.h
74  SRCS
75    uksqrtui.cpp
76  COMPILE_OPTIONS
77    ${libc_opt_high_flag}
78  DEPENDS
79    libc.src.__support.fixed_point.sqrt
80)
81
82add_entrypoint_object(
83  exphk
84  HDRS
85    exphk.h
86  SRCS
87    exphk.cpp
88  COMPILE_OPTIONS
89    ${libc_opt_high_flag}
90  DEPENDS
91    libc.src.__support.fixed_point.fx_rep
92    libc.src.__support.CPP.bit
93)
94
95add_entrypoint_object(
96  expk
97  HDRS
98    expk.h
99  SRCS
100    expk.cpp
101  COMPILE_OPTIONS
102    ${libc_opt_high_flag}
103  DEPENDS
104    libc.src.__support.fixed_point.fx_rep
105    libc.src.__support.CPP.bit
106)
107