add flag for whether to only count coprime residues

This commit is contained in:
filifa
2025-12-05 22:20:54 -05:00
parent 6081757183
commit 0dd446fe74
2 changed files with 88 additions and 19 deletions

View File

@@ -26,12 +26,13 @@ import (
)
var quadraticResiduesN uint
var quadraticResiduesCoprime bool
func quadraticResidues(cmd *cobra.Command, args []string) {
bufStdout := bufio.NewWriter(os.Stdout)
defer bufStdout.Flush()
ch := sieve.QuadraticResidues(quadraticResiduesN, 1000)
ch := sieve.QuadraticResidues(quadraticResiduesN, quadraticResiduesCoprime, 1000)
for i := 0; ; i++ {
v, ok := <-ch
if !ok {
@@ -69,4 +70,6 @@ func init() {
quadraticResiduesCmd.Flags().UintVarP(&quadraticResiduesN, "limit", "n", 0, "upper limit")
quadraticResiduesCmd.MarkFlagRequired("limit")
quadraticResiduesCmd.Flags().BoolVarP(&quadraticResiduesCoprime, "coprime-only", "c", false, "only count residues coprime to the modulus")
}