|
| 1 | +//===-- Unittests for absfx -----------------------------------------------===// |
| 2 | +// |
| 3 | +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 4 | +// See https://llvm.org/LICENSE.txt for license information. |
| 5 | +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 6 | +// |
| 7 | +//===----------------------------------------------------------------------===// |
| 8 | + |
| 9 | +#include "AbsTest.h" |
| 10 | +#include "src/stdfix/abshk.h" |
| 11 | +#include "src/stdfix/abshr.h" |
| 12 | +#include "src/stdfix/absk.h" |
| 13 | +#include "src/stdfix/abslk.h" |
| 14 | +#include "src/stdfix/abslr.h" |
| 15 | +#include "src/stdfix/absr.h" |
| 16 | + |
| 17 | +#include "src/stdfix/countlshk.h" |
| 18 | +#include "src/stdfix/countlshr.h" |
| 19 | +#include "src/stdfix/countlsk.h" |
| 20 | +#include "src/stdfix/countlslk.h" |
| 21 | +#include "src/stdfix/countlslr.h" |
| 22 | +#include "src/stdfix/countlsr.h" |
| 23 | +#include "src/stdfix/countlsuhk.h" |
| 24 | +#include "src/stdfix/countlsuhr.h" |
| 25 | +#include "src/stdfix/countlsuk.h" |
| 26 | +#include "src/stdfix/countlsulk.h" |
| 27 | +#include "src/stdfix/countlsulr.h" |
| 28 | +#include "src/stdfix/countlsur.h" |
| 29 | + |
| 30 | +#include "src/stdfix/roundhk.h" |
| 31 | +#include "src/stdfix/roundhr.h" |
| 32 | +#include "src/stdfix/roundk.h" |
| 33 | +#include "src/stdfix/roundlk.h" |
| 34 | +#include "src/stdfix/roundlr.h" |
| 35 | +#include "src/stdfix/roundr.h" |
| 36 | +#include "src/stdfix/rounduhk.h" |
| 37 | +#include "src/stdfix/rounduhr.h" |
| 38 | +#include "src/stdfix/rounduk.h" |
| 39 | +#include "src/stdfix/roundulk.h" |
| 40 | +#include "src/stdfix/roundulr.h" |
| 41 | +#include "src/stdfix/roundur.h" |
| 42 | + |
| 43 | +using LIBC_NAMESPACE::abshk; |
| 44 | +using LIBC_NAMESPACE::abshr; |
| 45 | +using LIBC_NAMESPACE::absk; |
| 46 | +using LIBC_NAMESPACE::abslk; |
| 47 | +using LIBC_NAMESPACE::abslr; |
| 48 | +using LIBC_NAMESPACE::absr; |
| 49 | +using LIBC_NAMESPACE::countlshk; |
| 50 | +using LIBC_NAMESPACE::countlshr; |
| 51 | +using LIBC_NAMESPACE::countlsk; |
| 52 | +using LIBC_NAMESPACE::countlslk; |
| 53 | +using LIBC_NAMESPACE::countlslr; |
| 54 | +using LIBC_NAMESPACE::countlsr; |
| 55 | +using LIBC_NAMESPACE::countlsuhk; |
| 56 | +using LIBC_NAMESPACE::countlsuhr; |
| 57 | +using LIBC_NAMESPACE::countlsuk; |
| 58 | +using LIBC_NAMESPACE::countlsulk; |
| 59 | +using LIBC_NAMESPACE::countlsulr; |
| 60 | +using LIBC_NAMESPACE::countlsur; |
| 61 | +using LIBC_NAMESPACE::roundhk; |
| 62 | +using LIBC_NAMESPACE::roundhr; |
| 63 | +using LIBC_NAMESPACE::roundk; |
| 64 | +using LIBC_NAMESPACE::roundlk; |
| 65 | +using LIBC_NAMESPACE::roundlr; |
| 66 | +using LIBC_NAMESPACE::roundr; |
| 67 | +using LIBC_NAMESPACE::rounduhk; |
| 68 | +using LIBC_NAMESPACE::rounduhr; |
| 69 | +using LIBC_NAMESPACE::rounduk; |
| 70 | +using LIBC_NAMESPACE::roundulk; |
| 71 | +using LIBC_NAMESPACE::roundulr; |
| 72 | +using LIBC_NAMESPACE::roundur; |
| 73 | + |
| 74 | +TEST(LlvmLibcAbsfxTest, Basic) { |
| 75 | + ASSERT_EQ(absfx(-0.5r), absr(-0.5r)); |
| 76 | + ASSERT_EQ(absfx(-0.5hr), abshr(-0.5hr)); |
| 77 | + ASSERT_EQ(absfx(-0.5lr), abslr(-0.5lr)); |
| 78 | + ASSERT_EQ(absfx(-0.5k), absk(-0.5k)); |
| 79 | + ASSERT_EQ(absfx(-0.5hk), abshk(-0.5hk)); |
| 80 | + ASSERT_EQ(absfx(-0.5lk), abslk(-0.5lk)); |
| 81 | +} |
| 82 | + |
| 83 | +TEST(LlvmLibcRoundfxTest, Basic) { |
| 84 | + ASSERT_EQ(roundfx(0.75r, 0), roundr(0.75r, 0)); |
| 85 | + ASSERT_EQ(roundfx(0.75hr, 0), roundhr(0.75hr, 0)); |
| 86 | + ASSERT_EQ(roundfx(0.75lr, 0), roundlr(0.75lr, 0)); |
| 87 | + ASSERT_EQ(roundfx(0.75k, 0), roundk(0.75k, 0)); |
| 88 | + ASSERT_EQ(roundfx(0.75hk, 0), roundhk(0.75hk, 0)); |
| 89 | + ASSERT_EQ(roundfx(0.75lk, 0), roundlk(0.75lk, 0)); |
| 90 | + |
| 91 | + ASSERT_EQ(roundfx(0.75ur, 0), roundur(0.75ur, 0)); |
| 92 | + ASSERT_EQ(roundfx(0.75uhr, 0), rounduhr(0.75uhr, 0)); |
| 93 | + ASSERT_EQ(roundfx(0.75ulr, 0), roundulr(0.75ulr, 0)); |
| 94 | + ASSERT_EQ(roundfx(0.75uk, 0), rounduk(0.75uk, 0)); |
| 95 | + ASSERT_EQ(roundfx(0.75uhk, 0), rounduhk(0.75uhk, 0)); |
| 96 | + ASSERT_EQ(roundfx(0.75ulk, 0), roundulk(0.75ulk, 0)); |
| 97 | +} |
| 98 | + |
| 99 | +TEST(LlvmLibcCountlsfxTest, Basic) { |
| 100 | + ASSERT_EQ(countlsfx(0.5r), countlsr(0.5r)); |
| 101 | + ASSERT_EQ(countlsfx(0.5hr), countlshr(0.5hr)); |
| 102 | + ASSERT_EQ(countlsfx(0.5lr), countlslr(0.5lr)); |
| 103 | + ASSERT_EQ(countlsfx(0.5k), countlsk(0.5k)); |
| 104 | + ASSERT_EQ(countlsfx(0.5hk), countlshk(0.5hk)); |
| 105 | + ASSERT_EQ(countlsfx(0.5lk), countlslk(0.5lk)); |
| 106 | + |
| 107 | + ASSERT_EQ(countlsfx(0.5ur), countlsur(0.5ur)); |
| 108 | + ASSERT_EQ(countlsfx(0.5uhr), countlsuhr(0.5uhr)); |
| 109 | + ASSERT_EQ(countlsfx(0.5ulr), countlsulr(0.5ulr)); |
| 110 | + ASSERT_EQ(countlsfx(0.5uk), countlsuk(0.5uk)); |
| 111 | + ASSERT_EQ(countlsfx(0.5uhk), countlsuhk(0.5uhk)); |
| 112 | + ASSERT_EQ(countlsfx(0.5ulk), countlsulk(0.5ulk)); |
| 113 | +} |
0 commit comments