Merge pull request #172796 from AndersonTorres/MISC
primesieve, primecount: updates
This commit is contained in:
commit
4cebbee703
51
pkgs/applications/science/math/primecount/default.nix
Normal file
51
pkgs/applications/science/math/primecount/default.nix
Normal file
@ -0,0 +1,51 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, primesieve
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "primecount";
|
||||
version = "7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimwalisch";
|
||||
repo = "primecount";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-hxnn1uiGSB6XRC7yK+SXTwTsJfjhemWXsMNhhL7Ghek=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ primesieve ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_LIBPRIMESIEVE=ON"
|
||||
"-DBUILD_PRIMECOUNT=ON"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DBUILD_STATIC_LIBS=OFF"
|
||||
"-DBUILD_TESTS=ON"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/kimwalisch/primecount";
|
||||
description = "Fast prime counting function implementations";
|
||||
longDescription = ''
|
||||
primecount is a command-line program and C/C++ library that counts the
|
||||
primes below an integer x ≤ 10^31 using highly optimized implementations
|
||||
of the combinatorial prime counting algorithms.
|
||||
|
||||
primecount includes implementations of all important combinatorial prime
|
||||
counting algorithms known up to this date all of which have been
|
||||
parallelized using OpenMP. primecount contains the first ever open source
|
||||
implementations of the Deleglise-Rivat algorithm and Xavier Gourdon's
|
||||
algorithm (that works). primecount also features a novel load balancer
|
||||
that is shared amongst all implementations and that scales up to hundreds
|
||||
of CPU cores. primecount has already been used to compute several prime
|
||||
counting function world records.
|
||||
'';
|
||||
license = licenses.bsd2;
|
||||
inherit (primesieve.meta) maintainers platforms;
|
||||
};
|
||||
}
|
36
pkgs/applications/science/math/primesieve/default.nix
Normal file
36
pkgs/applications/science/math/primesieve/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "primesieve";
|
||||
version = "7.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimwalisch";
|
||||
repo = "primesieve";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lwT+adKFoNI125y5FuJMovtMh8sFi9oqMLYGLabzrCI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://primesieve.org/";
|
||||
description = "Fast C/C++ prime number generator";
|
||||
longDescription = ''
|
||||
primesieve is a command-line program and C/C++ library for quickly
|
||||
generating prime numbers. It is very cache efficient, it detects your
|
||||
CPU's L1 & L2 cache sizes and allocates its main data structures
|
||||
accordingly. It is also multi-threaded by default, it uses all available
|
||||
CPU cores whenever possible i.e. if sequential ordering is not
|
||||
required. primesieve can generate primes and prime k-tuplets up to 264.
|
||||
'';
|
||||
license = licenses.bsd2;
|
||||
maintainers = teams.sage.members ++
|
||||
(with maintainers; [ abbradar AndersonTorres ]);
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, primesieve }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "primecount";
|
||||
version = "7.2";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ primesieve ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimwalisch";
|
||||
repo = "primecount";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/Cb/HkD4UQ9gXsRpvRiEuQBoRd0THxNHsBaAAa+CqQo=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_STATIC_LIBS=OFF"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DBUILD_TESTS=ON"
|
||||
"-DBUILD_PRIMECOUNT=ON"
|
||||
"-DBUILD_LIBPRIMESIEVE=ON"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast prime counting function implementations";
|
||||
homepage = "https://github.com/kimwalisch/primecount";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = teams.sage.members;
|
||||
};
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "primesieve";
|
||||
version = "7.8";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimwalisch";
|
||||
repo = "primesieve";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-M35CP/xEyC7mEh84kaGsgfsDI9fnanHraNPgTvpqimI=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast C/C++ prime number generator";
|
||||
homepage = "https://primesieve.org/";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
@ -20116,9 +20116,9 @@ with pkgs;
|
||||
|
||||
prime-server = callPackage ../development/libraries/prime-server { };
|
||||
|
||||
primecount = callPackage ../development/libraries/science/math/primecount { };
|
||||
primecount = callPackage ../applications/science/math/primecount { };
|
||||
|
||||
primesieve = callPackage ../development/libraries/science/math/primesieve { };
|
||||
primesieve = callPackage ../applications/science/math/primesieve { };
|
||||
|
||||
prison = callPackage ../development/libraries/prison { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user