diff options
author | Marvin Borner | 2024-03-25 16:21:54 +0100 |
---|---|---|
committer | Marvin Borner | 2024-03-25 16:21:54 +0100 |
commit | f8398804d351667a7b887b89f6f70c7d5c407d22 (patch) | |
tree | d33df8e6bbe60640beb9e99c778eb27b1aa77995 /std/Number/Unary.bruijn | |
parent | 7bfc78b122ad9cbb65eed16f7de4d4021547c2a8 (diff) |
More samples and definitions
Diffstat (limited to 'std/Number/Unary.bruijn')
-rw-r--r-- | std/Number/Unary.bruijn | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/std/Number/Unary.bruijn b/std/Number/Unary.bruijn index 5041614..3b58ceb 100644 --- a/std/Number/Unary.bruijn +++ b/std/Number/Unary.bruijn @@ -173,6 +173,26 @@ mod* [[1 &[[(0 ⋀? (2 ≤? 1)) case-rec case-end]] (1 : true) k]] ⧗ Unary → case-rec (1 - 3) : true case-end 1 : false +# returns true if the number is even (remainder mod 2 == 0) +even? [=?(0 % (+2u))] ⧗ Unary → Boolean + +=²?‣ even? + +:test (=²?(+0u)) (true) +:test (=²?(+1u)) (false) +:test (=²?(+41u)) (false) +:test (=²?(+42u)) (true) + +# returns true if the number is odd (remainder mod 2 == 1) +odd? ¬‣ ∘ even? ⧗ Unary → Boolean + +≠²?‣ odd? + +:test (≠²?(+0u)) (false) +:test (≠²?(+1u)) (true) +:test (≠²?(+41u)) (true) +:test (≠²?(+42u)) (false) + # exponentiates two unary number # doesn't give correct results for x^0 pow* [[1 0]] ⧗ Unary → Unary → Unary |