aboutsummaryrefslogtreecommitdiff
path: root/core/math/big/internal.odin
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-01-17 19:00:47 +0000
committergingerBill <bill@gingerbill.org>2022-01-17 19:00:47 +0000
commitc85ac955f798fefd149a5eeaecabf0713210b152 (patch)
treeef9ca75b6f5cfc1630314c19ea0a7a9378f89b5d /core/math/big/internal.odin
parent97922406fec4296ce0732d1eefa0b9d7c943086f (diff)
Simplify docs to hide the copyright
Diffstat (limited to 'core/math/big/internal.odin')
-rw-r--r--core/math/big/internal.odin26
1 files changed, 1 insertions, 25 deletions
diff --git a/core/math/big/internal.odin b/core/math/big/internal.odin
index 437f6e5fc..5085898e5 100644
--- a/core/math/big/internal.odin
+++ b/core/math/big/internal.odin
@@ -2,33 +2,9 @@
/*
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
Made available under Odin's BSD-3 license.
+*/
- A BigInt implementation in Odin.
- For the theoretical underpinnings, see Knuth's The Art of Computer Programming, Volume 2, section 4.3.
- The code started out as an idiomatic source port of libTomMath, which is in the public domain, with thanks.
-
- ========================== Low-level routines ==========================
-
- IMPORTANT: `internal_*` procedures make certain assumptions about their input.
-
- The public functions that call them are expected to satisfy their sanity check requirements.
- This allows `internal_*` call `internal_*` without paying this overhead multiple times.
-
- Where errors can occur, they are of course still checked and returned as appropriate.
-
- When importing `math:core/big` to implement an involved algorithm of your own, you are welcome
- to use these procedures instead of their public counterparts.
-
- Most inputs and outputs are expected to be passed an initialized `Int`, for example.
- Exceptions include `quotient` and `remainder`, which are allowed to be `nil` when the calling code doesn't need them.
-
- Check the comments above each `internal_*` implementation to see what constraints it expects to have met.
-
- We pass the custom allocator to procedures by default using the pattern `context.allocator = allocator`.
- This way we don't have to add `, allocator` at the end of each call.
- TODO: Handle +/- Infinity and NaN.
-*/
package math_big
import "core:mem"