From c4adb07093328f71b76e446dc8d3cb6f774f496b Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Sat, 25 Oct 2025 11:42:26 -0500 Subject: Add Regular Complexity to Compact View --- factor_info.go | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'factor_info.go') diff --git a/factor_info.go b/factor_info.go index a9ffea2..acb082d 100644 --- a/factor_info.go +++ b/factor_info.go @@ -161,7 +161,7 @@ func (fi *factorInfo) writeTo(w io.Writer) { } else { fmt.Fprint(w, "Prime Regular Complexities: ") } - writePRCMap(w, fi.PrimeRegularComplexities) + writePRCMap(w, fi.PrimeRegularComplexities, 4) fmt.Fprintln(w) if len(fi.DigitMap) > 0 { writeDigitMap(w, fi.DigitMap) @@ -169,15 +169,20 @@ func (fi *factorInfo) writeTo(w io.Writer) { } func (fi *factorInfo) writeToCompact(w io.Writer) { - fmt.Fprintf(w, "%d = %s | σ(r)/r: %.2f | r/φ(r): %.2f\n", - fi.Radix, fi.PrimeFactorization, fi.Score, 1/fi.TotativeRatio) - fmt.Fprintf(w, "%s | ", typeAbbrev(fi.Type)) + fmt.Fprintf(w, "%d = %s | σ(r)/r: %.2f | r/φ(r): %.2f | %s\n", + fi.Radix, fi.PrimeFactorization, fi.Score, 1/fi.TotativeRatio, typeAbbrev(fi.Type)) + if fi.LogRegularComplexities { + fmt.Fprint(w, "logRC: ") + } else { + fmt.Fprint(w, "RC: ") + } + writePRCMap(w, fi.PrimeRegularComplexities, 2) if fi.MTC != nil { - fmt.Fprintf(w, "MTC: %d | ", *fi.MTC) + fmt.Fprintf(w, " | MTC: %d | ", *fi.MTC) } else { low_mtc_est := float32(fi.Radix) * float32(fi.Totient-2) high_mtc_est := float32(fi.Radix) * float32(fi.Radix-2) - fmt.Fprintf(w, "%.4g ≤ MTC ≤ %.4g | ", low_mtc_est, high_mtc_est) + fmt.Fprintf(w, " | %.4g ≤ MTC ≤ %.4g | ", low_mtc_est, high_mtc_est) } fmt.Fprintf(w, "log2: %.2f", fi.Log2) fmt.Fprintln(w) @@ -216,7 +221,7 @@ func typeAbbrev(t factors.CompositenessType) string { } } -func writePRCMap(w io.Writer, prcs map[uint]float64) { +func writePRCMap(w io.Writer, prcs map[uint]float64, precision int) { var first = true var primeFactors = make([]uint, 0, len(prcs)) for p := range prcs { @@ -231,6 +236,6 @@ func writePRCMap(w io.Writer, prcs map[uint]float64) { fmt.Fprintf(w, ", ") } first = false - fmt.Fprintf(w, "%d: %.4f", p, prcs[p]) + fmt.Fprintf(w, "%d: %.*f", p, precision, prcs[p]) } } -- cgit v1.2.3