From d034179fde42c4fc633b98fef6e84c2e0d1c2834 Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Mon, 4 Sep 2023 19:53:20 -0500 Subject: Add ability to show full digit maps Full digit maps will show every digit from 0 to 35, regardless of the radix. This allows you to see extra fractions for small radices and to get a digit map for radices above 36. This isn't enabled by default because the extra "digits" added for small radices aren't actually digits - so it may be unintuitive. There are also some situations where only a radix's actual digits matter, such as multiplication tables. --- factor_info.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'factor_info.go') diff --git a/factor_info.go b/factor_info.go index b6a4a3d..f908b9b 100644 --- a/factor_info.go +++ b/factor_info.go @@ -49,7 +49,7 @@ type FactorInfo struct { DigitMap []factors.DigitType } -func GetFactorInfo(radix uint) *FactorInfo { +func GetFactorInfo(radix uint, fullMap bool) *FactorInfo { r_factors := factors.Factors(radix) slices.Sort(r_factors) @@ -66,7 +66,12 @@ func GetFactorInfo(radix uint) *FactorInfo { } var digitMap []factors.DigitType - if radix <= maxSmallRadix { + if fullMap { + digitMap = make([]factors.DigitType, maxSmallRadix) + for d := 0; d < maxSmallRadix; d++ { + digitMap[d] = factors.GetDigitType(uint(d), radix) + } + } else if radix <= maxSmallRadix { digitMap = factors.DigitMap(radix) } else { digitMap = []factors.DigitType{} -- cgit v1.2.3