From 0ca4ab3462e9195fc799568bd197e96fdc339f94 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 26 Sep 2026 22:24:16 +0000 Subject: [PATCH] Report Radix as 10, since the type is base 10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PreciseNumber stores significand × 10^exponent and does all its digit work in base 10, like decimal, but Radix returned 2. Generic math code that reads T.Radix treated it as binary. Fixes #116 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01M4xENzmZT4DZE8d5Hu6kEN --- PreciseNumber.Test/PreciseNumberTests.cs | 3 ++- PreciseNumber/PreciseNumber.cs | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/PreciseNumber.Test/PreciseNumberTests.cs b/PreciseNumber.Test/PreciseNumberTests.cs index 10ea1d1..2b073de 100644 --- a/PreciseNumber.Test/PreciseNumberTests.cs +++ b/PreciseNumber.Test/PreciseNumberTests.cs @@ -905,7 +905,8 @@ public void TestDivisionWithSmallNumbers() [TestMethod] public void TestRadix() { - Assert.AreEqual(2, PreciseNumber.Radix); + // The type stores significand × 10^exponent, so like decimal it is base 10. + Assert.AreEqual(10, PreciseNumber.Radix); } [TestMethod] diff --git a/PreciseNumber/PreciseNumber.cs b/PreciseNumber/PreciseNumber.cs index fc17624..e2bc75a 100644 --- a/PreciseNumber/PreciseNumber.cs +++ b/PreciseNumber/PreciseNumber.cs @@ -434,10 +434,10 @@ private static PreciseNumber ConstantTo(PreciseNumber constant, int significantD /// internal static CultureInfo InvariantCulture { get; } = CultureInfo.InvariantCulture; - private const int BinaryRadix = 2; + private const int DecimalRadix = 10; /// - public static int Radix => BinaryRadix; + public static int Radix => DecimalRadix; /// public static PreciseNumber AdditiveIdentity => Zero;