Add crlibm , correctly-rounded mathematics library.
This commit is contained in:
parent
f1ecf33f43
commit
11fb6f6ca0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=288947
5 changed files with 101 additions and 0 deletions
|
@ -61,6 +61,7 @@
|
||||||
SUBDIR += concorde
|
SUBDIR += concorde
|
||||||
SUBDIR += convertall
|
SUBDIR += convertall
|
||||||
SUBDIR += coq
|
SUBDIR += coq
|
||||||
|
SUBDIR += crlibm
|
||||||
SUBDIR += cvc3
|
SUBDIR += cvc3
|
||||||
SUBDIR += dcdflib
|
SUBDIR += dcdflib
|
||||||
SUBDIR += diehard
|
SUBDIR += diehard
|
||||||
|
|
61
math/crlibm/Makefile
Normal file
61
math/crlibm/Makefile
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
# New ports collection makefile for: crlibm
|
||||||
|
# Date created: 10 January 2012
|
||||||
|
# Whom: bf@FreeBSD.org
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
PORTNAME= crlibm
|
||||||
|
DISTVERSION= 1.0beta4
|
||||||
|
CATEGORIES= math
|
||||||
|
MASTER_SITES= http://lipforge.ens-lyon.fr/frs/download.php/%SUBDIR%/:1,2,3 \
|
||||||
|
LOCAL/bf:4
|
||||||
|
MASTER_SITE_SUBDIR= 162/:1 153/:2 154/:3
|
||||||
|
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:1,4
|
||||||
|
.if make(makesum) || !defined(NOPORTDOCS)
|
||||||
|
DISTFILES+= crlibm-1.0beta3.pdf:2,4 tripledoubleprocedures-1.0beta3.pdf:3,4
|
||||||
|
.endif
|
||||||
|
DIST_SUBDIR= crlibm
|
||||||
|
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
||||||
|
|
||||||
|
MAINTAINER= bf@FreeBSD.org
|
||||||
|
COMMENT= Correctly-rounded mathematics library
|
||||||
|
|
||||||
|
LICENSE= LGPL21
|
||||||
|
|
||||||
|
LIB_DEPENDS= mpfr.4:${PORTSDIR}/math/mpfr
|
||||||
|
|
||||||
|
GNU_CONFIGURE= yes
|
||||||
|
CONFIGURE_ARGS = --enable-mpfr
|
||||||
|
CPPFLAGS+= -I${LOCALBASE}/include
|
||||||
|
LDFLAGS+= -L${LOCALBASE}/lib
|
||||||
|
|
||||||
|
.include <bsd.port.pre.mk>
|
||||||
|
|
||||||
|
#7-STABLE has log2() in libm after r226457 on 17 Oct 2011, but
|
||||||
|
#there was no accompanying OSVERSION bump
|
||||||
|
.if ${OSVERSION} < 802502 || (${OSVERSION} >= 900000 && ${OSVERSION} < 900027)
|
||||||
|
post-patch:
|
||||||
|
@${REINPLACE_CMD} \
|
||||||
|
-e '/testfun_libm[[:blank:]]*=[[:blank:]]*log2;/s/log2/NULL/' \
|
||||||
|
${WRKSRC}/tests/test_common.c
|
||||||
|
|
||||||
|
.endif
|
||||||
|
|
||||||
|
post-build:
|
||||||
|
@cd ${WRKSRC}; ${STRIP_CMD} -x libcrlibm.a scs_lib/libscs.a
|
||||||
|
|
||||||
|
check regression-test test: build
|
||||||
|
@cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \
|
||||||
|
${MAKE_ARGS} check
|
||||||
|
|
||||||
|
.if !defined(NOPORTDOCS)
|
||||||
|
PORTDOCS= ${DISTFILES:C|\:.*||:M*.pdf}
|
||||||
|
|
||||||
|
post-install:
|
||||||
|
@${INSTALL_DATA} -d ${DOCSDIR}
|
||||||
|
@cd ${_DISTDIR}; ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}
|
||||||
|
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.include <bsd.port.post.mk>
|
6
math/crlibm/distinfo
Normal file
6
math/crlibm/distinfo
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
SHA256 (crlibm/crlibm-1.0beta4.tar.gz) = 6836b4299f9421c99da2bdcd5e04a8d35577db4eb61161a401aa93751a96375d
|
||||||
|
SIZE (crlibm/crlibm-1.0beta4.tar.gz) = 2368435
|
||||||
|
SHA256 (crlibm/crlibm-1.0beta3.pdf) = cbde4b66d1fa331fa7806effb41119deb42a294df64c117c966fd659d947a5ea
|
||||||
|
SIZE (crlibm/crlibm-1.0beta3.pdf) = 1350926
|
||||||
|
SHA256 (crlibm/tripledoubleprocedures-1.0beta3.pdf) = 55bd342c623e369e5450b36337da3879e18b1a483d55706e2f979c9cce906fac
|
||||||
|
SIZE (crlibm/tripledoubleprocedures-1.0beta3.pdf) = 460704
|
23
math/crlibm/pkg-descr
Normal file
23
math/crlibm/pkg-descr
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
CRlibm is an efficient and proven mathematical library, which
|
||||||
|
provides implementations of the double-precision C99 standard
|
||||||
|
elementary functions, correctly rounded in the four IEEE-754 rounding
|
||||||
|
modes, and sufficiently efficient in average time, worst-case time,
|
||||||
|
and memory consumption to replace existing libms transparently.
|
||||||
|
|
||||||
|
The distribution includes extensive documentation with the proof
|
||||||
|
of each function (currently more than 100 pages), as well as all
|
||||||
|
the Maple scripts used to develop the functions. This makes this
|
||||||
|
library an excellent tutorial on software elementary function
|
||||||
|
development.
|
||||||
|
|
||||||
|
CRlibm also includes a lightweight library for multiple precision,
|
||||||
|
scslib (Software Carry Save Library). This library has been developed
|
||||||
|
specifically to answer the needs of the CRlibm project: precision
|
||||||
|
up to a few hundred bits, portability, compatibility with IEEE
|
||||||
|
floating-point standards, performance comparable to or better than
|
||||||
|
GMP, and a small footprint. It uses a data-structure which allows
|
||||||
|
carry propagations to be avoided during multiple-precision
|
||||||
|
multiplications, and supports addition, subtraction, multiplication,
|
||||||
|
and conversions.
|
||||||
|
|
||||||
|
WWW: http://lipforge.ens-lyon.fr/www/crlibm/
|
10
math/crlibm/pkg-plist
Normal file
10
math/crlibm/pkg-plist
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
bin/crlibm_blindtest
|
||||||
|
bin/crlibm_generate_test_vectors
|
||||||
|
bin/crlibm_soaktest
|
||||||
|
bin/crlibm_testperf
|
||||||
|
bin/crlibm_testval
|
||||||
|
include/crlibm.h
|
||||||
|
include/crlibm_config.h
|
||||||
|
include/scs.h
|
||||||
|
lib/libcrlibm.a
|
||||||
|
lib/libscs.a
|
Loading…
Reference in a new issue