count: init

This commit is contained in:
2025-04-08 16:11:18 +02:00
parent 2396dae9a6
commit 6f2059607b
2 changed files with 15 additions and 0 deletions

View File

@@ -11,6 +11,7 @@
inherit util;
collect = import ./src/collect.nix lib;
count = import ./src/count.nix lib;
filterAttrs = import ./src/filterAttrs.nix lib;
filterOverrides = import ./src/filterOverrides.nix lib;
findFirstIndex = import ./src/findFirstIndex.nix lib;

14
src/count.nix Normal file
View File

@@ -0,0 +1,14 @@
lib:
let
countOld = pred: builtins.foldl' (c: x: if pred x then c + 1 else c) 0;
countNew = pred: list: builtins.length (builtins.partition pred list).right;
countNewNew = pred: list: builtins.length (builtins.filter pred list);
bigdata = lib.imap0 (i: _: i + 1) (lib.replicate 999999 null);
in {
old = countOld (x: (lib.mod 10 x) == 0) bigdata;
new = countNew (x: (lib.mod 10 x) == 0) bigdata;
newNew = countNewNew (x: (lib.mod 10 x) == 0) bigdata;
}