aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-09-24 09:43:12 -0400
committerGitHub <noreply@github.com>2021-09-24 09:43:12 -0400
commit563c9f055ce00eeb922ce9090534883b918ef482 (patch)
treeae6b50f4973baac2eb6e7a038909a37b5ad8b651 /doc
parent24a1c75dec5746acb75949b8f41d8044fe98040c (diff)
parent69b6135c87140cf2b57b18dac53820dd02e2605d (diff)
Merge pull request #23 from AlexDikelsky/master
Add links to reference implementations for gcd and lcm
Diffstat (limited to 'doc')
-rw-r--r--doc/logic.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/doc/logic.md b/doc/logic.md
index 8e7f935a..a72cf8e4 100644
--- a/doc/logic.md
+++ b/doc/logic.md
@@ -36,7 +36,7 @@ As with logical And and Or, any value and 0 is 0, while any value or 1 is 1. The
## Why not GCD and LCM?
-The main reason for omitting these functions is that they are complicated and, when applied to real or complex numbers, require a significant number of design decisions where there is no obvious choice (for example, whether to use comparison tolerance). On the other hand, these functions are fairly easy to implement, which allows the programmer to control the details, and also add functionality such as the extended GCD.
+The main reason for omitting these functions is that they are complicated and, when applied to real or complex numbers, require a significant number of design decisions where there is no obvious choice (for example, whether to use comparison tolerance). On the other hand, these functions are fairly easy to implement, which allows the programmer to control the details, and also add functionality such as the extended GCD. Reference implementations for gcd and lcm are available on [bqncrate](https://mlochbaum.github.io/bqncrate) ([gcd](https://mlochbaum.github.io/bqncrate/?q=gcd), [lcm](https://mlochbaum.github.io/bqncrate/?q=lcm)).
A secondary reason is that the GCD falls short as an extension of Or, because its identity value 0 is not total. `0∨x`, for a real number `x`, is actually equal to `|x` and not `x`: for example, `0∨¯2` is `2` in APL. This means the identity `0∨x ←→ x` isn't reliable in APL.