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.
See also: https://github.com/ridiculousfish/libdivide/
===> The following configuration options are available for libdivide-5.4.0:
NATIVE=off: Use native optimization (-march=native)
===> Use 'make config' to modify these settings
math/libdivide: fix build with clang 19
Clang 19 has become more strict about errors in member functions, which
results in errors building math/libdivide:
/wrkdirs/usr/ports/math/libdivide/work/libdivide-5.0/libdivide.h:3020:41:
error: no member named 'denom' in 'divider<T, ALGO>'
3020 | return div.denom.magic == other.denom.magic && div.denom.more
== other.denom.more;
| ~~~~~ ^
/wrkdirs/usr/ports/math/libdivide/work/libdivide-5.0/libdivide.h:3020:80:
error: no member named 'denom' in 'divider<T, ALGO>'
3020 | return div.denom.magic == other.denom.magic && div.denom.more
== other.denom.more;
|
~~~~~ ^
The member function `operator==()` should refer to `other.div.denom`
instead. Upstream fixed this in
https://github.com/ridiculousfish/libdivide/commit/fa020f3, so import it
as a patch.
PR: 282827
Approved by: thierry (maintainer)
MFH: 2024Q4
math/libdivide: remove -Werror
With clang 15, a deprecation warning is emitted in a test file, and this
makes the compilation fail:
a function declaration without a prototype is deprecated in all versions of C
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )