about summary refs log tree commit diff
path: root/users/sterni/nix/num/default.nix
diff options
context:
space:
mode:
authorsterni <sternenseemann@systemli.org>2023-08-05T13·39+0200
committersterni <sternenseemann@systemli.org>2023-08-09T12·12+0000
commit984ea69386a47e753c4129e2a6230aa60b4584cd (patch)
treebab3642e070d41d5901c1c73a839ff1c03b7313a /users/sterni/nix/num/default.nix
parentdbdb2575cfd12b7b41fbf12547592d00819c7546 (diff)
refactor(users/sterni/nix): move generic number operation into num r/6477
We omit type checks for performance reasons in most places currently, so
the library grouping is important in showing people what to use for what
sort of input. The moved functions make sense to use with floats as
well, so we'll move them to the num library. Some of the remaining
functions could theoretically be adapted and moved, but aren't for now.

Change-Id: Ifdecaa60be594f4438b2a58b9ea6445e2da080e3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9007
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'users/sterni/nix/num/default.nix')
-rw-r--r--users/sterni/nix/num/default.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/users/sterni/nix/num/default.nix b/users/sterni/nix/num/default.nix
new file mode 100644
index 000000000000..640493083722
--- /dev/null
+++ b/users/sterni/nix/num/default.nix
@@ -0,0 +1,16 @@
+{ ... }:
+
+rec {
+  inherit (builtins)
+    mul
+    div
+    add
+    sub
+    ;
+
+  abs = i: if i < 0 then -i else i;
+
+  inRange = a: b: x: x >= a && x <= b;
+
+  sum = builtins.foldl' (a: b: a + b) 0;
+}