diff options
author | Marvin Borner | 2025-03-29 15:01:54 +0100 |
---|---|---|
committer | Marvin Borner | 2025-03-29 15:01:54 +0100 |
commit | c65b972aa42d279e17b4861438059a02032de14d (patch) | |
tree | 11a182c0652cf6e41e42c30ab2c1b91e2ea87480 | |
parent | 5dcf423d97ee6dbb4adf8f18094b4a0c99772f3a (diff) |
Add pow-mod
-rw-r--r-- | std/Number/Unary.bruijn | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/std/Number/Unary.bruijn b/std/Number/Unary.bruijn index cd4d642..94b7f24 100644 --- a/std/Number/Unary.bruijn +++ b/std/Number/Unary.bruijn @@ -41,6 +41,14 @@ mod [[[[3 &k (3 [3 [[[0 (2 (5 1)) 1]]] [1] 1] [1]) ki]]]] ⧗ Unary → Unary ↠:test ((+10u) % (+3u)) ((+1u)) :test ((+3u) % (+5u)) ((+3u)) +# returns the remainder of integer division of exponentiation +pow-mod [[[0 [[1 [1 [[1 (2 1 0)]] 0]]] &ki [2 3 (1 [[[2 [2 0 1]]]] i t) (1 k i i)]]]] ⧗ Unary → Unary → Unary → Unary + +:test (pow-mod (+1u) (+2u) (+2u)) ((+1u)) +:test (pow-mod (+2u) (+3u) (+3u)) ((+2u)) +:test (pow-mod (+3u) (+3u) (+2u)) ((+1u)) +:test (pow-mod (+3u) (+3u) (+3u)) ((+0u)) + # returns true if the number is even (remainder mod 2 == 0) even? [0 not! true] ⧗ Unary → Boolean |