math/libdivide: adding a library for optimized integer division

To be used by math/primecount.
This commit is contained in:
Thierry Thomas 2021-11-28 17:26:03 +01:00
parent e542b12a90
commit 55a132b6f6
4 changed files with 41 additions and 0 deletions

View file

@ -398,6 +398,7 @@
SUBDIR += libRmath
SUBDIR += libbraiding
SUBDIR += libccd
SUBDIR += libdivide
SUBDIR += libflame
SUBDIR += libhomfly
SUBDIR += libmesh

26
math/libdivide/Makefile Normal file
View file

@ -0,0 +1,26 @@
# Created by: thierry@pompo.net
PORTNAME= libdivide
DISTVERSION= 5.0
CATEGORIES= math
MAINTAINER= thierry@FreeBSD.org
COMMENT= Fast prime counting function implementations
LICENSE= ZLIB BSL
LICENSE_COMB= multi
USE_GITHUB= yes
GH_ACCOUNT= ridiculousfish
USES= cmake compiler:c++11-lang
NO_ARCH= yes
PLIST_FILES= include/libdivide.h \
lib/cmake/libdivide/libdivideConfig.cmake \
lib/cmake/libdivide/libdivideConfigVersion.cmake
do-test:
${CONFIGURE_WRKSRC}/tester
.include <bsd.port.mk>

3
math/libdivide/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1638115355
SHA256 (ridiculousfish-libdivide-5.0_GH0.tar.gz) = 01ffdf90bc475e42170741d381eb9cfb631d9d7ddac7337368bcd80df8c98356
SIZE (ridiculousfish-libdivide-5.0_GH0.tar.gz) = 680611

11
math/libdivide/pkg-descr Normal file
View file

@ -0,0 +1,11 @@
libdivide allows you to replace expensive integer divides with comparatively
cheap multiplication and bitshifts. Compilers usually do this, but only when the
divisor is known at compile time. libdivide allows you to take advantage of it
at runtime. The result is that integer division can become faster - a lot
faster.
Furthermore, libdivide allows you to divide SIMD vectors by runtime constants,
which is especially nice because SIMD typically lacks integer division.
WWW: https://libdivide.com/
WWW: https://github.com/ridiculousfish/libdivide/