From e7f34b0b92e0b735ef084065aa6348f07b120a78 Mon Sep 17 00:00:00 2001 From: Eugene Petkevich Date: Mon, 4 Sep 2023 11:45:55 +0200 Subject: [PATCH] add splitter to SimpleNumber --- extensions/classes/splitters.sc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 extensions/classes/splitters.sc diff --git a/extensions/classes/splitters.sc b/extensions/classes/splitters.sc new file mode 100644 index 0000000..4ad7008 --- /dev/null +++ b/extensions/classes/splitters.sc @@ -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 + } +} + -- 2.17.1