Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Aug 2020 16:10:03 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r546923 - in head/math: . universal
Message-ID:  <202008291610.07TGA3YF042201@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Sat Aug 29 16:10:03 2020
New Revision: 546923
URL: https://svnweb.freebsd.org/changeset/ports/546923

Log:
  New port: math/universal: Header-only C++ template library for universal number arithmetic

Added:
  head/math/universal/
  head/math/universal/Makefile   (contents, props changed)
  head/math/universal/distinfo   (contents, props changed)
  head/math/universal/pkg-descr   (contents, props changed)
  head/math/universal/pkg-plist   (contents, props changed)
Modified:
  head/math/Makefile

Modified: head/math/Makefile
==============================================================================
--- head/math/Makefile	Sat Aug 29 15:53:14 2020	(r546922)
+++ head/math/Makefile	Sat Aug 29 16:10:03 2020	(r546923)
@@ -934,6 +934,7 @@
     SUBDIR += tvmet
     SUBDIR += ump
     SUBDIR += units
+    SUBDIR += universal
     SUBDIR += unuran
     SUBDIR += vampire
     SUBDIR += viennacl

Added: head/math/universal/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/universal/Makefile	Sat Aug 29 16:10:03 2020	(r546923)
@@ -0,0 +1,36 @@
+# $FreeBSD$
+
+PORTNAME=	universal
+DISTVERSION=	g20200829
+CATEGORIES=	math
+PKGNAMESUFFIX=	-fp-library
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Header-only C++ template library for universal number arithmetic
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake
+USE_GITHUB=	yes
+GH_ACCOUNT=	stillwater-sc
+GH_TAGNAME=	513bb30bac688b4b28eeb7429d601e7c40d2e3f3
+
+CMAKE_OFF=	UNIVERSAL_ENABLE_TESTS BUILD_CMD_LINE_TOOLS BUILD_PLAYGROUND BUILD_EXAMPLES_EDUCATION BUILD_EXAMPLES_APPLICATIONS
+
+OPTIONS_DEFINE=		TOOLS
+OPTIONS_SUB=		yes
+
+TOOLS_DESC=		Build command line tools
+TOOLS_CMAKE_BOOL=	BUILD_CMD_LINE_TOOLS
+TOOLS_BROKEN=		Installed name clash: https://github.com/stillwater-sc/universal/issues/153
+TOOLS_USES=		compiler:c++14-lang
+TOOLS_VARS_OFF=		NO_ARCH=yes
+
+do-test: # 2 tests are known to fail: https://github.com/stillwater-sc/universal/issues/154
+	@cd ${BUILD_WRKSRC} && \
+		${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${CMAKE_OFF:C/(.*)/-D\1=ON/} ${CMAKE_SOURCE_PATH} && \
+		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
+		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test
+
+.include <bsd.port.mk>

Added: head/math/universal/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/universal/distinfo	Sat Aug 29 16:10:03 2020	(r546923)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1598714306
+SHA256 (stillwater-sc-universal-g20200829-513bb30bac688b4b28eeb7429d601e7c40d2e3f3_GH0.tar.gz) = 022a186c83cdfbe80a4eaf23ef22524c56b8add7f93078532bde318ef24c31f7
+SIZE (stillwater-sc-universal-g20200829-513bb30bac688b4b28eeb7429d601e7c40d2e3f3_GH0.tar.gz) = 105511164

Added: head/math/universal/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/universal/pkg-descr	Sat Aug 29 16:10:03 2020	(r546923)
@@ -0,0 +1,16 @@
+The goal of Universal Numbers, or unums, is to replace IEEE floating-point with
+a number system that is more efficient and mathematically consistent in
+concurrent execution environments.
+
+The motivation to replace IEEE floating-point had been brewing in the HPC
+community since the late 90's as most algorithms became memory bound. The
+inefficiency of IEEE floating-point has been measured and agreed upon, but it
+was the AI Deep Learning community that moved first and replaced IEEE with
+number systems that are tailored to the application to yield speed-ups of two
+to three orders of magnitude.
+
+The Universal library is a ready-to-use header-only library that provides
+plug-in replacement for native types, and provides a low-friction environment
+to start exploring alternatives to IEEE floating-point in your own algorithms.
+
+WWW: https://github.com/stillwater-sc/universal

Added: head/math/universal/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/universal/pkg-plist	Sat Aug 29 16:10:03 2020	(r546923)
@@ -0,0 +1,158 @@
+%%TOOLS%%bin/compd
+%%TOOLS%%bin/compf
+%%TOOLS%%bin/compfp
+%%TOOLS%%bin/compld
+%%TOOLS%%bin/compp
+%%TOOLS%%bin/convert
+%%TOOLS%%bin/propenv
+%%TOOLS%%bin/propp
+include/universal/abstract/triple.hpp
+include/universal/adapters/adapt_integer_and_posit.hpp
+include/universal/areal/areal
+include/universal/areal/areal.hpp
+include/universal/areal/exceptions.hpp
+include/universal/areal/math_functions.hpp
+include/universal/areal/numeric_limits.hpp
+include/universal/bitblock/README.md
+include/universal/bitblock/bitblock.hpp
+include/universal/bitblock/bitblock_v2.hpp
+include/universal/bitblock/ubb.h
+include/universal/blas/blas.hpp
+include/universal/blas/blas_l1.hpp
+include/universal/blas/blas_l2.hpp
+include/universal/blas/blas_l3.hpp
+include/universal/blas/exceptions.hpp
+include/universal/blas/generators.hpp
+include/universal/blas/laplace2D.hpp
+include/universal/blas/lsq.hpp
+include/universal/blas/lu.hpp
+include/universal/blas/matrix.hpp
+include/universal/blas/uniform_random.hpp
+include/universal/blas/vector.hpp
+include/universal/blockbin/blockbinary.hpp
+include/universal/blockbin/blocktriple.hpp
+include/universal/blockbin/trace_constants.hpp
+include/universal/common/numeric_limits_utility.hpp
+include/universal/decimal/decimal.hpp
+include/universal/decimal/decimal_exceptions.hpp
+include/universal/decimal/numeric_limits.hpp
+include/universal/fixpnt/fixed_point.hpp
+include/universal/fixpnt/fixpnt
+include/universal/fixpnt/fixpnt_exceptions.hpp
+include/universal/fixpnt/fixpnt_functions.hpp
+include/universal/fixpnt/fixpnt_manipulators.hpp
+include/universal/fixpnt/math_functions.hpp
+include/universal/fixpnt/numeric_limits.hpp
+include/universal/float/exceptions.hpp
+include/universal/float/float_functions.hpp
+include/universal/float/quire.hpp
+include/universal/functions/binomial.hpp
+include/universal/functions/ddpoly.hpp
+include/universal/functions/factorial.hpp
+include/universal/functions/functions.hpp
+include/universal/functions/isrepresentable.hpp
+include/universal/functions/lerp.hpp
+include/universal/functions/loss.hpp
+include/universal/functions/twosum.hpp
+include/universal/integer/integer
+include/universal/integer/integer.hpp
+include/universal/integer/integer_exceptions.hpp
+include/universal/integer/integer_functions.hpp
+include/universal/integer/integer_manipulators.hpp
+include/universal/integer/math_functions.hpp
+include/universal/integer/numeric_limits.hpp
+include/universal/integer/primes.hpp
+include/universal/integer/sieves.hpp
+include/universal/lns/exceptions.hpp
+include/universal/lns/lns
+include/universal/lns/lns.hpp
+include/universal/lns/math_functions.hpp
+include/universal/lns/numeric_limits.hpp
+include/universal/mpfloat/mpfloat.hpp
+include/universal/native/bit_functions.hpp
+include/universal/native/ieee-754.hpp
+include/universal/native/integers.hpp
+include/universal/native/manipulators.hpp
+include/universal/native/native
+include/universal/posit/ReadMe.txt
+include/universal/posit/exceptions.hpp
+include/universal/posit/exponent.hpp
+include/universal/posit/fdp.hpp
+include/universal/posit/fraction.hpp
+include/universal/posit/math/classify.hpp
+include/universal/posit/math/complex.hpp
+include/universal/posit/math/constants.hpp
+include/universal/posit/math/error_and_gamma.hpp
+include/universal/posit/math/exponent.hpp
+include/universal/posit/math/fractional.hpp
+include/universal/posit/math/hyperbolic.hpp
+include/universal/posit/math/hypot.hpp
+include/universal/posit/math/logarithm.hpp
+include/universal/posit/math/minmax.hpp
+include/universal/posit/math/next.hpp
+include/universal/posit/math/pow.hpp
+include/universal/posit/math/sqrt.hpp
+include/universal/posit/math/sqrt_tables.hpp
+include/universal/posit/math/trigonometry.hpp
+include/universal/posit/math/truncate.hpp
+include/universal/posit/math_functions.hpp
+include/universal/posit/numeric_limits.hpp
+include/universal/posit/posit
+include/universal/posit/posit.hpp
+include/universal/posit/posit_c_api.h
+include/universal/posit/posit_c_macros.h
+include/universal/posit/posit_decoded.hpp
+include/universal/posit/posit_functions.hpp
+include/universal/posit/posit_fwd.hpp
+include/universal/posit/posit_manipulators.hpp
+include/universal/posit/posit_parse.hpp
+include/universal/posit/positctypes.h
+include/universal/posit/quire.hpp
+include/universal/posit/regime.hpp
+include/universal/posit/specializations.hpp
+include/universal/posit/specialized/posit_128_4.hpp
+include/universal/posit/specialized/posit_16_1.hpp
+include/universal/posit/specialized/posit_256_5.hpp
+include/universal/posit/specialized/posit_2_0.hpp
+include/universal/posit/specialized/posit_32_2.hpp
+include/universal/posit/specialized/posit_3_0.hpp
+include/universal/posit/specialized/posit_3_1.hpp
+include/universal/posit/specialized/posit_4_0.hpp
+include/universal/posit/specialized/posit_64_3.hpp
+include/universal/posit/specialized/posit_8_0.h
+include/universal/posit/specialized/posit_8_0.hpp
+include/universal/posit/specialized/posit_8_1.h
+include/universal/posit/specialized/posit_8_1.hpp
+include/universal/posit/trace_constants.hpp
+include/universal/posit/twoSum.hpp
+include/universal/sequences/sequences.hpp
+include/universal/skeleton_1param/exceptions.hpp
+include/universal/skeleton_1param/lns
+include/universal/skeleton_1param/lns.hpp
+include/universal/skeleton_1param/math_functions.hpp
+include/universal/skeleton_1param/numeric_limits.hpp
+include/universal/skeleton_2params/areal
+include/universal/skeleton_2params/areal.hpp
+include/universal/skeleton_2params/exceptions.hpp
+include/universal/skeleton_2params/math_functions.hpp
+include/universal/skeleton_2params/numeric_limits.hpp
+include/universal/string/strmanip.hpp
+include/universal/traits/README.md
+include/universal/traits/fixpnt_traits.hpp
+include/universal/traits/integral_constant.hpp
+include/universal/traits/metaprogramming.hpp
+include/universal/traits/number_traits.hpp
+include/universal/traits/posit_traits.hpp
+include/universal/unum/CMakeLists.txt
+include/universal/unum2/CMakeLists.txt
+include/universal/utility/color_print.hpp
+include/universal/utility/reverse_view.hpp
+include/universal/valid/valid
+include/universal/valid/valid.hpp
+include/universal/valid/valid_functions.hpp
+include/universal/valid/valid_manipulators.hpp
+include/universal/value/value
+include/universal/value/value.hpp
+%%DATADIR%%/universal-config-version.cmake
+%%DATADIR%%/universal-config.cmake
+%%DATADIR%%/universal-targets.cmake



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008291610.07TGA3YF042201>