@@ -1,3 +1,4 @@
+// package log implements the context.Logger interface.
package log
import "base:runtime"
@@ -1,3 +1,5 @@
+package math_big
+
/*
Copyright 2021 Jeroen van Rijn <[email protected]>.
Made available under Odin's BSD-3 license.
@@ -5,8 +7,6 @@
This file collects public proc maps and their aliases.
*/
-
-package math_big
=== === === === === === === === === === === === === === === === === === === === === === === ===
@@ -1,11 +1,10 @@
import "base:intrinsics"
@@ -1,6 +1,7 @@
+// package big implements arbitrary precision integers and rationals.
-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.
-*/
+*/
import rnd "core:math/rand"
@@ -25,8 +27,6 @@
TODO: Handle +/- Infinity and NaN.
import "base:builtin"
import "core:mem"
@@ -9,9 +11,6 @@
This file contains logical operations like `and`, `or` and `xor`.
The `and`, `or` and `xor` binops differ in two lines only.
We could handle those with a switch, but that adds overhead.
This file contains prime finding operations.
Determines if an Integer is divisible by one of the _PRIME_TABLE primes.
Returns true if it is, false if not.
@@ -16,9 +18,6 @@
These aren't exported for the same reasons.
This file contains basic arithmetic operations like `add`, `sub`, `mul`, `div`, ...
@@ -13,9 +15,6 @@
- Also look at extracting and splatting several digits at once.
import "core:os"
@@ -1,3 +1,6 @@
+#+build ignore
@@ -7,9 +10,6 @@
-#+build ignore
import "core:time"
+// package bits implements bit-level operations, including the ability to set or toggle individual bits in an integer.
package math_bits
+// package cmplx implements trigonometric and other mathematic operations on complex numbers.
package math_cmplx
@@ -1,4 +1,4 @@
-// easing procedures and flux easing used for animations
+// package ease implements easing procedures and flux easing used for animations.
package ease
import "core:math"
+// package fixed implements fixed-point rational numbers and conversion to/from `f64`.
package math_fixed
@@ -1,2 +1,2 @@
-// core:math/linalg implements linear algebra procedures useful for 3D spatial transformations
+// package linalg implements linear algebra procedures useful for 3D spatial transformations.
package linalg
-// core:math/linalg/glsl implements a GLSL-like mathematics library plus numerous other utility procedures
+// package glsl implements a GLSL-like mathematics library plus numerous other utility procedures.
package math_linalg_glsl
-// core:math/linalg/hlsl implements a HLSL-like mathematics library plus numerous other utility procedures
+// package hlsl implements a HLSL-like mathematics library plus numerous other utility procedures.
package math_linalg_hlsl
+// package math implements typical trignometric and other basic math routines.
package math
@@ -1,11 +1,12 @@
+#+private
+package math_noise
OpenSimplex2 noise implementation.
Ported from https://github.com/KdotJPG/OpenSimplex2.
Copyright 2022 Yuki2 (https://github.com/NoahR02)
-#+private
-package math_noise
Private implementation details follow.
@@ -1,5 +1,5 @@
- OpenSimplex2 noise implementation.
+ package noise implements the OpenSimplex2 noise algorithm.
Ported from [[ https://github.com/KdotJPG/OpenSimplex2 }].
Copyright 2022 Yuki2 [[ https://github.com/NoahR02 ]]
@@ -1,7 +1,4 @@
-/*
-Package core:math/rand implements various random number generators
+// package rand implements various random number generators.
package rand