add splitter to SimpleNumber
authorEugene Petkevich <nasedil.genio.code@gmail.com>
Mon, 4 Sep 2023 09:45:55 +0000 (11:45 +0200)
committerEugene Petkevich <nasedil.genio.code@gmail.com>
Mon, 4 Sep 2023 09:45:55 +0000 (11:45 +0200)
extensions/classes/splitters.sc [new file with mode: 0644]

diff --git a/extensions/classes/splitters.sc b/extensions/classes/splitters.sc
new file mode 100644 (file)
index 0000000..4ad7008
--- /dev/null
@@ -0,0 +1,19 @@
++ SimpleNumber {
+  split {|passes=1, weights=#[11, 10, 1]|
+    var arr = [this];
+    var nweights = weights.normalizeSum;
+    passes.do{|i|
+      var newArr = [];
+      arr.do{|val|
+        var divider = Array.series(weights.size, 1).wchoose(nweights);
+        var newVal = val / divider;
+        divider.do{
+          newArr = newArr.add(newVal);
+        };
+      };
+      arr = newArr;
+    };
+    ^arr
+  }
+}
+