From d4724b0e12278dfb2fc2e222b7ef537278a37687 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 25 Feb 2024 14:43:02 +0100 Subject: [PATCH] feat: can now invert euclid pulses with negative numbers --- packages/core/euclid.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/core/euclid.mjs b/packages/core/euclid.mjs index 7a952cf8..ad0b0148 100644 --- a/packages/core/euclid.mjs +++ b/packages/core/euclid.mjs @@ -41,11 +41,17 @@ const _bjork = function (n, x) { }; export const bjork = function (ons, steps) { + const inverted = ons < 0; + ons = Math.abs(ons); const offs = steps - ons; const x = Array(ons).fill([1]); const y = Array(offs).fill([0]); const result = _bjork([ons, offs], [x, y]); - return flatten(result[1][0]).concat(flatten(result[1][1])); + const p = flatten(result[1][0]).concat(flatten(result[1][1])); + if (inverted) { + return p.map((x) => (x === 0 ? 1 : 0)); + } + return p; }; /**