From aa73f47a5e2535224aa772f163aed2b6802bd4ad Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Wed, 30 Aug 2023 17:54:17 -0500 Subject: Add compact display --- print_digit_map.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'print_digit_map.go') 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() { -- cgit v1.2.3