From 658c09ecd3faef615c8e6f54f22a761e83c665c5 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Fri, 16 Oct 2026 17:17:01 +0200 Subject: [PATCH] CultMath tests: LOD-far depth agreement asserted under the headline's 2x contract Pins LodStep's footprint branch, which only bites at LOD-far. Co-Authored-By: Claude Sonnet 5.5 --- packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs b/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs index 643c994a..9d48c5f3 100644 --- a/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs +++ b/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs @@ -18,7 +18,8 @@ namespace CultMath.Tests; /// mutations of the test's own fields and marches: w(z0) for w(z1) in VoidField.WeightBound must fail /// WeightBoundEnclosesOneSignedNoise; CarveRadius for HollowRadius in the lo test of VoidField.Compose /// and BodyDepth without |dir| must fail AnalyticBodyMatchesFineMarch; the footprint march's pre-body -/// integration dropped, or LodStep doubled, must fail IntervalSkipHalvesEvaluations's depth agreement. +/// integration dropped, or LodStep doubled, must fail IntervalSkipHalvesEvaluations's depth agreement; LodStep's +/// footprint z theta scaled x2 (or x4) must fail it at LOD-far. /// public sealed class NoiseBoundTests { @@ -2982,7 +2983,9 @@ public sealed class NoiseBoundTests } var lodFar = VoidField.LodFar(); - ReportVoid($"{lodFar.Name} N=8 (LOD far)", Run(lodFar, 8, 32, 0x701D, lod: true)); + var far = Run(lodFar, 8, 32, 0x701D, lod: true); + ReportVoid($"{lodFar.Name} N=8 (LOD far)", far); + Assert.True(far.MaxLodDepthError <= 2.0 * far.MaxRefDepthError, $"at LOD-far, the one field where LodStep's footprint branch bites, the footprint-aware march's optical depth is off the converged march's by {far.MaxLodDepthError:G6} relative, more than twice the fixed-step march's {far.MaxRefDepthError:G6}"); var shipped = VoidField.Shipped(); var headline = Run(shipped, 8, 200, 0x5417, lod: true);