math/symfpu: New port: Implementation of IEEE-754 / SMT-LIB floating-point

This commit is contained in:
Yuri Victorovich 2023-01-04 00:29:55 -08:00
parent 9e836ff244
commit 0ce5871855
7 changed files with 89 additions and 0 deletions

View File

@ -1140,6 +1140,7 @@
SUBDIR += superlu
SUBDIR += superlu-dist
SUBDIR += symengine
SUBDIR += symfpu
SUBDIR += symmetrica
SUBDIR += symphony
SUBDIR += sympol

32
math/symfpu/Makefile Normal file
View File

@ -0,0 +1,32 @@
PORTNAME= symfpu
DISTVERSION= g20190517
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
COMMENT= Implementation of IEEE-754 / SMT-LIB floating-point
WWW= https://github.com/martin-cs/symfpu
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= gmake
USE_GITHUB= yes
GH_ACCOUNT= martin-cs
GH_TAGNAME= c3acaf6
CXXFLAGS+= -I${WRKSRC}
ALL_TARGET= subdirs symfpu.a
MAKE_ARGS= SUBDIRS=baseTypes
do-install:
${MKDIR} \
${STAGEDIR}${PREFIX}/include/symfpu/core \
${STAGEDIR}${PREFIX}/include/symfpu/utils
${CP} ${WRKSRC}/core/*.h ${STAGEDIR}${PREFIX}/include/symfpu/core
${CP} ${WRKSRC}/utils/*.h ${STAGEDIR}${PREFIX}/include/symfpu/utils
${INSTALL_DATA} ${WRKSRC}/symfpu.a ${STAGEDIR}${PREFIX}/lib
.include <bsd.port.mk>

3
math/symfpu/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1672799708
SHA256 (martin-cs-symfpu-g20190517-c3acaf6_GH0.tar.gz) = 3cc3bda6357e98c348abe4b9e72be9ddca918acdcb1f19406e6a35dc939d9f24
SIZE (martin-cs-symfpu-g20190517-c3acaf6_GH0.tar.gz) = 77560

View File

@ -0,0 +1,11 @@
--- baseTypes/simpleExecutable.cpp.orig 2023-01-04 05:09:43 UTC
+++ baseTypes/simpleExecutable.cpp
@@ -28,7 +28,7 @@
*/
-#include "symfpu/baseTypes/simpleExecutable.h"
+#include "baseTypes/simpleExecutable.h"
#include <assert.h>
#include <math.h>

View File

@ -0,0 +1,15 @@
--- baseTypes/simpleExecutable.h.orig 2023-01-04 05:11:39 UTC
+++ baseTypes/simpleExecutable.h
@@ -34,9 +34,9 @@
**
*/
-#include "symfpu/utils/properties.h"
-#include "symfpu/core/ite.h"
-#include "symfpu/baseTypes/shared.h"
+#include "utils/properties.h"
+#include "core/ite.h"
+#include "baseTypes/shared.h"
#include <assert.h>
#include <stdint.h>

8
math/symfpu/pkg-descr Normal file
View File

@ -0,0 +1,8 @@
SymFPU is an implementation of the SMT-LIB / IEEE-754 operations in terms of
bit-vector operations. It is templated in terms of the bit-vectors,
propositions, floating-point formats and rounding mode types used. This allow
the same code to be executed as an arbitrary precision "SoftFloat" library
(although it's performance would not be good) or to be used to build symbolic
representation of floating-point operations suitable for use in "bit-blasting"
SMT solvers (you could also generate circuits from them but again, performance
will likely not be good).

19
math/symfpu/pkg-plist Normal file
View File

@ -0,0 +1,19 @@
include/symfpu/core/add.h
include/symfpu/core/classify.h
include/symfpu/core/compare.h
include/symfpu/core/convert.h
include/symfpu/core/divide.h
include/symfpu/core/fma.h
include/symfpu/core/ite.h
include/symfpu/core/multiply.h
include/symfpu/core/operations.h
include/symfpu/core/packing.h
include/symfpu/core/remainder.h
include/symfpu/core/rounder.h
include/symfpu/core/sign.h
include/symfpu/core/sqrt.h
include/symfpu/core/unpackedFloat.h
include/symfpu/utils/common.h
include/symfpu/utils/numberOfRoundingModes.h
include/symfpu/utils/properties.h
lib/symfpu.a