/* Quadratic character list, program T. J. Dekker, December 2009. */ /* Prints quadratic characters for discriminants between -MAXDIS and +MAXDIS. */ /* This program uses subprograms disfactors and quadchar from file quadchar.c.*/ # define MAXPERIOD 400 # define MAXDIS 80 # define MAXFACS 3 # include void main () { int rad, dis, nfacs, period, i, facs[MAXFACS], qchars[MAXPERIOD]; char signtoken[] = "-o+"; printf ("%s\n", " discriminant quadratic character"); for (rad = -MAXDIS; rad <= MAXDIS; rad++) { disfactors (rad, &dis, &nfacs, facs); if (rad == dis) { quadchar (dis, nfacs, facs, &period, qchars); printf ("\n%4d ", dis); for (i = 0; i < abs(dis); i++) printf ("%c", signtoken[qchars[i] + 1]); } } /* end for rad */ printf ("\n"); }