/* Subprograms and main program, discriminant = 1 mod 4, T. J. Dekker, 2007. */ /* Draws pictures of prime numbers (blue) and prime non-principal ideals (red). */ int bynorm; int radicand[] = { /* non-unique factorization domains, class nr 2: */ -427, -403, -267, -235, -187, -123, -115, -91, -51, -35, -15, 65, 85, 105, 165, 185, 0}; void showitem() { char it[30]; int i; int natp[] = {2,3,5,7,11}; for (i = 0; i < 5 && qchar[natp[i]] < 0; i++) ; bynorm = natp[i]; RGBForeColor(&blue); sprintf(it, " prime numbers "); drawstring(it); RGBForeColor(&green); sprintf(it, " units "); drawstring(it); RGBForeColor(&red); sprintf(it, " prime ideals by norm %d ", bynorm); drawstring(it); RGBForeColor(&black); } /* end showitem */ void drawitem(int x, int y, int norm) { if (norm >= maxnorm) drawprim(x, y, &black); /* big */ else if (inset(norm, prinorm)) drawprim (x, y, &blue); /* primes */ else if (norm == 1) drawprim(x, y, &green); /* units */ else if (norm % bynorm == 0 && inset(norm/bynorm, prinorm)) drawprim(x, y, &red); /* non-principal ideals */ } /* end drawitem */ /* end of quad1clas2.c */