Skip to content

Commit

Permalink
math/ddfun: new port, double-double precision package with special fu…
Browse files Browse the repository at this point in the history
…nctions
  • Loading branch information
thierry-FreeBSD committed Nov 5, 2023
1 parent a200a0b commit c44bf07
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 0 deletions.
54 changes: 54 additions & 0 deletions math/ddfun/Makefile
@@ -0,0 +1,54 @@
PORTNAME= ddfun
DISTVERSIONPREFIX=v
DISTVERSION= 03
CATEGORIES= math
MASTER_SITES= https://www.davidhbailey.com/dhbsoftware/

MAINTAINER= fortran@FreeBSD.org
COMMENT= Double-double package with special functions
WWW= https://crd-legacy.lbl.gov/~dhbailey/mpdist

LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/DISCLAIMER.txt

USES= fortran

BINARY_ALIAS= gfortran=${FC}
FFLAGS+= -O3
BUILD_WRKSRC= ${WRKSRC}/fortran

OPTIONS_DEFINE= DOCS EXAMPLES

pre-configure:
.for f in gnu-complib-dd.scr gnu-complink-dd.scr
${REINPLACE_CMD} -e 's|-O3|${FFLAGS}|' ${BUILD_WRKSRC}/${f}
.endfor

do-build:
cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ./gnu-complib-dd.scr

do-build-EXAMPLES-on:
cd ${BUILD_WRKSRC} && \
${SETENV} ${MAKE_ENV} ./gnu-complink-dd.scr tpslqm1dd

do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/include
cd ${BUILD_WRKSRC} && \
${INSTALL_DATA} *.mod ${STAGEDIR}${PREFIX}/include

do-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${BUILD_WRKSRC} && \
${INSTALL_PROGRAM} tpslqm1dd ${STAGEDIR}${EXAMPLESDIR} && \
${INSTALL_DATA} tpslqm1dd.f90 ${STAGEDIR}${EXAMPLESDIR}

do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/README-ddfun.txt ${STAGEDIR}${DOCSDIR}
cd ${BUILD_WRKSRC} && \
${INSTALL_DATA} *.ref.txt ${STAGEDIR}${DOCSDIR}

do-test:
cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ./gnu-ddfun-tests.scr

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions math/ddfun/distinfo
@@ -0,0 +1,3 @@
TIMESTAMP = 1699206558
SHA256 (ddfun-v03.tar.gz) = 34b9037d2cf1260e02adfc673cbc7ffedc979bd1738d6b48d8c2e6330afc0e61
SIZE (ddfun-v03.tar.gz) = 101238
11 changes: 11 additions & 0 deletions math/ddfun/pkg-descr
@@ -0,0 +1,11 @@
DDFUN: A double-double package with special functions (approximately 30 digit
precision).

This package permits one to perform floating-point computations (real and
complex) to double-double precision (approximately 30 digits), by making only
relatively minor changes to existing Fortran programs. It is intended as a
substitute for IEEE 128-bit quad precision on systems where quad precision is
not available. All basic arithmetic operations and transcendental functions are
supported, together with numerous special functions. The package should run
correctly on any Unix-based system supporting a Fortran-2008 compiler and IEEE
64-bit floating-point arithmetic.
11 changes: 11 additions & 0 deletions math/ddfun/pkg-plist
@@ -0,0 +1,11 @@
include/ddfuna.mod
include/ddfune.mod
include/ddmodule.mod
%%PORTDOCS%%%%DOCSDIR%%/README-ddfun.txt
%%PORTDOCS%%%%DOCSDIR%%/testddfun.ref.txt
%%PORTDOCS%%%%DOCSDIR%%/testdqfun.ref.txt
%%PORTDOCS%%%%DOCSDIR%%/tpphixdd.ref.txt
%%PORTDOCS%%%%DOCSDIR%%/tpslqm1dd.ref.txt
%%PORTDOCS%%%%DOCSDIR%%/tquaddd.ref.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tpslqm1dd
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tpslqm1dd.f90

0 comments on commit c44bf07

Please sign in to comment.