77
88namespace {
99 TEST (bigint23, addition_with_integral_test) {
10- using i32 = bigint::bigint<32 , true >;
11- using u32 = bigint::bigint<32 , false >;
10+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
11+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
1212 u32 const c = " 0xffffffff" ;
1313 ASSERT_EQ (c + 1 , 0 );
1414 ASSERT_EQ (c + 2 , 1 );
@@ -18,8 +18,8 @@ namespace {
1818 }
1919
2020 TEST (bigint23, addition_with_bigint23_test) {
21- using i32 = bigint::bigint<32 , true >;
22- using u32 = bigint::bigint<32 , false >;
21+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
22+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
2323 u32 const c = " 0xffffffff" ;
2424 u32 const d = " 0x1" ;
2525 ASSERT_EQ (c + d, 0 );
@@ -32,8 +32,8 @@ namespace {
3232 }
3333
3434 TEST (bigint23, multiplication_with_integral_test) {
35- using i32 = bigint::bigint<32 , true >;
36- using u32 = bigint::bigint<32 , false >;
35+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
36+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
3737 u32 const a = 42 ;
3838 ASSERT_EQ (a * 43 , 1806 );
3939 i32 const c = 2018238 ;
@@ -45,10 +45,10 @@ namespace {
4545 }
4646
4747 TEST (bigint23, multiplication_with_bigint23_test) {
48- using i32 = bigint::bigint<32 , true >;
49- using u32 = bigint::bigint<32 , false >;
50- using i16 = bigint::bigint<16 , true >;
51- using u16 = bigint::bigint<16 , false >;
48+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
49+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
50+ using i16 = bigint::bigint<bigint::BitWidth{ 16 }, bigint::Signedness::Signed >;
51+ using u16 = bigint::bigint<bigint::BitWidth{ 16 }, bigint::Signedness::Unsigned >;
5252 u32 const a = 42 ;
5353 u32 const b = 43 ;
5454 ASSERT_EQ (a * b, 1806 );
@@ -65,8 +65,8 @@ namespace {
6565 }
6666
6767 TEST (bigint23, subtraction_with_integral_test) {
68- using i32 = bigint::bigint<32 , true >;
69- using u32 = bigint::bigint<32 , false >;
68+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
69+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
7070 u32 const a = 42 ;
7171 ASSERT_EQ (a - 1 , 41 );
7272 ASSERT_EQ (a - 2 , 40 );
@@ -78,8 +78,8 @@ namespace {
7878 }
7979
8080 TEST (bigint23, subtraction_with_bigint23_test) {
81- using i32 = bigint::bigint<32 , true >;
82- using u32 = bigint::bigint<32 , false >;
81+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
82+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
8383 u32 const a = 42 ;
8484 u32 const b = 1 ;
8585 ASSERT_EQ (a - b, 41 );
@@ -94,8 +94,8 @@ namespace {
9494 }
9595
9696 TEST (bigint23, division_with_integral_test) {
97- using i32 = bigint::bigint<32 , true >;
98- using u32 = bigint::bigint<32 , false >;
97+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
98+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
9999 u32 const a = 15 ;
100100 ASSERT_EQ (a / 3 , 5 );
101101 ASSERT_EQ (a / 2 , 7 );
@@ -105,8 +105,8 @@ namespace {
105105 }
106106
107107 TEST (bigint23, division_with_bigint23_test) {
108- using i32 = bigint::bigint<32 , true >;
109- using u32 = bigint::bigint<32 , false >;
108+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
109+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
110110 u32 const a = 15 ;
111111 u32 const b = 3 ;
112112 ASSERT_EQ (a / b, 5 );
@@ -120,8 +120,8 @@ namespace {
120120 }
121121
122122 TEST (bigint23, modulo_with_integral_test) {
123- using i32 = bigint::bigint<32 , true >;
124- using u32 = bigint::bigint<32 , false >;
123+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
124+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
125125 u32 const a = 15 ;
126126 ASSERT_EQ (a % 3 , 0 );
127127 ASSERT_EQ (a % 2 , 1 );
@@ -131,8 +131,8 @@ namespace {
131131 }
132132
133133 TEST (bigint23, modulo_with_bigint23_test) {
134- using i32 = bigint::bigint<32 , true >;
135- using u32 = bigint::bigint<32 , false >;
134+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
135+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
136136 u32 const a = 15 ;
137137 u32 const b = 3 ;
138138 ASSERT_EQ (a % b, 0 );
@@ -146,8 +146,8 @@ namespace {
146146 }
147147
148148 TEST (bigint23, shift_test) {
149- using i32 = bigint::bigint<32 , true >;
150- using u32 = bigint::bigint<32 , false >;
149+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
150+ using u32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Unsigned >;
151151 u32 const a = 42 ;
152152 ASSERT_EQ (a >> 2 , 10 );
153153 ASSERT_EQ (a << 2 , 168 );
@@ -166,24 +166,24 @@ namespace {
166166 }
167167
168168 TEST (bigint23, increment_test) {
169- using i32 = bigint::bigint<32 , true >;
169+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
170170 i32 a = 42 ;
171171 ASSERT_EQ (++a, 43 );
172172 ASSERT_EQ (a++, 43 );
173173 ASSERT_EQ (a, 44 );
174174 }
175175
176176 TEST (bigint23, decrement_test) {
177- using i32 = bigint::bigint<32 , true >;
177+ using i32 = bigint::bigint<bigint::BitWidth{ 32 }, bigint::Signedness::Signed >;
178178 i32 a = 42 ;
179179 ASSERT_EQ (--a, 41 );
180180 ASSERT_EQ (a--, 41 );
181181 ASSERT_EQ (a, 40 );
182182 }
183183
184184 TEST (bigint23, unary_minus_test) {
185- using i8 = bigint::bigint<8 , true >;
186- using u8 = bigint::bigint<8 , false >;
185+ using i8 = bigint::bigint<bigint::BitWidth{ 8 }, bigint::Signedness::Signed >;
186+ using u8 = bigint::bigint<bigint::BitWidth{ 8 }, bigint::Signedness::Unsigned >;
187187 i8 const a = static_cast <int8_t >(0x80 );
188188 ASSERT_THROW (auto test = -a, std::overflow_error);
189189 i8 const b = static_cast <int8_t >(-15 );
@@ -196,7 +196,7 @@ namespace {
196196 }
197197
198198 TEST (bigint23, unary_plus_test) {
199- using i8 = bigint::bigint<8 , true >;
199+ using i8 = bigint::bigint<bigint::BitWidth{ 8 }, bigint::Signedness::Signed >;
200200 constexpr i8 a = " 42" ;
201201 ASSERT_EQ (+a, static_cast <int8_t >(42 ));
202202 }
0 commit comments