source: git/factory/cf_primes.cc @ f59b88

spielwiese
Last change on this file since f59b88 was f59b88, checked in by Rüdiger Stobbe <stobbe@…>, 28 years ago
"Now stores the first 3500 primes counted from 3. cf_getBigPrime: gives primes in reversed order. " git-svn-id: file:///usr/local/Singular/svn/trunk@14 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 24.1 KB
Line 
1// emacs edit mode for this file is -*- C++ -*-
2// $Id: cf_primes.cc,v 1.1 1996-06-03 08:34:35 stobbe Exp $
3
4/*
5$Log: not supported by cvs2svn $
6Revision 1.0  1996/05/17 10:59:44  stobbe
7Initial revision
8
9*/
10
11#include "assert.h"
12#include "cf_defs.h"
13#include "cf_globals.h"
14#include "cf_primes.h"
15
16#define NUMSMALLPRIMES 3500
17#define NUMBIGPRIMES 3500
18
19static const int primes [] = {
20        3, 5, 7, 11, 13, 17, 19, 23, 29,
21        31, 37, 41, 43, 47, 53, 59, 61, 67,
22        71, 73, 79, 83, 89, 97, 101, 103, 107,
23        109, 113, 127, 131, 137, 139, 149, 151, 157,
24        163, 167, 173, 179, 181, 191, 193, 197, 199,
25        211, 223, 227, 229, 233, 239, 241, 251, 257,
26        263, 269, 271, 277, 281, 283, 293, 307, 311,
27        313, 317, 331, 337, 347, 349, 353, 359, 367,
28        373, 379, 383, 389, 397, 401, 409, 419, 421,
29        431, 433, 439, 443, 449, 457, 461, 463, 467,
30        479, 487, 491, 499, 503, 509, 521, 523, 541,
31        547, 557, 563, 569, 571, 577, 587, 593, 599,
32        601, 607, 613, 617, 619, 631, 641, 643, 647,
33        653, 659, 661, 673, 677, 683, 691, 701, 709,
34        719, 727, 733, 739, 743, 751, 757, 761, 769,
35        773, 787, 797, 809, 811, 821, 823, 827, 829,
36        839, 853, 857, 859, 863, 877, 881, 883, 887,
37        907, 911, 919, 929, 937, 941, 947, 953, 967,
38        971, 977, 983, 991, 997, 1009, 1013, 1019, 1021,
39        1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087,
40        1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
41        1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217,
42        1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283,
43        1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327,
44        1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429,
45        1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483,
46        1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549,
47        1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607,
48        1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667,
49        1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741,
50        1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811,
51        1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879,
52        1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973,
53        1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027,
54        2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089,
55        2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153,
56        2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243,
57        2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309,
58        2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377,
59        2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437,
60        2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531,
61        2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609,
62        2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677,
63        2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719,
64        2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791,
65        2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857,
66        2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939,
67        2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019,
68        3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089,
69        3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187,
70        3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257,
71        3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329,
72        3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391,
73        3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469,
74        3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541,
75        3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613,
76        3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677,
77        3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761,
78        3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833,
79        3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911,
80        3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989,
81        4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051,
82        4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129,
83        4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217,
84        4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271,
85        4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357,
86        4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447,
87        4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517,
88        4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597,
89        4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663,
90        4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751,
91        4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817,
92        4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931,
93        4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987,
94        4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051,
95        5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119,
96        5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227,
97        5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303,
98        5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399,
99        5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449,
100        5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521,
101        5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623,
102        5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683,
103        5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749,
104        5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839,
105        5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881,
106        5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007,
107        6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079,
108        6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151,
109        6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229,
110        6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301,
111        6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361,
112        6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451,
113        6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553,
114        6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637,
115        6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703,
116        6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791,
117        6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863,
118        6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949,
119        6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001,
120        7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103,
121        7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193,
122        7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253,
123        7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351,
124        7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477,
125        7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537,
126        7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589,
127        7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673,
128        7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741,
129        7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841,
130        7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919,
131        7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011,
132        8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093,
133        8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179,
134        8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263,
135        8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329,
136        8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429,
137        8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527,
138        8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609,
139        8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681,
140        8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741,
141        8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821,
142        8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893,
143        8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999,
144        9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059,
145        9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157,
146        9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227,
147        9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319,
148        9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397,
149        9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461,
150        9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533,
151        9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629,
152        9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719,
153        9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787,
154        9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857,
155        9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931,
156        9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061,
157        10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133,
158        10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181, 10193,
159        10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273,
160        10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343,
161        10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457,
162        10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531,
163        10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 10631,
164        10639, 10651, 10657, 10663, 10667, 10687, 10691, 10709, 10711,
165        10723, 10729, 10733, 10739, 10753, 10771, 10781, 10789, 10799,
166        10831, 10837, 10847, 10853, 10859, 10861, 10867, 10883, 10889,
167        10891, 10903, 10909, 10937, 10939, 10949, 10957, 10973, 10979,
168        10987, 10993, 11003, 11027, 11047, 11057, 11059, 11069, 11071,
169        11083, 11087, 11093, 11113, 11117, 11119, 11131, 11149, 11159,
170        11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251,
171        11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321,
172        11329, 11351, 11353, 11369, 11383, 11393, 11399, 11411, 11423,
173        11437, 11443, 11447, 11467, 11471, 11483, 11489, 11491, 11497,
174        11503, 11519, 11527, 11549, 11551, 11579, 11587, 11593, 11597,
175        11617, 11621, 11633, 11657, 11677, 11681, 11689, 11699, 11701,
176        11717, 11719, 11731, 11743, 11777, 11779, 11783, 11789, 11801,
177        11807, 11813, 11821, 11827, 11831, 11833, 11839, 11863, 11867,
178        11887, 11897, 11903, 11909, 11923, 11927, 11933, 11939, 11941,
179        11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011, 12037,
180        12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109,
181        12113, 12119, 12143, 12149, 12157, 12161, 12163, 12197, 12203,
182        12211, 12227, 12239, 12241, 12251, 12253, 12263, 12269, 12277,
183        12281, 12289, 12301, 12323, 12329, 12343, 12347, 12373, 12377,
184        12379, 12391, 12401, 12409, 12413, 12421, 12433, 12437, 12451,
185        12457, 12473, 12479, 12487, 12491, 12497, 12503, 12511, 12517,
186        12527, 12539, 12541, 12547, 12553, 12569, 12577, 12583, 12589,
187        12601, 12611, 12613, 12619, 12637, 12641, 12647, 12653, 12659,
188        12671, 12689, 12697, 12703, 12713, 12721, 12739, 12743, 12757,
189        12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, 12841,
190        12853, 12889, 12893, 12899, 12907, 12911, 12917, 12919, 12923,
191        12941, 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003,
192        13007, 13009, 13033, 13037, 13043, 13049, 13063, 13093, 13099,
193        13103, 13109, 13121, 13127, 13147, 13151, 13159, 13163, 13171,
194        13177, 13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259,
195        13267, 13291, 13297, 13309, 13313, 13327, 13331, 13337, 13339,
196        13367, 13381, 13397, 13399, 13411, 13417, 13421, 13441, 13451,
197        13457, 13463, 13469, 13477, 13487, 13499, 13513, 13523, 13537,
198        13553, 13567, 13577, 13591, 13597, 13613, 13619, 13627, 13633,
199        13649, 13669, 13679, 13681, 13687, 13691, 13693, 13697, 13709,
200        13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781,
201        13789, 13799, 13807, 13829, 13831, 13841, 13859, 13873, 13877,
202        13879, 13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933,
203        13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033, 14051,
204        14057, 14071, 14081, 14083, 14087, 14107, 14143, 14149, 14153,
205        14159, 14173, 14177, 14197, 14207, 14221, 14243, 14249, 14251,
206        14281, 14293, 14303, 14321, 14323, 14327, 14341, 14347, 14369,
207        14387, 14389, 14401, 14407, 14411, 14419, 14423, 14431, 14437,
208        14447, 14449, 14461, 14479, 14489, 14503, 14519, 14533, 14537,
209        14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, 14621,
210        14627, 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699,
211        14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753, 14759,
212        14767, 14771, 14779, 14783, 14797, 14813, 14821, 14827, 14831,
213        14843, 14851, 14867, 14869, 14879, 14887, 14891, 14897, 14923,
214        14929, 14939, 14947, 14951, 14957, 14969, 14983, 15013, 15017,
215        15031, 15053, 15061, 15073, 15077, 15083, 15091, 15101, 15107,
216        15121, 15131, 15137, 15139, 15149, 15161, 15173, 15187, 15193,
217        15199, 15217, 15227, 15233, 15241, 15259, 15263, 15269, 15271,
218        15277, 15287, 15289, 15299, 15307, 15313, 15319, 15329, 15331,
219        15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, 15413,
220        15427, 15439, 15443, 15451, 15461, 15467, 15473, 15493, 15497,
221        15511, 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601,
222        15607, 15619, 15629, 15641, 15643, 15647, 15649, 15661, 15667,
223        15671, 15679, 15683, 15727, 15731, 15733, 15737, 15739, 15749,
224        15761, 15767, 15773, 15787, 15791, 15797, 15803, 15809, 15817,
225        15823, 15859, 15877, 15881, 15887, 15889, 15901, 15907, 15913,
226        15919, 15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007,
227        16033, 16057, 16061, 16063, 16067, 16069, 16073, 16087, 16091,
228        16097, 16103, 16111, 16127, 16139, 16141, 16183, 16187, 16189,
229        16193, 16217, 16223, 16229, 16231, 16249, 16253, 16267, 16273,
230        16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381,
231        16411, 16417, 16421, 16427, 16433, 16447, 16451, 16453, 16477,
232        16481, 16487, 16493, 16519, 16529, 16547, 16553, 16561, 16567,
233        16573, 16603, 16607, 16619, 16631, 16633, 16649, 16651, 16657,
234        16661, 16673, 16691, 16693, 16699, 16703, 16729, 16741, 16747,
235        16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843, 16871,
236        16879, 16883, 16889, 16901, 16903, 16921, 16927, 16931, 16937,
237        16943, 16963, 16979, 16981, 16987, 16993, 17011, 17021, 17027,
238        17029, 17033, 17041, 17047, 17053, 17077, 17093, 17099, 17107,
239        17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, 17203,
240        17207, 17209, 17231, 17239, 17257, 17291, 17293, 17299, 17317,
241        17321, 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387,
242        17389, 17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467,
243        17471, 17477, 17483, 17489, 17491, 17497, 17509, 17519, 17539,
244        17551, 17569, 17573, 17579, 17581, 17597, 17599, 17609, 17623,
245        17627, 17657, 17659, 17669, 17681, 17683, 17707, 17713, 17729,
246        17737, 17747, 17749, 17761, 17783, 17789, 17791, 17807, 17827,
247        17837, 17839, 17851, 17863, 17881, 17891, 17903, 17909, 17911,
248        17921, 17923, 17929, 17939, 17957, 17959, 17971, 17977, 17981,
249        17987, 17989, 18013, 18041, 18043, 18047, 18049, 18059, 18061,
250        18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133, 18143,
251        18149, 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229,
252        18233, 18251, 18253, 18257, 18269, 18287, 18289, 18301, 18307,
253        18311, 18313, 18329, 18341, 18353, 18367, 18371, 18379, 18397,
254        18401, 18413, 18427, 18433, 18439, 18443, 18451, 18457, 18461,
255        18481, 18493, 18503, 18517, 18521, 18523, 18539, 18541, 18553,
256        18583, 18587, 18593, 18617, 18637, 18661, 18671, 18679, 18691,
257        18701, 18713, 18719, 18731, 18743, 18749, 18757, 18773, 18787,
258        18793, 18797, 18803, 18839, 18859, 18869, 18899, 18911, 18913,
259        18917, 18919, 18947, 18959, 18973, 18979, 19001, 19009, 19013,
260        19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121,
261        19139, 19141, 19157, 19163, 19181, 19183, 19207, 19211, 19213,
262        19219, 19231, 19237, 19249, 19259, 19267, 19273, 19289, 19301,
263        19309, 19319, 19333, 19373, 19379, 19381, 19387, 19391, 19403,
264        19417, 19421, 19423, 19427, 19429, 19433, 19441, 19447, 19457,
265        19463, 19469, 19471, 19477, 19483, 19489, 19501, 19507, 19531,
266        19541, 19543, 19553, 19559, 19571, 19577, 19583, 19597, 19603,
267        19609, 19661, 19681, 19687, 19697, 19699, 19709, 19717, 19727,
268        19739, 19751, 19753, 19759, 19763, 19777, 19793, 19801, 19813,
269        19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, 19913,
270        19919, 19927, 19937, 19949, 19961, 19963, 19973, 19979, 19991,
271        19993, 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063,
272        20071, 20089, 20101, 20107, 20113, 20117, 20123, 20129, 20143,
273        20147, 20149, 20161, 20173, 20177, 20183, 20201, 20219, 20231,
274        20233, 20249, 20261, 20269, 20287, 20297, 20323, 20327, 20333,
275        20341, 20347, 20353, 20357, 20359, 20369, 20389, 20393, 20399,
276        20407, 20411, 20431, 20441, 20443, 20477, 20479, 20483, 20507,
277        20509, 20521, 20533, 20543, 20549, 20551, 20563, 20593, 20599,
278        20611, 20627, 20639, 20641, 20663, 20681, 20693, 20707, 20717,
279        20719, 20731, 20743, 20747, 20749, 20753, 20759, 20771, 20773,
280        20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897,
281        20899, 20903, 20921, 20929, 20939, 20947, 20959, 20963, 20981,
282        20983, 21001, 21011, 21013, 21017, 21019, 21023, 21031, 21059,
283        21061, 21067, 21089, 21101, 21107, 21121, 21139, 21143, 21149,
284        21157, 21163, 21169, 21179, 21187, 21191, 21193, 21211, 21221,
285        21227, 21247, 21269, 21277, 21283, 21313, 21317, 21319, 21323,
286        21341, 21347, 21377, 21379, 21383, 21391, 21397, 21401, 21407,
287        21419, 21433, 21467, 21481, 21487, 21491, 21493, 21499, 21503,
288        21517, 21521, 21523, 21529, 21557, 21559, 21563, 21569, 21577,
289        21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, 21649,
290        21661, 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751,
291        21757, 21767, 21773, 21787, 21799, 21803, 21817, 21821, 21839,
292        21841, 21851, 21859, 21863, 21871, 21881, 21893, 21911, 21929,
293        21937, 21943, 21961, 21977, 21991, 21997, 22003, 22013, 22027,
294        22031, 22037, 22039, 22051, 22063, 22067, 22073, 22079, 22091,
295        22093, 22109, 22111, 22123, 22129, 22133, 22147, 22153, 22157,
296        22159, 22171, 22189, 22193, 22229, 22247, 22259, 22271, 22273,
297        22277, 22279, 22283, 22291, 22303, 22307, 22343, 22349, 22367,
298        22369, 22381, 22391, 22397, 22409, 22433, 22441, 22447, 22453,
299        22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, 22549,
300        22567, 22571, 22573, 22613, 22619, 22621, 22637, 22639, 22643,
301        22651, 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721,
302        22727, 22739, 22741, 22751, 22769, 22777, 22783, 22787, 22807,
303        22811, 22817, 22853, 22859, 22861, 22871, 22877, 22901, 22907,
304        22921, 22937, 22943, 22961, 22963, 22973, 22993, 23003, 23011,
305        23017, 23021, 23027, 23029, 23039, 23041, 23053, 23057, 23059,
306        23063, 23071, 23081, 23087, 23099, 23117, 23131, 23143, 23159,
307        23167, 23173, 23189, 23197, 23201, 23203, 23209, 23227, 23251,
308        23269, 23279, 23291, 23293, 23297, 23311, 23321, 23327, 23333,
309        23339, 23357, 23369, 23371, 23399, 23417, 23431, 23447, 23459,
310        23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561,
311        23563, 23567, 23581, 23593, 23599, 23603, 23609, 23623, 23627,
312        23629, 23633, 23663, 23669, 23671, 23677, 23687, 23689, 23719,
313        23741, 23743, 23747, 23753, 23761, 23767, 23773, 23789, 23801,
314        23813, 23819, 23827, 23831, 23833, 23857, 23869, 23873, 23879,
315        23887, 23893, 23899, 23909, 23911, 23917, 23929, 23957, 23971,
316        23977, 23981, 23993, 24001, 24007, 24019, 24023, 24029, 24043,
317        24049, 24061, 24071, 24077, 24083, 24091, 24097, 24103, 24107,
318        24109, 24113, 24121, 24133, 24137, 24151, 24169, 24179, 24181,
319        24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, 24317,
320        24329, 24337, 24359, 24371, 24373, 24379, 24391, 24407, 24413,
321        24419, 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509,
322        24517, 24527, 24533, 24547, 24551, 24571, 24593, 24611, 24623,
323        24631, 24659, 24671, 24677, 24683, 24691, 24697, 24709, 24733,
324        24749, 24763, 24767, 24781, 24793, 24799, 24809, 24821, 24841,
325        24847, 24851, 24859, 24877, 24889, 24907, 24917, 24919, 24923,
326        24943, 24953, 24967, 24971, 24977, 24979, 24989, 25013, 25031,
327        25033, 25037, 25057, 25073, 25087, 25097, 25111, 25117, 25121,
328        25127, 25147, 25153, 25163, 25169, 25171, 25183, 25189, 25219,
329        25229, 25237, 25243, 25247, 25253, 25261, 25301, 25303, 25307,
330        25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373, 25391,
331        25409, 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469,
332        25471, 25523, 25537, 25541, 25561, 25577, 25579, 25583, 25589,
333        25601, 25603, 25609, 25621, 25633, 25639, 25643, 25657, 25667,
334        25673, 25679, 25693, 25703, 25717, 25733, 25741, 25747, 25759,
335        25763, 25771, 25793, 25799, 25801, 25819, 25841, 25847, 25849,
336        25867, 25873, 25889, 25903, 25913, 25919, 25931, 25933, 25939,
337        25943, 25951, 25969, 25981, 25997, 25999, 26003, 26017, 26021,
338        26029, 26041, 26053, 26083, 26099, 26107, 26111, 26113, 26119,
339        26141, 26153, 26161, 26171, 26177, 26183, 26189, 26203, 26209,
340        26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297,
341        26309, 26317, 26321, 26339, 26347, 26357, 26371, 26387, 26393,
342        26399, 26407, 26417, 26423, 26431, 26437, 26449, 26459, 26479,
343        26489, 26497, 26501, 26513, 26539, 26557, 26561, 26573, 26591,
344        26597, 26627, 26633, 26641, 26647, 26669, 26681, 26683, 26687,
345        26693, 26699, 26701, 26711, 26713, 26717, 26723, 26729, 26731,
346        26737, 26759, 26777, 26783, 26801, 26813, 26821, 26833, 26839,
347        26849, 26861, 26863, 26879, 26881, 26891, 26893, 26903, 26921,
348        26927, 26947, 26951, 26953, 26959, 26981, 26987, 26993, 27011,
349        27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, 27091,
350        27103, 27107, 27109, 27127, 27143, 27179, 27191, 27197, 27211,
351        27239, 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299,
352        27329, 27337, 27361, 27367, 27397, 27407, 27409, 27427, 27431,
353        27437, 27449, 27457, 27479, 27481, 27487, 27509, 27527, 27529,
354        27539, 27541, 27551, 27581, 27583, 27611, 27617, 27631, 27647,
355        27653, 27673, 27689, 27691, 27697, 27701, 27733, 27737, 27739,
356        27743, 27749, 27751, 27763, 27767, 27773, 27779, 27791, 27793,
357        27799, 27803, 27809, 27817, 27823, 27827, 27847, 27851, 27883,
358        27893, 27901, 27917, 27919, 27941, 27943, 27947, 27953, 27961,
359        27967, 27983, 27997, 28001, 28019, 28027, 28031, 28051, 28057,
360        28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151,
361        28163, 28181, 28183, 28201, 28211, 28219, 28229, 28277, 28279,
362        28283, 28289, 28297, 28307, 28309, 28319, 28349, 28351, 28387,
363        28393, 28403, 28409, 28411, 28429, 28433, 28439, 28447, 28463,
364        28477, 28493, 28499, 28513, 28517, 28537, 28541, 28547, 28549,
365        28559, 28571, 28573, 28579, 28591, 28597, 28603, 28607, 28619,
366        28621, 28627, 28631, 28643, 28649, 28657, 28661, 28663, 28669,
367        28687, 28697, 28703, 28711, 28723, 28729, 28751, 28753, 28759,
368        28771, 28789, 28793, 28807, 28813, 28817, 28837, 28843, 28859,
369        28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, 28949,
370        28961, 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059,
371        29063, 29077, 29101, 29123, 29129, 29131, 29137, 29147, 29153,
372        29167, 29173, 29179, 29191, 29201, 29207, 29209, 29221, 29231,
373        29243, 29251, 29269, 29287, 29297, 29303, 29311, 29327, 29333,
374        29339, 29347, 29363, 29383, 29387, 29389, 29399, 29401, 29411,
375        29423, 29429, 29437, 29443, 29453, 29473, 29483, 29501, 29527,
376        29531, 29537, 29567, 29569, 29573, 29581, 29587, 29599, 29611,
377        29629, 29633, 29641, 29663, 29669, 29671, 29683, 29717, 29723,
378        29741, 29753, 29759, 29761, 29789, 29803, 29819, 29833, 29837,
379        29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, 29927,
380        29947, 29959, 29983, 29989, 30011, 30013, 30029, 30047, 30059,
381        30071, 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133,
382        30137, 30139, 30161, 30169, 30181, 30187, 30197, 30203, 30211,
383        30223, 30241, 30253, 30259, 30269, 30271, 30293, 30307, 30313,
384        30319, 30323, 30341, 30347, 30367, 30389, 30391, 30403, 30427,
385        30431, 30449, 30467, 30469, 30491, 30493, 30497, 30509, 30517,
386        30529, 30539, 30553, 30557, 30559, 30577, 30593, 30631, 30637,
387        30643, 30649, 30661, 30671, 30677, 30689, 30697, 30703, 30707,
388        30713, 30727, 30757, 30763, 30773, 30781, 30803, 30809, 30817,
389        30829, 30839, 30841, 30851, 30853, 30859, 30869, 30871, 30881,
390        30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983,
391        31013, 31019, 31033, 31039, 31051, 31063, 31069, 31079, 31081,
392        31091, 31121, 31123, 31139, 31147, 31151, 31153, 31159, 31177,
393        31181, 31183, 31189, 31193, 31219, 31223, 31231, 31237, 31247,
394        31249, 31253, 31259, 31267, 31271, 31277, 31307, 31319, 31321,
395        31327, 31333, 31337, 31357, 31379, 31387, 31391, 31393, 31397,
396        31469, 31477, 31481, 31489, 31511, 31513, 31517, 31531, 31541,
397        31543, 31547, 31567, 31573, 31583, 31601, 31607, 31627, 31643,
398        31649, 31657, 31663, 31667, 31687, 31699, 31721, 31723, 31727,
399        31729, 31741, 31751, 31769, 31771, 31793, 31799, 31817, 31847,
400        31849, 31859, 31873, 31883, 31891, 31907, 31957, 31963, 31973,
401        31981, 31991, 32003, 32009, 32027, 32029, 32051, 32057, 32059,
402        32063, 32069, 32077, 32083, 32089, 32099, 32117, 32119, 32141,
403        32143, 32159, 32173, 32183, 32189, 32191, 32203, 32213, 32233,
404        32237, 32251, 32257, 32261, 32297, 32299, 32303, 32309, 32321,
405        32323, 32327, 32341, 32353, 32359, 32363, 32369, 32371, 32377,
406        32381, 32401, 32411, 32413, 32423, 32429, 32441, 32443, 32467,
407        32479, 32491, 32497, 32503, 32507, 32531, 32533, 32537, 32561,
408        32563, 32569, 32573, 32579, 32587, 32603, 32609, 32611, 32621, 0 
409};
410
411
412int cf_getPrime( int i )
413{
414    if ( cf_glob_switches.isOn( SW_FAC_USE_BIG_PRIMES ) ) {
415        ASSERT( i >= 0 && i < NUMBIGPRIMES, "index to primes too high" );
416        return primes[NUMBIGPRIMES-i];
417    }
418    else {
419        ASSERT( i >= 0 && i < NUMSMALLPRIMES, "index to primes too high" );
420        return primes[i];
421    }
422}
423
424int cf_getNumPrimes()
425{
426    if ( cf_glob_switches.isOn( SW_FAC_USE_BIG_PRIMES ) )
427        return NUMBIGPRIMES;
428    else
429        return NUMSMALLPRIMES;
430}
431
432int cf_getSmallPrime( int i )
433{
434    ASSERT( i >= 0 && i < NUMSMALLPRIMES, "index to primes too high" );
435    return primes[i];
436}
437
438int cf_getNumSmallPrimes()
439{
440    return NUMSMALLPRIMES;
441}
442
443int cf_getBigPrime( int i )
444{
445    ASSERT( i >= 0 && i < NUMBIGPRIMES, "index to primes too high" );
446    return primes[NUMBIGPRIMES-i];
447}
448
449int cf_getNumBigPrimes()
450{
451    return NUMBIGPRIMES;
452}
Note: See TracBrowser for help on using the repository browser.