1 package prefuse.util.collections; 2 3 29 public class PrimeFinder extends Object { 30 34 public static final int largestPrime = Integer.MAX_VALUE; 37 63 private static final int[] primeCapacities = { 64 largestPrime, 66 67 5, 11, 23, 47, 97, 197, 397, 797, 1597, 3203, 6421, 12853, 25717, 69 51437, 102877, 205759, 411527, 823117, 1646237, 3292489, 6584983, 70 13169977, 26339969, 52679969, 105359939, 210719881, 421439783, 71 842879579, 1685759167, 72 73 433, 877, 1759, 3527, 7057, 14143, 28289, 56591, 113189, 226379, 75 452759, 905551, 1811107, 3622219, 7244441, 14488931, 28977863, 76 57955739, 115911563, 231823147, 463646329, 927292699, 1854585413, 77 78 953, 1907, 3821, 7643, 15287, 30577, 61169, 122347, 244703, 489407, 80 978821, 1957651, 3915341, 7830701, 15661423, 31322867, 62645741, 81 125291483, 250582987, 501165979, 1002331963, 2004663929, 82 83 1039, 2081, 4177, 8363, 16729, 33461, 66923, 133853, 267713, 85 535481, 1070981, 2141977, 4283963, 8567929, 17135863, 34271747, 86 68543509, 137087021, 274174111, 548348231, 1096696463, 87 88 31, 67, 137, 277, 557, 1117, 2237, 4481, 8963, 17929, 35863, 71741, 90 143483, 286973, 573953, 1147921, 2295859, 4591721, 9183457, 91 18366923, 36733847, 73467739, 146935499, 293871013, 587742049, 92 1175484103, 93 94 599, 1201, 2411, 4831, 9677, 19373, 38747, 77509, 155027, 310081, 96 620171, 1240361, 2480729, 4961459, 9922933, 19845871, 39691759, 97 79383533, 158767069, 317534141, 635068283, 1270136683, 98 99 311, 631, 1277, 2557, 5119, 10243, 20507, 41017, 82037, 164089, 101 328213, 656429, 1312867, 2625761, 5251529, 10503061, 21006137, 102 42012281, 84024581, 168049163, 336098327, 672196673, 1344393353, 103 104 3, 7, 17, 37, 79, 163, 331, 673, 1361, 2729, 5471, 10949, 21911, 106 43853, 87719, 175447, 350899, 701819, 1403641, 2807303, 5614657, 107 11229331, 22458671, 44917381, 89834777, 179669557, 359339171, 108 718678369, 1437356741, 109 110 43, 89, 179, 359, 719, 1439, 2879, 5779, 11579, 23159, 46327, 112 92657, 185323, 370661, 741337, 1482707, 2965421, 5930887, 11861791, 113 23723597, 47447201, 94894427, 189788857, 379577741, 759155483, 114 1518310967, 115 116 379, 761, 1523, 3049, 6101, 12203, 24407, 48817, 97649, 195311, 118 390647, 781301, 1562611, 3125257, 6250537, 12501169, 25002389, 119 50004791, 100009607, 200019221, 400038451, 800076929, 1600153859 120 121 136 }; 137 138 static { java.util.Arrays.sort(primeCapacities); 142 } 143 144 148 protected PrimeFinder() { 149 } 150 151 160 public static int nextPrime(int desiredCapacity) { 161 int i = java.util.Arrays.binarySearch(primeCapacities, desiredCapacity); 162 if (i < 0) { 163 i = -i - 1; } 167 return primeCapacities[i]; 168 } 169 170 } | Popular Tags |