From 931c1111dd3280b617d38f7ed8acf13012770a56 Mon Sep 17 00:00:00 2001 From: Nicholas Berlette Date: Sat, 24 Jan 2026 03:12:51 -0800 Subject: [PATCH 1/2] fix(log): ensure series expansion can handle small x values --- src/log.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/log.ts b/src/log.ts index b905d75..eb99b62 100644 --- a/src/log.ts +++ b/src/log.ts @@ -33,6 +33,7 @@ export function log(x: number): number { const seriesEpsilon = EPSILON * 16; let n = 0; while (x > 2) x /= 2, n++; + while (x < 0.5) x *= 2, n--; const z = (x - 1) / (x + 1), z2 = z * z; let sum = 0, term = z, i = 1; From 4d0ee56985cb977bd56684ed1b429ee142242546 Mon Sep 17 00:00:00 2001 From: Nicholas Berlette Date: Sat, 24 Jan 2026 03:42:45 -0800 Subject: [PATCH 2/2] chore: update lockfile --- deno.lock | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/deno.lock b/deno.lock index 5e55d3f..586ba68 100644 --- a/deno.lock +++ b/deno.lock @@ -34,6 +34,7 @@ "jsr:@std/semver@1.0.3": "1.0.3", "jsr:@ts-morph/bootstrap@0.24": "0.24.0", "jsr:@ts-morph/common@0.24": "0.24.0", + "npm:@nberlette/math@0.7.3": "0.7.3", "npm:vite@*": "7.3.0_picomatch@4.0.3" }, "jsr": { @@ -319,6 +320,9 @@ "os": ["win32"], "cpu": ["x64"] }, + "@nberlette/math@0.7.3": { + "integrity": "sha512-gUv+0KhKqVDtEnDUKXgL7y/cv6rGvOhZQzlB3faeBBr2Vp3+KkfmyDmXz81rykRvlPnWTxlLqoFhPoHainBDVA==" + }, "@rollup/rollup-android-arm-eabi@4.55.1": { "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==", "os": ["android"],