diff options
author | Marvin Borner | 2023-03-04 16:59:27 +0100 |
---|---|---|
committer | Marvin Borner | 2023-03-04 16:59:27 +0100 |
commit | 9f3ebcf7be3074e85ba0009440493316ae115a11 (patch) | |
tree | 4a0c5f6c87e5bb03c1599488ec2b8a628f21586b /std/Math.bruijn | |
parent | 023cc08c6702ceedeaa4ca3317b55c1d521e7d16 (diff) |
More efficient math functions
Diffstat (limited to 'std/Math.bruijn')
-rw-r--r-- | std/Math.bruijn | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/std/Math.bruijn b/std/Math.bruijn index 7346978..b2e3698 100644 --- a/std/Math.bruijn +++ b/std/Math.bruijn @@ -69,11 +69,11 @@ pow […!!… (iterate (…⋅… 0) (+1))] ⧗ Number → Number → Number :test (((+2) ** (+3)) =? (+8)) (true) -# power function using ternary exponentiation (TODO: slow..) -pow' z [[[rec]]] ⧗ Number → Number → Number +# power function using ternary exponentiation (TODO: fix, wrong..) +pow* z [[[rec]]] ⧗ Number → Number → Number rec =?0 case-end case-pow - case-pow =?(lst 0) (r ⋅ r ⋅ r) (r ⋅ r ⋅ r ⋅ 1) - r 2 1 /³0 + case-pow =?(lst 0) ³(2 1 /³0) (³(2 1 /³0) ⋅ 1) + ³‣ [0 ⋅ 0 ⋅ 0] case-end (+1) # prime number sequence @@ -106,7 +106,7 @@ pascal iterate [zip-with …+… ({}(+0) ++ 0) (0 ; (+0))] ({}(+1)) g z [[[[[calc]]]]] calc b : (4 q r t i) a ↑⁰(↑⁺0 ⋅ (↑⁰0 + (+2))) - b (3 ⋅ ↑⁰(↑⁻(↑⁻0)) + ((+5) ⋅ 2)) /! ((+5) ⋅ 1) + b (3 ⋅ ↑⁰(↑⁻(↑⁻0)) + ((+5) ⋅ 2)) / ((+5) ⋅ 1) q (+10) ⋅ 3 ⋅ 0 ⋅ --((+2) ⋅ 0) r (+10) ⋅ a ⋅ (3 ⋅ ((+5) ⋅ 0 - (+2)) + 2 - (b ⋅ 1)) t 1 ⋅ a |