diff --git a/packages/cultmath/tests/CultMath.Tests/SnoiseTieScopeTests.cs b/packages/cultmath/tests/CultMath.Tests/SnoiseTieScopeTests.cs index 4f76edd3..8bf7c895 100644 --- a/packages/cultmath/tests/CultMath.Tests/SnoiseTieScopeTests.cs +++ b/packages/cultmath/tests/CultMath.Tests/SnoiseTieScopeTests.cs @@ -10,8 +10,8 @@ namespace CultMath.Tests; // set and its float32 band (below) the results are bit-identical to 0.3.0. The goldens below were computed by the // cultmath-unity-v0.3.0 tag's CultMath.dll (Runtime/Plugins), not by this code. Float32 rounding // decides whether a given integer-difference input ties, because x0 is computed in float32: an -// input whose differences round onto whole numbers can tie too and move, within about one float32 -// spacing of the coordinate magnitude (a band that widens with the magnitude), and some inputs on +// input whose differences round onto whole numbers can tie too and move, within a few float32 +// ulps of the largest coordinate (a probe found up to about two; the band widens with the magnitude), and some inputs on // the set keep their value (about 3% of random integer points). Every input below ties and moves // all five outputs (value and the four gradient words). // TieSetNow pins what this code returns on the same inputs, so that each of the two tie-rule sites diff --git a/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md b/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md index 0c64d105..2cb099ce 100644 --- a/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md +++ b/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md @@ -23,9 +23,9 @@ backfilled here; see `docs/semver-policy.md` for why. value; measured over random integer points, about 97% change. The cell offset is computed in float32, so an input whose differences `y - x` and `z - x` round, in float32, onto whole numbers can tie and change too. How far from the set that - reaches grows with the coordinates' magnitude, at about one float32 spacing of the - coordinate (1.9e-6 at 30, 6.1e-5 at 1000, 7.8e-3 at 1e5; a probe over random inputs - never found a changed one farther than that). Computed coordinates such as `i * 0.1f` + reaches scales with the coordinates' magnitude: a few float32 ulps of the largest + coordinate (a probe over random inputs found changed inputs up to about two ulps + away; measured, not proved). Computed coordinates such as `i * 0.1f` can land there, so near large coordinates the band is wide. Elsewhere the results are bit-identical to 0.3.0 (`SnoiseTieScopeTests`, goldens computed by the 0.3.0 DLL). `snoise` is now