diff options
| author | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2025-10-25 11:42:26 -0500 |
|---|---|---|
| committer | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2025-10-25 11:42:26 -0500 |
| commit | c4adb07093328f71b76e446dc8d3cb6f774f496b (patch) | |
| tree | dac4e7be3dc347e3fd5851b07be85843f1149dd8 | |
| parent | e795fd9ac18090be45e190055fad618e0cc3f2da (diff) | |
Add Regular Complexity to Compact View
| -rw-r--r-- | factor_info.go | 21 |
1 files changed, 13 insertions, 8 deletions
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]) } } |
