Line data Source code
1 : /************************************************************************* 2 : * 3 : * Project 4 : * _____ _____ __ __ _____ 5 : * / ____| __ \| \/ | __ \ 6 : * ___ _ __ ___ _ __ | | __| |__) | \ / | |__) | 7 : * / _ \| '_ \ / _ \ '_ \| | |_ | ___/| |\/| | ___/ 8 : *| (_) | |_) | __/ | | | |__| | | | | | | | 9 : * \___/| .__/ \___|_| |_|\_____|_| |_| |_|_| 10 : * | | 11 : * |_| 12 : * 13 : * Copyright (C) Akiel Aries, <akiel@akiel.org>, et al. 14 : * 15 : * This software is licensed as described in the file LICENSE, which 16 : * you should have received as part of this distribution. The terms 17 : * among other details are referenced in the official documentation 18 : * seen here : https://akielaries.github.io/openGPMP/ along with 19 : * important files seen in this project. 20 : * 21 : * You may opt to use, copy, modify, merge, publish, distribute 22 : * and/or sell copies of the Software, and permit persons to whom 23 : * the Software is furnished to do so, under the terms of the 24 : * LICENSE file. 25 : * 26 : * 27 : * 28 : * This software is distributed on an AS IS basis, WITHOUT 29 : * WARRANTY OF ANY KIND, either express or implied. 30 : * 31 : ************************************************************************/ 32 : 33 : #include <algorithm> 34 : #include <cmath> 35 : #include <cstdlib> 36 : #include <cstring> 37 : #include <iostream> 38 : #include <openGPMP/arithmetic.hpp> 39 : #include <openGPMP/nt/prime_gen.hpp> 40 : #include <random> 41 : #include <stdio.h> 42 : #include <string> 43 : 44 : extern "C" { 45 : // sieve of eratosthenes assembly kernel 46 : std::vector<int> _Z19sieveOfEratosthenesi(int n); 47 : } 48 : 49 0 : std::vector<int> gpmp::PrimalityGen::sieve_of_eratosthenes(int n) { 50 0 : return _Z19sieveOfEratosthenesi(n); 51 : }