xref: /inferno-os/libsec/port/smallprimes.c (revision 7ef44d652ae9e5e1f5b3465d73684e4a54de73c0)
1 #include "os.h"
2 
3 ulong smallprimes[1000] = {
4 	2,
5 	3,
6 	5,
7 	7,
8 	11,
9 	13,
10 	17,
11 	19,
12 	23,
13 	29,
14 	31,
15 	37,
16 	41,
17 	43,
18 	47,
19 	53,
20 	59,
21 	61,
22 	67,
23 	71,
24 	73,
25 	79,
26 	83,
27 	89,
28 	97,
29 	101,
30 	103,
31 	107,
32 	109,
33 	113,
34 	127,
35 	131,
36 	137,
37 	139,
38 	149,
39 	151,
40 	157,
41 	163,
42 	167,
43 	173,
44 	179,
45 	181,
46 	191,
47 	193,
48 	197,
49 	199,
50 	211,
51 	223,
52 	227,
53 	229,
54 	233,
55 	239,
56 	241,
57 	251,
58 	257,
59 	263,
60 	269,
61 	271,
62 	277,
63 	281,
64 	283,
65 	293,
66 	307,
67 	311,
68 	313,
69 	317,
70 	331,
71 	337,
72 	347,
73 	349,
74 	353,
75 	359,
76 	367,
77 	373,
78 	379,
79 	383,
80 	389,
81 	397,
82 	401,
83 	409,
84 	419,
85 	421,
86 	431,
87 	433,
88 	439,
89 	443,
90 	449,
91 	457,
92 	461,
93 	463,
94 	467,
95 	479,
96 	487,
97 	491,
98 	499,
99 	503,
100 	509,
101 	521,
102 	523,
103 	541,
104 	547,
105 	557,
106 	563,
107 	569,
108 	571,
109 	577,
110 	587,
111 	593,
112 	599,
113 	601,
114 	607,
115 	613,
116 	617,
117 	619,
118 	631,
119 	641,
120 	643,
121 	647,
122 	653,
123 	659,
124 	661,
125 	673,
126 	677,
127 	683,
128 	691,
129 	701,
130 	709,
131 	719,
132 	727,
133 	733,
134 	739,
135 	743,
136 	751,
137 	757,
138 	761,
139 	769,
140 	773,
141 	787,
142 	797,
143 	809,
144 	811,
145 	821,
146 	823,
147 	827,
148 	829,
149 	839,
150 	853,
151 	857,
152 	859,
153 	863,
154 	877,
155 	881,
156 	883,
157 	887,
158 	907,
159 	911,
160 	919,
161 	929,
162 	937,
163 	941,
164 	947,
165 	953,
166 	967,
167 	971,
168 	977,
169 	983,
170 	991,
171 	997,
172 	1009,
173 	1013,
174 	1019,
175 	1021,
176 	1031,
177 	1033,
178 	1039,
179 	1049,
180 	1051,
181 	1061,
182 	1063,
183 	1069,
184 	1087,
185 	1091,
186 	1093,
187 	1097,
188 	1103,
189 	1109,
190 	1117,
191 	1123,
192 	1129,
193 	1151,
194 	1153,
195 	1163,
196 	1171,
197 	1181,
198 	1187,
199 	1193,
200 	1201,
201 	1213,
202 	1217,
203 	1223,
204 	1229,
205 	1231,
206 	1237,
207 	1249,
208 	1259,
209 	1277,
210 	1279,
211 	1283,
212 	1289,
213 	1291,
214 	1297,
215 	1301,
216 	1303,
217 	1307,
218 	1319,
219 	1321,
220 	1327,
221 	1361,
222 	1367,
223 	1373,
224 	1381,
225 	1399,
226 	1409,
227 	1423,
228 	1427,
229 	1429,
230 	1433,
231 	1439,
232 	1447,
233 	1451,
234 	1453,
235 	1459,
236 	1471,
237 	1481,
238 	1483,
239 	1487,
240 	1489,
241 	1493,
242 	1499,
243 	1511,
244 	1523,
245 	1531,
246 	1543,
247 	1549,
248 	1553,
249 	1559,
250 	1567,
251 	1571,
252 	1579,
253 	1583,
254 	1597,
255 	1601,
256 	1607,
257 	1609,
258 	1613,
259 	1619,
260 	1621,
261 	1627,
262 	1637,
263 	1657,
264 	1663,
265 	1667,
266 	1669,
267 	1693,
268 	1697,
269 	1699,
270 	1709,
271 	1721,
272 	1723,
273 	1733,
274 	1741,
275 	1747,
276 	1753,
277 	1759,
278 	1777,
279 	1783,
280 	1787,
281 	1789,
282 	1801,
283 	1811,
284 	1823,
285 	1831,
286 	1847,
287 	1861,
288 	1867,
289 	1871,
290 	1873,
291 	1877,
292 	1879,
293 	1889,
294 	1901,
295 	1907,
296 	1913,
297 	1931,
298 	1933,
299 	1949,
300 	1951,
301 	1973,
302 	1979,
303 	1987,
304 	1993,
305 	1997,
306 	1999,
307 	2003,
308 	2011,
309 	2017,
310 	2027,
311 	2029,
312 	2039,
313 	2053,
314 	2063,
315 	2069,
316 	2081,
317 	2083,
318 	2087,
319 	2089,
320 	2099,
321 	2111,
322 	2113,
323 	2129,
324 	2131,
325 	2137,
326 	2141,
327 	2143,
328 	2153,
329 	2161,
330 	2179,
331 	2203,
332 	2207,
333 	2213,
334 	2221,
335 	2237,
336 	2239,
337 	2243,
338 	2251,
339 	2267,
340 	2269,
341 	2273,
342 	2281,
343 	2287,
344 	2293,
345 	2297,
346 	2309,
347 	2311,
348 	2333,
349 	2339,
350 	2341,
351 	2347,
352 	2351,
353 	2357,
354 	2371,
355 	2377,
356 	2381,
357 	2383,
358 	2389,
359 	2393,
360 	2399,
361 	2411,
362 	2417,
363 	2423,
364 	2437,
365 	2441,
366 	2447,
367 	2459,
368 	2467,
369 	2473,
370 	2477,
371 	2503,
372 	2521,
373 	2531,
374 	2539,
375 	2543,
376 	2549,
377 	2551,
378 	2557,
379 	2579,
380 	2591,
381 	2593,
382 	2609,
383 	2617,
384 	2621,
385 	2633,
386 	2647,
387 	2657,
388 	2659,
389 	2663,
390 	2671,
391 	2677,
392 	2683,
393 	2687,
394 	2689,
395 	2693,
396 	2699,
397 	2707,
398 	2711,
399 	2713,
400 	2719,
401 	2729,
402 	2731,
403 	2741,
404 	2749,
405 	2753,
406 	2767,
407 	2777,
408 	2789,
409 	2791,
410 	2797,
411 	2801,
412 	2803,
413 	2819,
414 	2833,
415 	2837,
416 	2843,
417 	2851,
418 	2857,
419 	2861,
420 	2879,
421 	2887,
422 	2897,
423 	2903,
424 	2909,
425 	2917,
426 	2927,
427 	2939,
428 	2953,
429 	2957,
430 	2963,
431 	2969,
432 	2971,
433 	2999,
434 	3001,
435 	3011,
436 	3019,
437 	3023,
438 	3037,
439 	3041,
440 	3049,
441 	3061,
442 	3067,
443 	3079,
444 	3083,
445 	3089,
446 	3109,
447 	3119,
448 	3121,
449 	3137,
450 	3163,
451 	3167,
452 	3169,
453 	3181,
454 	3187,
455 	3191,
456 	3203,
457 	3209,
458 	3217,
459 	3221,
460 	3229,
461 	3251,
462 	3253,
463 	3257,
464 	3259,
465 	3271,
466 	3299,
467 	3301,
468 	3307,
469 	3313,
470 	3319,
471 	3323,
472 	3329,
473 	3331,
474 	3343,
475 	3347,
476 	3359,
477 	3361,
478 	3371,
479 	3373,
480 	3389,
481 	3391,
482 	3407,
483 	3413,
484 	3433,
485 	3449,
486 	3457,
487 	3461,
488 	3463,
489 	3467,
490 	3469,
491 	3491,
492 	3499,
493 	3511,
494 	3517,
495 	3527,
496 	3529,
497 	3533,
498 	3539,
499 	3541,
500 	3547,
501 	3557,
502 	3559,
503 	3571,
504 	3581,
505 	3583,
506 	3593,
507 	3607,
508 	3613,
509 	3617,
510 	3623,
511 	3631,
512 	3637,
513 	3643,
514 	3659,
515 	3671,
516 	3673,
517 	3677,
518 	3691,
519 	3697,
520 	3701,
521 	3709,
522 	3719,
523 	3727,
524 	3733,
525 	3739,
526 	3761,
527 	3767,
528 	3769,
529 	3779,
530 	3793,
531 	3797,
532 	3803,
533 	3821,
534 	3823,
535 	3833,
536 	3847,
537 	3851,
538 	3853,
539 	3863,
540 	3877,
541 	3881,
542 	3889,
543 	3907,
544 	3911,
545 	3917,
546 	3919,
547 	3923,
548 	3929,
549 	3931,
550 	3943,
551 	3947,
552 	3967,
553 	3989,
554 	4001,
555 	4003,
556 	4007,
557 	4013,
558 	4019,
559 	4021,
560 	4027,
561 	4049,
562 	4051,
563 	4057,
564 	4073,
565 	4079,
566 	4091,
567 	4093,
568 	4099,
569 	4111,
570 	4127,
571 	4129,
572 	4133,
573 	4139,
574 	4153,
575 	4157,
576 	4159,
577 	4177,
578 	4201,
579 	4211,
580 	4217,
581 	4219,
582 	4229,
583 	4231,
584 	4241,
585 	4243,
586 	4253,
587 	4259,
588 	4261,
589 	4271,
590 	4273,
591 	4283,
592 	4289,
593 	4297,
594 	4327,
595 	4337,
596 	4339,
597 	4349,
598 	4357,
599 	4363,
600 	4373,
601 	4391,
602 	4397,
603 	4409,
604 	4421,
605 	4423,
606 	4441,
607 	4447,
608 	4451,
609 	4457,
610 	4463,
611 	4481,
612 	4483,
613 	4493,
614 	4507,
615 	4513,
616 	4517,
617 	4519,
618 	4523,
619 	4547,
620 	4549,
621 	4561,
622 	4567,
623 	4583,
624 	4591,
625 	4597,
626 	4603,
627 	4621,
628 	4637,
629 	4639,
630 	4643,
631 	4649,
632 	4651,
633 	4657,
634 	4663,
635 	4673,
636 	4679,
637 	4691,
638 	4703,
639 	4721,
640 	4723,
641 	4729,
642 	4733,
643 	4751,
644 	4759,
645 	4783,
646 	4787,
647 	4789,
648 	4793,
649 	4799,
650 	4801,
651 	4813,
652 	4817,
653 	4831,
654 	4861,
655 	4871,
656 	4877,
657 	4889,
658 	4903,
659 	4909,
660 	4919,
661 	4931,
662 	4933,
663 	4937,
664 	4943,
665 	4951,
666 	4957,
667 	4967,
668 	4969,
669 	4973,
670 	4987,
671 	4993,
672 	4999,
673 	5003,
674 	5009,
675 	5011,
676 	5021,
677 	5023,
678 	5039,
679 	5051,
680 	5059,
681 	5077,
682 	5081,
683 	5087,
684 	5099,
685 	5101,
686 	5107,
687 	5113,
688 	5119,
689 	5147,
690 	5153,
691 	5167,
692 	5171,
693 	5179,
694 	5189,
695 	5197,
696 	5209,
697 	5227,
698 	5231,
699 	5233,
700 	5237,
701 	5261,
702 	5273,
703 	5279,
704 	5281,
705 	5297,
706 	5303,
707 	5309,
708 	5323,
709 	5333,
710 	5347,
711 	5351,
712 	5381,
713 	5387,
714 	5393,
715 	5399,
716 	5407,
717 	5413,
718 	5417,
719 	5419,
720 	5431,
721 	5437,
722 	5441,
723 	5443,
724 	5449,
725 	5471,
726 	5477,
727 	5479,
728 	5483,
729 	5501,
730 	5503,
731 	5507,
732 	5519,
733 	5521,
734 	5527,
735 	5531,
736 	5557,
737 	5563,
738 	5569,
739 	5573,
740 	5581,
741 	5591,
742 	5623,
743 	5639,
744 	5641,
745 	5647,
746 	5651,
747 	5653,
748 	5657,
749 	5659,
750 	5669,
751 	5683,
752 	5689,
753 	5693,
754 	5701,
755 	5711,
756 	5717,
757 	5737,
758 	5741,
759 	5743,
760 	5749,
761 	5779,
762 	5783,
763 	5791,
764 	5801,
765 	5807,
766 	5813,
767 	5821,
768 	5827,
769 	5839,
770 	5843,
771 	5849,
772 	5851,
773 	5857,
774 	5861,
775 	5867,
776 	5869,
777 	5879,
778 	5881,
779 	5897,
780 	5903,
781 	5923,
782 	5927,
783 	5939,
784 	5953,
785 	5981,
786 	5987,
787 	6007,
788 	6011,
789 	6029,
790 	6037,
791 	6043,
792 	6047,
793 	6053,
794 	6067,
795 	6073,
796 	6079,
797 	6089,
798 	6091,
799 	6101,
800 	6113,
801 	6121,
802 	6131,
803 	6133,
804 	6143,
805 	6151,
806 	6163,
807 	6173,
808 	6197,
809 	6199,
810 	6203,
811 	6211,
812 	6217,
813 	6221,
814 	6229,
815 	6247,
816 	6257,
817 	6263,
818 	6269,
819 	6271,
820 	6277,
821 	6287,
822 	6299,
823 	6301,
824 	6311,
825 	6317,
826 	6323,
827 	6329,
828 	6337,
829 	6343,
830 	6353,
831 	6359,
832 	6361,
833 	6367,
834 	6373,
835 	6379,
836 	6389,
837 	6397,
838 	6421,
839 	6427,
840 	6449,
841 	6451,
842 	6469,
843 	6473,
844 	6481,
845 	6491,
846 	6521,
847 	6529,
848 	6547,
849 	6551,
850 	6553,
851 	6563,
852 	6569,
853 	6571,
854 	6577,
855 	6581,
856 	6599,
857 	6607,
858 	6619,
859 	6637,
860 	6653,
861 	6659,
862 	6661,
863 	6673,
864 	6679,
865 	6689,
866 	6691,
867 	6701,
868 	6703,
869 	6709,
870 	6719,
871 	6733,
872 	6737,
873 	6761,
874 	6763,
875 	6779,
876 	6781,
877 	6791,
878 	6793,
879 	6803,
880 	6823,
881 	6827,
882 	6829,
883 	6833,
884 	6841,
885 	6857,
886 	6863,
887 	6869,
888 	6871,
889 	6883,
890 	6899,
891 	6907,
892 	6911,
893 	6917,
894 	6947,
895 	6949,
896 	6959,
897 	6961,
898 	6967,
899 	6971,
900 	6977,
901 	6983,
902 	6991,
903 	6997,
904 	7001,
905 	7013,
906 	7019,
907 	7027,
908 	7039,
909 	7043,
910 	7057,
911 	7069,
912 	7079,
913 	7103,
914 	7109,
915 	7121,
916 	7127,
917 	7129,
918 	7151,
919 	7159,
920 	7177,
921 	7187,
922 	7193,
923 	7207,
924 	7211,
925 	7213,
926 	7219,
927 	7229,
928 	7237,
929 	7243,
930 	7247,
931 	7253,
932 	7283,
933 	7297,
934 	7307,
935 	7309,
936 	7321,
937 	7331,
938 	7333,
939 	7349,
940 	7351,
941 	7369,
942 	7393,
943 	7411,
944 	7417,
945 	7433,
946 	7451,
947 	7457,
948 	7459,
949 	7477,
950 	7481,
951 	7487,
952 	7489,
953 	7499,
954 	7507,
955 	7517,
956 	7523,
957 	7529,
958 	7537,
959 	7541,
960 	7547,
961 	7549,
962 	7559,
963 	7561,
964 	7573,
965 	7577,
966 	7583,
967 	7589,
968 	7591,
969 	7603,
970 	7607,
971 	7621,
972 	7639,
973 	7643,
974 	7649,
975 	7669,
976 	7673,
977 	7681,
978 	7687,
979 	7691,
980 	7699,
981 	7703,
982 	7717,
983 	7723,
984 	7727,
985 	7741,
986 	7753,
987 	7757,
988 	7759,
989 	7789,
990 	7793,
991 	7817,
992 	7823,
993 	7829,
994 	7841,
995 	7853,
996 	7867,
997 	7873,
998 	7877,
999 	7879,
1000 	7883,
1001 	7901,
1002 	7907,
1003 	7919,
1004 };
1005