git: a0193e9a5575 - main - math/tlfloat: new port, C++ template library for floating point operations

From: Thierry Thomas <thierry_at_FreeBSD.org>
Date: Sun, 21 Sep 2025 12:31:24 UTC
The branch main has been updated by thierry:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a0193e9a55757b9b8f93ffcbf909a56a628832d9

commit a0193e9a55757b9b8f93ffcbf909a56a628832d9
Author:     Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2025-09-21 12:15:37 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2025-09-21 12:27:49 +0000

    math/tlfloat: new port, C++ template library for floating point operations
---
 math/Makefile          |  1 +
 math/tlfloat/Makefile  | 20 ++++++++++++++++++++
 math/tlfloat/distinfo  |  3 +++
 math/tlfloat/pkg-descr |  9 +++++++++
 math/tlfloat/pkg-plist |  9 +++++++++
 5 files changed, 42 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 8a3d73ac958d..fa53616c10bc 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -1267,6 +1267,7 @@
     SUBDIR += tinyexpr
     SUBDIR += tinymt
     SUBDIR += tlapack
+    SUBDIR += tlfloat
     SUBDIR += tmv
     SUBDIR += tomsfastmath
     SUBDIR += topaz
diff --git a/math/tlfloat/Makefile b/math/tlfloat/Makefile
new file mode 100644
index 000000000000..dbe2493e5506
--- /dev/null
+++ b/math/tlfloat/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	tlfloat
+DISTVERSIONPREFIX=v
+DISTVERSION=	1.15.0
+CATEGORIES=	math
+
+MAINTAINER=	thierry@FreeBSD.org
+COMMENT=	C++ template library for floating point operations
+WWW=		https://shibatch.github.io/tlfloat-doxygen/
+
+LICENSE=	BSL
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+LIB_DEPENDS=	libmpfr.so:math/mpfr
+
+USES=		cmake:testing compiler:c++20-lang
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	shibatch
+
+.include <bsd.port.mk>
diff --git a/math/tlfloat/distinfo b/math/tlfloat/distinfo
new file mode 100644
index 000000000000..43a99d64a422
--- /dev/null
+++ b/math/tlfloat/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758390706
+SHA256 (shibatch-tlfloat-v1.15.0_GH0.tar.gz) = f96a19273111de3c8818965dc3d68cbd66edaba62f03bcd2c06525a22197c97b
+SIZE (shibatch-tlfloat-v1.15.0_GH0.tar.gz) = 266438
diff --git a/math/tlfloat/pkg-descr b/math/tlfloat/pkg-descr
new file mode 100644
index 000000000000..632dc62c983c
--- /dev/null
+++ b/math/tlfloat/pkg-descr
@@ -0,0 +1,9 @@
+This library implements C++ classes with which half, single, double, quadruple
+and octuple precision IEEE 754 floating point numbers can be operated.
+
+Internally, these classes are implemented as class templates on top of
+arbitrary-precision integer class templates so that the templates are expanded
+as arbitrary precision floating-point operations by just changing the template
+parameters, rather than implementing each floating-point operation for each
+precision. The arbitrary-precision integer class templates are also included in
+this library.
diff --git a/math/tlfloat/pkg-plist b/math/tlfloat/pkg-plist
new file mode 100644
index 000000000000..ccd4ce1a5e9d
--- /dev/null
+++ b/math/tlfloat/pkg-plist
@@ -0,0 +1,9 @@
+include/tlfloat/bigint.hpp
+include/tlfloat/rpitab.hpp
+include/tlfloat/tlfloat.h
+include/tlfloat/tlfloat.hpp
+include/tlfloat/tlfloatconfig.hpp
+include/tlfloat/tlmath.hpp
+include/tlfloat/tlmathcoef.hpp
+lib/libtlfloat.a
+libdata/pkgconfig/tlfloat.pc