245 lines · plain
1if(NOT LIBC_COMPILER_HAS_FIXED_POINT)2 return()3endif()4 5add_custom_target(libc-stdfix-tests)6 7foreach(suffix IN ITEMS hr r lr hk k lk)8 add_libc_test(9 abs${suffix}_test10 SUITE11 libc-stdfix-tests12 HDRS13 AbsTest.h14 SRCS15 abs${suffix}_test.cpp16 COMPILE_OPTIONS17 ${libc_opt_high_flag}18 DEPENDS19 libc.src.stdfix.abs${suffix}20 libc.src.__support.fixed_point.fx_bits21 )22endforeach()23 24foreach(suffix IN ITEMS uhr ur ulr uhk uk)25 add_libc_test(26 sqrt${suffix}_test27 SUITE28 libc-stdfix-tests29 HDRS30 SqrtTest.h31 SRCS32 sqrt${suffix}_test.cpp33 COMPILE_OPTIONS34 ${libc_opt_high_flag}35 DEPENDS36 libc.src.stdfix.sqrt${suffix}37 libc.src.__support.CPP.bit38 libc.src.__support.fixed_point.fx_rep39 libc.src.__support.fixed_point.sqrt40 libc.src.__support.FPUtil.basic_operations41 libc.src.__support.FPUtil.sqrt42 )43endforeach()44 45foreach(suffix IN ITEMS hr r lr hk k lk uhr ur ulr uhk uk ulk)46 add_libc_test(47 round${suffix}_test48 SUITE49 libc-stdfix-tests50 HDRS51 RoundTest.h52 SRCS53 round${suffix}_test.cpp54 COMPILE_OPTIONS55 ${libc_opt_high_flag}56 DEPENDS57 libc.src.stdfix.round${suffix}58 libc.src.__support.fixed_point.fx_bits59 )60 61 add_libc_test(62 ${suffix}bits_test63 SUITE64 libc-stdfix-tests65 HDRS66 FxBitsTest.h67 SRCS68 ${suffix}bits_test.cpp69 COMPILE_OPTIONS70 ${libc_opt_high_flag}71 DEPENDS72 libc.src.stdfix.${suffix}bits73 libc.src.__support.CPP.bit74 libc.src.__support.fixed_point.fx_bits75 )76 77 add_libc_test(78 bits${suffix}_test79 SUITE80 libc-stdfix-tests81 HDRS82 BitsFxTest.h83 SRCS84 bits${suffix}_test.cpp85 DEPENDS86 libc.include.llvm-libc-types.int_k_t87 libc.include.llvm-libc-types.int_hr_t88 libc.include.llvm-libc-types.int_lk_t89 libc.include.llvm-libc-types.int_lr_t90 libc.include.llvm-libc-types.int_r_t91 libc.include.llvm-libc-types.uint_uhk_t92 libc.include.llvm-libc-types.uint_uhr_t93 libc.include.llvm-libc-types.uint_uk_t94 libc.include.llvm-libc-types.uint_ulk_t95 libc.include.llvm-libc-types.uint_ulr_t96 libc.include.llvm-libc-types.uint_ur_t97 libc.include.llvm-libc-types.int_hk_t98 libc.src.stdfix.bits${suffix}99 libc.src.__support.fixed_point.fx_rep100 libc.src.__support.fixed_point.fx_bits101 )102 103 add_libc_test(104 countls${suffix}_test105 SUITE106 libc-stdfix-tests107 HDRS108 CountlsTest.h109 SRCS110 countls${suffix}_test.cpp111 DEPENDS112 libc.src.stdfix.countls${suffix}113 libc.src.__support.fixed_point.fx_rep114 libc.src.__support.fixed_point.fx_bits115 )116endforeach()117 118foreach(suffix IN ITEMS r lr k lk ur ulr uk ulk)119 add_libc_test(120 idiv${suffix}_test121 SUITE122 libc-stdfix-tests123 HDRS124 IdivTest.h125 SRCS126 idiv${suffix}_test.cpp127 DEPENDS128 libc.src.stdfix.idiv${suffix}129 libc.src.__support.fixed_point.fx_bits130 libc.hdr.signal_macros131 )132endforeach()133 134foreach(suffix IN ITEMS r)135 add_libc_test(136 ${suffix}divi_test137 SUITE138 libc-stdfix-tests139 HDRS140 DivITest.h141 SRCS142 ${suffix}divi_test.cpp143 DEPENDS144 libc.src.stdfix.${suffix}divi145 libc.src.__support.fixed_point.fx_bits146 libc.hdr.signal_macros147 )148endforeach()149 150add_libc_test(151 uhksqrtus_test152 SUITE153 libc-stdfix-tests154 HDRS155 ISqrtTest.h156 SRCS157 uhksqrtus_test.cpp158 COMPILE_OPTIONS159 ${libc_opt_high_flag}160 DEPENDS161 libc.src.stdfix.uhksqrtus162 libc.src.__support.CPP.bit163 libc.src.__support.fixed_point.fx_rep164 libc.src.__support.fixed_point.sqrt165 libc.src.__support.FPUtil.basic_operations166 libc.src.__support.FPUtil.sqrt167)168 169add_libc_test(170 uksqrtui_test171 SUITE172 libc-stdfix-tests173 HDRS174 ISqrtTest.h175 SRCS176 uksqrtui_test.cpp177 COMPILE_OPTIONS178 ${libc_opt_high_flag}179 DEPENDS180 libc.src.stdfix.uksqrtui181 libc.src.__support.CPP.bit182 libc.src.__support.fixed_point.fx_rep183 libc.src.__support.fixed_point.sqrt184 libc.src.__support.FPUtil.basic_operations185 libc.src.__support.FPUtil.sqrt186)187 188add_libc_test(189 exphk_test190 SUITE191 libc-stdfix-tests192 HDRS193 ExpTest.h194 SRCS195 exphk_test.cpp196 COMPILE_OPTIONS197 ${libc_opt_high_flag}198 DEPENDS199 libc.src.stdfix.exphk200 libc.src.math.exp201 libc.src.__support.CPP.bit202 libc.src.__support.fixed_point.fx_rep203 libc.src.__support.FPUtil.basic_operations204)205 206add_libc_test(207 expk_test208 SUITE209 libc-stdfix-tests210 HDRS211 ExpTest.h212 SRCS213 expk_test.cpp214 COMPILE_OPTIONS215 ${libc_opt_high_flag}216 DEPENDS217 libc.src.stdfix.expk218 libc.src.math.exp219 libc.src.__support.CPP.bit220 libc.src.__support.fixed_point.fx_rep221 libc.src.__support.FPUtil.basic_operations222)223 224set(macros_depends)225 226foreach(s IN ITEMS r hr lr k hk lk)227 list(APPEND macros_depends228 libc.src.stdfix.abs${s}229 libc.src.stdfix.countls${s}230 libc.src.stdfix.countlsu${s}231 libc.src.stdfix.round${s}232 libc.src.stdfix.roundu${s}233 )234endforeach()235 236add_libc_test(237 macros_test238 SUITE libc-stdfix-tests239 SRCS macros_test.cpp240 DEPENDS241 libc.include.stdfix242 ${macros_depends}243)244 245