diff options
| author | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2023-08-30 17:54:17 -0500 |
|---|---|---|
| committer | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2023-08-30 20:02:26 -0500 |
| commit | aa73f47a5e2535224aa772f163aed2b6802bd4ad (patch) | |
| tree | e516fc505540eaa27abeb78214984d582c58c29c /print_digit_map.go | |
| parent | 0f698d42907bc06f469ae3311433bcc741b8bd9b (diff) | |
Add compact display
Diffstat (limited to 'print_digit_map.go')
| -rw-r--r-- | print_digit_map.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/print_digit_map.go b/print_digit_map.go index 4def177..b878a51 100644 --- a/print_digit_map.go +++ b/print_digit_map.go @@ -8,6 +8,9 @@ import ( "strings" ) +// The maximum radix that is supported by writeDigitMapSmall +const maxSmallRadix = 36 + func writeDigitMap(w io.Writer, digitMap []factors.DigitType) { if len(digitMap) < 2 { panic("Radices cannot be less than 2!") @@ -36,6 +39,19 @@ func writeDigitMapSmall(w io.Writer, digitMap []factors.DigitType) { fmt.Fprintln(w, typesString.String()) } +// Prints a compactified digit map, used in the compact display. +func writeDigitMapCompact(w io.Writer, digitMap []factors.DigitType) { + radix := uint(len(digitMap)) + if radix <= maxSmallRadix { + fmt.Fprint(w, "Digits: ") + for digit, digitType := range digitMap { + fmt.Fprint(w, colourString(strings.ToUpper( + strconv.FormatUint(uint64(digit), int(radix))), digitType)) + } + fmt.Fprintln(w) + } +} + func colourString(s string, digitType factors.DigitType) string { var colourBegin string switch digitType.TotativeType() { |
