Skip to content

Commit

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

MAINTAINER= fortran@FreeBSD.org
COMMENT= Double-quad precision 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-dq.scr gnu-complink-dq.scr
${REINPLACE_CMD} -e 's|-O3|${FFLAGS}|' ${BUILD_WRKSRC}/${f}
.endfor

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

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

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} tpslqm1dq ${STAGEDIR}${EXAMPLESDIR} && \
${INSTALL_DATA} tpslqm1dq.f90 ${STAGEDIR}${EXAMPLESDIR}

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

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

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions math/dqfun/distinfo
@@ -0,0 +1,3 @@
TIMESTAMP = 1699200080
SHA256 (dqfun-v03.tar.gz) = 3ad51ea391dfbfe69c0f84ef988fe136d5910a2cafe860ddc6c78d3589468295
SIZE (dqfun-v03.tar.gz) = 99019
10 changes: 10 additions & 0 deletions math/dqfun/pkg-descr
@@ -0,0 +1,10 @@
DQFUN: A double-quad precision package with special functions (approximately 66
digit precision).

This package permits one to perform floating-point computations (real and
complex) to double-quad precision (approximately 65 digits), by making only
relatively minor changes to existing Fortran programs. 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 128-bit floating-point arithmetic
(in hardware or software).
10 changes: 10 additions & 0 deletions math/dqfun/pkg-plist
@@ -0,0 +1,10 @@
include/dqfuna.mod
include/dqfune.mod
include/dqmodule.mod
%%PORTDOCS%%%%DOCSDIR%%/README-dqfun.txt
%%PORTDOCS%%%%DOCSDIR%%/testdqfun.ref.txt
%%PORTDOCS%%%%DOCSDIR%%/tpphixdq.ref.txt
%%PORTDOCS%%%%DOCSDIR%%/tpslqm1dq.ref.txt
%%PORTDOCS%%%%DOCSDIR%%/tquaddq.ref.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tpslqm1dq
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tpslqm1dq.f90

0 comments on commit edf46cc

Please sign in to comment.