6
6
template <typename T, typename F>
7
7
constexpr auto test (F func) -> bool
8
8
{
9
- CHECK (etl::div (T (2 ), T (1 )).quot == T (2 ));
10
- CHECK (etl::div (T (2 ), T (1 )).rem == T (0 ));
11
-
12
- CHECK (etl::div (T (1 ), T (2 )).quot == T (0 ));
13
- CHECK (etl::div (T (1 ), T (2 )).rem == T (1 ));
14
-
15
9
CHECK (func (T (2 ), T (1 )).quot == T (2 ));
16
10
CHECK (func (T (2 ), T (1 )).rem == T (0 ));
17
11
18
12
CHECK (func (T (1 ), T (2 )).quot == T (0 ));
19
13
CHECK (func (T (1 ), T (2 )).rem == T (1 ));
20
14
15
+ if constexpr (not etl::is_same_v<etl::intmax_t , long long >) {
16
+ CHECK (etl::div (T (2 ), T (1 )).quot == T (2 ));
17
+ CHECK (etl::div (T (2 ), T (1 )).rem == T (0 ));
18
+
19
+ CHECK (etl::div (T (1 ), T (2 )).quot == T (0 ));
20
+ CHECK (etl::div (T (1 ), T (2 )).rem == T (1 ));
21
+ }
22
+
21
23
return true ;
22
24
}
23
25
@@ -26,6 +28,7 @@ constexpr auto test_all() -> bool
26
28
CHECK (test<int >(static_cast <etl::div_t (*)(int , int )>(etl::div )));
27
29
CHECK (test<long >(etl::ldiv ));
28
30
CHECK (test<long long >(etl::lldiv ));
31
+ CHECK (test<etl::intmax_t >(etl::imaxdiv));
29
32
return true ;
30
33
}
31
34
0 commit comments