Add is_even and is_odd to math module

This commit is contained in:
Dmitry Atamanov
2023-07-19 11:16:40 +05:00
committed by Christoffer Lerno
parent 5aae9f3204
commit 49ea950f78
2 changed files with 63 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
module math_is_even_odd_tests;
import std::math;
import std::io;
macro test(start, ...)
{
$for (var $i = 0; $i < $vacount; $i++)
for ($vatype($i) i = ($vatype($i))start; i < 5; i+=2)
{
assert(math::is_even(i));
assert(i.is_even());
assert(!math::is_odd(i));
assert(!i.is_odd());
}
$endfor;
}
fn void! tests() @test
{
test(0, char, ushort, uint, ulong, uptr, usz, uint128);
test(-4, ichar, short, int, long, iptr, isz, int128);
}