136ac495dSmrg // std::__detail and std::tr1::__detail definitions -*- C++ -*- 236ac495dSmrg 3*8feb0f0bSmrg // Copyright (C) 2007-2020 Free Software Foundation, Inc. 436ac495dSmrg // 536ac495dSmrg // This file is part of the GNU ISO C++ Library. This library is free 636ac495dSmrg // software; you can redistribute it and/or modify it under the 736ac495dSmrg // terms of the GNU General Public License as published by the 836ac495dSmrg // Free Software Foundation; either version 3, or (at your option) 936ac495dSmrg // any later version. 1036ac495dSmrg 1136ac495dSmrg // This library is distributed in the hope that it will be useful, 1236ac495dSmrg // but WITHOUT ANY WARRANTY; without even the implied warranty of 1336ac495dSmrg // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1436ac495dSmrg // GNU General Public License for more details. 1536ac495dSmrg 1636ac495dSmrg // Under Section 7 of GPL version 3, you are granted additional 1736ac495dSmrg // permissions described in the GCC Runtime Library Exception, version 1836ac495dSmrg // 3.1, as published by the Free Software Foundation. 1936ac495dSmrg 2036ac495dSmrg // You should have received a copy of the GNU General Public License and 2136ac495dSmrg // a copy of the GCC Runtime Library Exception along with this program; 2236ac495dSmrg // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2336ac495dSmrg // <http://www.gnu.org/licenses/>. 2436ac495dSmrg 2536ac495dSmrg namespace __detail 2636ac495dSmrg { 2736ac495dSmrg // The sentinel value is kept only for abi backward compatibility. 2836ac495dSmrg extern const unsigned long __prime_list[] = // 256 + 1 or 256 + 48 + 1 2936ac495dSmrg { 3036ac495dSmrg 2ul, 3ul, 5ul, 7ul, 11ul, 13ul, 17ul, 19ul, 23ul, 29ul, 31ul, 3136ac495dSmrg 37ul, 41ul, 43ul, 47ul, 53ul, 59ul, 61ul, 67ul, 71ul, 73ul, 79ul, 3236ac495dSmrg 83ul, 89ul, 97ul, 103ul, 109ul, 113ul, 127ul, 137ul, 139ul, 149ul, 3336ac495dSmrg 157ul, 167ul, 179ul, 193ul, 199ul, 211ul, 227ul, 241ul, 257ul, 3436ac495dSmrg 277ul, 293ul, 313ul, 337ul, 359ul, 383ul, 409ul, 439ul, 467ul, 3536ac495dSmrg 503ul, 541ul, 577ul, 619ul, 661ul, 709ul, 761ul, 823ul, 887ul, 3636ac495dSmrg 953ul, 1031ul, 1109ul, 1193ul, 1289ul, 1381ul, 1493ul, 1613ul, 3736ac495dSmrg 1741ul, 1879ul, 2029ul, 2179ul, 2357ul, 2549ul, 2753ul, 2971ul, 3836ac495dSmrg 3209ul, 3469ul, 3739ul, 4027ul, 4349ul, 4703ul, 5087ul, 5503ul, 3936ac495dSmrg 5953ul, 6427ul, 6949ul, 7517ul, 8123ul, 8783ul, 9497ul, 10273ul, 4036ac495dSmrg 11113ul, 12011ul, 12983ul, 14033ul, 15173ul, 16411ul, 17749ul, 4136ac495dSmrg 19183ul, 20753ul, 22447ul, 24281ul, 26267ul, 28411ul, 30727ul, 4236ac495dSmrg 33223ul, 35933ul, 38873ul, 42043ul, 45481ul, 49201ul, 53201ul, 4336ac495dSmrg 57557ul, 62233ul, 67307ul, 72817ul, 78779ul, 85229ul, 92203ul, 4436ac495dSmrg 99733ul, 107897ul, 116731ul, 126271ul, 136607ul, 147793ul, 4536ac495dSmrg 159871ul, 172933ul, 187091ul, 202409ul, 218971ul, 236897ul, 4636ac495dSmrg 256279ul, 277261ul, 299951ul, 324503ul, 351061ul, 379787ul, 4736ac495dSmrg 410857ul, 444487ul, 480881ul, 520241ul, 562841ul, 608903ul, 4836ac495dSmrg 658753ul, 712697ul, 771049ul, 834181ul, 902483ul, 976369ul, 4936ac495dSmrg 1056323ul, 1142821ul, 1236397ul, 1337629ul, 1447153ul, 1565659ul, 5036ac495dSmrg 1693859ul, 1832561ul, 1982627ul, 2144977ul, 2320627ul, 2510653ul, 5136ac495dSmrg 2716249ul, 2938679ul, 3179303ul, 3439651ul, 3721303ul, 4026031ul, 5236ac495dSmrg 4355707ul, 4712381ul, 5098259ul, 5515729ul, 5967347ul, 6456007ul, 5336ac495dSmrg 6984629ul, 7556579ul, 8175383ul, 8844859ul, 9569143ul, 10352717ul, 5436ac495dSmrg 11200489ul, 12117689ul, 13109983ul, 14183539ul, 15345007ul, 5536ac495dSmrg 16601593ul, 17961079ul, 19431899ul, 21023161ul, 22744717ul, 5636ac495dSmrg 24607243ul, 26622317ul, 28802401ul, 31160981ul, 33712729ul, 5736ac495dSmrg 36473443ul, 39460231ul, 42691603ul, 46187573ul, 49969847ul, 5836ac495dSmrg 54061849ul, 58488943ul, 63278561ul, 68460391ul, 74066549ul, 5936ac495dSmrg 80131819ul, 86693767ul, 93793069ul, 101473717ul, 109783337ul, 6036ac495dSmrg 118773397ul, 128499677ul, 139022417ul, 150406843ul, 162723577ul, 6136ac495dSmrg 176048909ul, 190465427ul, 206062531ul, 222936881ul, 241193053ul, 6236ac495dSmrg 260944219ul, 282312799ul, 305431229ul, 330442829ul, 357502601ul, 6336ac495dSmrg 386778277ul, 418451333ul, 452718089ul, 489790921ul, 529899637ul, 6436ac495dSmrg 573292817ul, 620239453ul, 671030513ul, 725980837ul, 785430967ul, 6536ac495dSmrg 849749479ul, 919334987ul, 994618837ul, 1076067617ul, 1164186217ul, 6636ac495dSmrg 1259520799ul, 1362662261ul, 1474249943ul, 1594975441ul, 1725587117ul, 6736ac495dSmrg 1866894511ul, 2019773507ul, 2185171673ul, 2364114217ul, 2557710269ul, 6836ac495dSmrg 2767159799ul, 2993761039ul, 3238918481ul, 3504151727ul, 3791104843ul, 6936ac495dSmrg 4101556399ul, 4294967291ul, 7036ac495dSmrg // Sentinel, so we don't have to test the result of lower_bound, 7136ac495dSmrg // or, on 64-bit machines, rest of the table. 7236ac495dSmrg #if __SIZEOF_LONG__ != 8 7336ac495dSmrg 4294967291ul 7436ac495dSmrg #else 7536ac495dSmrg 6442450933ul, 8589934583ul, 12884901857ul, 17179869143ul, 7636ac495dSmrg 25769803693ul, 34359738337ul, 51539607367ul, 68719476731ul, 7736ac495dSmrg 103079215087ul, 137438953447ul, 206158430123ul, 274877906899ul, 7836ac495dSmrg 412316860387ul, 549755813881ul, 824633720731ul, 1099511627689ul, 7936ac495dSmrg 1649267441579ul, 2199023255531ul, 3298534883309ul, 4398046511093ul, 8036ac495dSmrg 6597069766607ul, 8796093022151ul, 13194139533241ul, 17592186044399ul, 8136ac495dSmrg 26388279066581ul, 35184372088777ul, 52776558133177ul, 70368744177643ul, 8236ac495dSmrg 105553116266399ul, 140737488355213ul, 211106232532861ul, 281474976710597ul, 8336ac495dSmrg 562949953421231ul, 1125899906842597ul, 2251799813685119ul, 8436ac495dSmrg 4503599627370449ul, 9007199254740881ul, 18014398509481951ul, 8536ac495dSmrg 36028797018963913ul, 72057594037927931ul, 144115188075855859ul, 8636ac495dSmrg 288230376151711717ul, 576460752303423433ul, 8736ac495dSmrg 1152921504606846883ul, 2305843009213693951ul, 8836ac495dSmrg 4611686018427387847ul, 9223372036854775783ul, 8936ac495dSmrg 18446744073709551557ul, 18446744073709551557ul 9036ac495dSmrg #endif 9136ac495dSmrg }; 9236ac495dSmrg } // namespace __detail 93