From 04232370c27fe8e1b0c6ebbdf57e31195ab4ddf0 Mon Sep 17 00:00:00 2001 From: Tijmen Zwaan Date: Tue, 4 Aug 2026 17:11:52 +0200 Subject: [PATCH] Apply the same fix to square and randrun --- packages/core/signal.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/signal.mjs b/packages/core/signal.mjs index 35fccb8f1..7fef18762 100644 --- a/packages/core/signal.mjs +++ b/packages/core/signal.mjs @@ -114,7 +114,7 @@ export const cosine2 = sine2._early(Fraction(1).div(4)); * n(square.segment(4).range(0,7)).scale("C:minor") * */ -export const square = signal((t) => Math.floor((t * 2) % 2)); +export const square = signal((t) => Math.floor(_mod((t * 2), 2))); /** * A square signal between -1 and 1 (like `square`, but bipolar). @@ -397,7 +397,7 @@ export const randrun = (n) => { .map((n, i) => [n, i]) .sort((a, b) => (a[0] > b[0]) - (a[0] < b[0])) .map((x) => x[1]); - const i = t.cyclePos().mul(n).floor() % n; + const i = _mod(t.cyclePos().mul(n).floor(), n); return nums[i]; })._segment(n); };