From ca0959c2099e45549987389bf8022c49dcb565bb Mon Sep 17 00:00:00 2001 From: Lumi Pakkanen Date: Thu, 28 Dec 2023 17:39:32 +0200 Subject: [PATCH] Update xen-dev-utils dependency Make sure the frostburn temperament is calculated correctly ref https://github.com/xenharmonic-devs/scale-workshop/issues/518 --- package-lock.json | 8 ++++---- package.json | 2 +- src/__tests__/temperament.spec.ts | 9 +++++++++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a09e937..a08fa0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "mathjs": "^12.1.0", "ts-geometric-algebra": "^0.5.0", - "xen-dev-utils": "^0.2.0" + "xen-dev-utils": "^0.2.2" }, "devDependencies": { "@types/node": "^20.10.4", @@ -4839,9 +4839,9 @@ } }, "node_modules/xen-dev-utils": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/xen-dev-utils/-/xen-dev-utils-0.2.0.tgz", - "integrity": "sha512-tGnxvXGuACjBypp9IRh9Vlxz2ifObF36S1gWEwWLq6ACSBOHKT+D9FjK4CaG2qQGhcZ/FXRSMGTZwIsGatyHsQ==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xen-dev-utils/-/xen-dev-utils-0.2.2.tgz", + "integrity": "sha512-PbN2ECXQXpCHwPSUBsUY6E6WsMncC67rUA19AeAL0McZgZfpXdapBPF+OunUY3Tv+CHmFhOneAG26CuI+ugYtg==", "engines": { "node": ">=10.6.0" }, diff --git a/package.json b/package.json index d5ab10c..c4a9401 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,6 @@ "dependencies": { "mathjs": "^12.1.0", "ts-geometric-algebra": "^0.5.0", - "xen-dev-utils": "^0.2.0" + "xen-dev-utils": "^0.2.2" } } diff --git a/src/__tests__/temperament.spec.ts b/src/__tests__/temperament.spec.ts index 7e54aa8..420951d 100644 --- a/src/__tests__/temperament.spec.ts +++ b/src/__tests__/temperament.spec.ts @@ -243,6 +243,15 @@ describe('Temperament', () => { expect(dot(arcturus, majorSixth)).toBeCloseTo(878.042); }); + it('calculates frostburn in the 2.5.7 subgroup', () => { + const temperament = Temperament.fromCommas(['78125/76832']); + const [period, generator] = temperament.periodGenerator({ + temperEquaves: true, + }); + expect(period).toBeCloseTo(1200.3479); + expect(generator).toBeCloseTo(204.3389); + }); + it('calculates starling rank 3 from a comma', () => { const comma = toMonzo(new Fraction(126, 125)); const temperament = Temperament.fromCommas([comma]);