Skip to content

Commit 086b4e7

Browse files
author
smallp-o-p
committed
Add test cases for all fxbits functions
1 parent f0747e0 commit 086b4e7

File tree

13 files changed

+52
-5
lines changed

13 files changed

+52
-5
lines changed

libc/test/src/stdfix/FxbitsTest.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,14 @@ template <typename T, typename XType> class FxbitsTest : public LIBC_NAMESPACE::
2727
void testSpecialNumbers(FxbitsFunc func) {
2828
EXPECT_EQ(zero, func(0));
2929
EXPECT_EQ(half, func((XType) (0b1 << (FXRep::FRACTION_LEN - 1)))); // 0.1000...b
30+
EXPECT_EQ(min, func((XType) 0x1));
31+
EXPECT_EQ(one, func(1));
32+
EXPECT_EQ(neg_one, func(-1));
3033
}
3134
};
3235

3336

3437
#define LIST_FXBITS_TEST(T, XType, func) \
35-
using LlvmLibcFxbitsTest = FxbitsTest<T, XType>; \
36-
TEST_F(LlvmLibcFxbitsTest, SpecialNumbers) { testSpecialNumbers(&func); } \
38+
using LlvmLibcFxbitsTest = FxbitsTest<T, XType>; \
39+
TEST_F(LlvmLibcFxbitsTest, SpecialNumbers) { testSpecialNumbers(&func); } \
3740
static_assert(true, "Require semicolon.")
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/hkbits.h"
3+
4+
LIST_FXBITS_TEST(short accum, int_hk_t, LIBC_NAMESPACE::hkbits);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/hrbits.h"
3+
4+
LIST_FXBITS_TEST(short fract, int_hr_t, LIBC_NAMESPACE::hrbits);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/kbits.h"
3+
4+
LIST_FXBITS_TEST(accum, int_k_t, LIBC_NAMESPACE::kbits);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/lkbits.h"
3+
4+
LIST_FXBITS_TEST(long accum, int_lk_t, LIBC_NAMESPACE::lkbits);
5+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/lrbits.h"
3+
4+
LIST_FXBITS_TEST(long fract, int_lr_t, LIBC_NAMESPACE::lrbits);
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
21
#include "FxbitsTest.h"
3-
42
#include "src/stdfix/rbits.h"
53

64
LIST_FXBITS_TEST(fract, int_r_t, LIBC_NAMESPACE::rbits);
7-
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/uhkbits.h"
3+
4+
LIST_FXBITS_TEST(unsigned short accum, uint_uhk_t, LIBC_NAMESPACE::uhkbits);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/uhrbits.h"
3+
4+
LIST_FXBITS_TEST(unsigned short fract, uint_uhr_t, LIBC_NAMESPACE::uhrbits);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#include "FxbitsTest.h"
2+
#include "src/stdfix/ukbits.h"
3+
4+
LIST_FXBITS_TEST(unsigned accum, uint_uk_t, LIBC_NAMESAPCE::ukbits);
5+

0 commit comments

Comments
 (0)