slovo/tests/integer-remainder.slo
2026-05-22 08:38:43 +02:00

43 lines
754 B
Plaintext

(module main)
(fn i32_remainder () -> i32
(% 17 5))
(fn i32_signed_remainder () -> i32
(% -17 5))
(fn i64_remainder () -> i64
(% 42i64 5i64))
(fn i64_signed_remainder () -> i64
(% -17i64 5i64))
(fn remainder_ok () -> bool
(if (= (i32_remainder) 2)
(if (= (i32_signed_remainder) -2)
(if (= (i64_remainder) 2i64)
(= (i64_signed_remainder) -2i64)
false)
false)
false))
(fn main () -> i32
(if (remainder_ok)
42
1))
(test "i32 remainder"
(= (i32_remainder) 2))
(test "i32 signed remainder"
(= (i32_signed_remainder) -2))
(test "i64 remainder"
(= (i64_remainder) 2i64))
(test "i64 signed remainder"
(= (i64_signed_remainder) -2i64))
(test "integer remainder summary"
(remainder_ok))