Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/curttilmes/raku-primesieve
Raku bindings for primesieve
https://github.com/curttilmes/raku-primesieve
perl6 prime-ktuplets prime-numbers primesieve raku
Last synced: 29 days ago
JSON representation
Raku bindings for primesieve
- Host: GitHub
- URL: https://github.com/curttilmes/raku-primesieve
- Owner: CurtTilmes
- License: bsd-2-clause
- Created: 2017-05-01T00:06:44.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-10-23T12:45:16.000Z (about 4 years ago)
- Last Synced: 2024-10-10T21:40:14.739Z (29 days ago)
- Topics: perl6, prime-ktuplets, prime-numbers, primesieve, raku
- Language: Raku
- Homepage:
- Size: 24.4 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Math::Primesieve
================Raku bindings for [primesieve](http://primesieve.org/).
primesieve generates primes using a highly optimized sieve of
Eratosthenes implementation. It counts the primes below 10¹⁰ in
just 0.45 seconds on an Intel Core i7-6700 CPU (4 x 3.4GHz).
primesieve can generate primes and prime k-tuplets
up to 2⁶⁴.USAGE
=====use Math::Primesieve;
my $p = Math::Primesieve.new;
say "Using libprimesieve version $p.version()";
say $p.primes(100); # Primes under 100
say $p.primes(100, 200); # Primes between 100 and 200
say $p.n-primes(20); # First 20 primes
say $p.n-primes(10, 1000); # 10 primes over 1000
say $p.nth-prime(10); # nth-prime
say $p[10]; # Can also just subscript for nth-prime
say $p.nth-prime(100, 1000); # 100th prime over 1000
say $p.count(10**9); # Count primes under 10^9
$p.print(10); # Print primes under 10
say $p.count(10**8, 10**9); # Count primes between 10^8 and 10^9
$p.print(10, 20); # Print primes between 10 and 20
Pass options :twins, :triplets, :quadruplets, :quintuplets,
:sextuplets to `count` or `print` for prime k-tuplets.Iterator
========my $iterator = Math::Primesieve::iterator.new;
say $iterator.next for ^10; # Print first 10 primes;
$iterator.skipto(1000); # skip to a specific start (can also
# specify stop_hint)say $iterator.next for ^10; # Print 10 primes over 1000
say $iterator.prev for ^10; # Previous primes
my $it = Math::Primesieve::iterator.new(1000); # Can start at a num
INSTALLATION
============First install the
[primesieve](https://github.com/kimwalisch/primesieve) library.For Ubuntu linux, just run:
```
sudo apt install libprimesieve-dev
```Then install this module in the normal way with zef.
zef install Math::Primesieve