BSD Ports

math/universal 4.10.1 FreeBSD

Header-only C++ template library for universal number arithmetic

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
441081f8d6
License
MIT
Categories
math
Package size
990.0 KiB, 6317.5 KiB installed

Description

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.

In the other systems

SystemPortVersion
FreeBSDmath/universal4.10.1
DragonFlymath/universal3.75

Install

Binary package:

pkg install universal-fp-library

From the ports tree:

cd /usr/ports/math/universal/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	universal-fp-library>0:math/universal

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest4.10.14.10.13.523.804.10.1
FreeBSD:14:quarterly4.10.14.10.1n/a3.804.10.1
FreeBSD:15:latest4.10.14.10.1n/a3.803.80
FreeBSD:15:quarterly4.10.14.10.1n/an/an/a
FreeBSD:16:latest4.10.14.10.1n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

Build dependencies 15

No port depends on this one.

Configuration

Options name: math_universal

OptionDefaultDescription
TOOLSoffBuild command line tools
USES
cmake:testing compiler:c++23-lang
Service scripts
none

Files

pkg-plist 949
  • bin/areal
  • bin/float2posit
  • bin/ieee
  • bin/longdouble
  • bin/plimits
  • bin/propenv
  • bin/propp
  • bin/propq
  • include/image/stb_image.h
  • include/image/stb_image_write.h
  • include/math/README.md
  • include/math/TODO
  • include/math/complex/manipulators.hpp
  • include/math/constants/double_constants.hpp
  • include/math/constants/float_constants.hpp
  • include/math/constants/ieee754_constants.hpp
  • include/math/constants/longdouble_constants.hpp
  • include/math/constants/reference_constants.hpp
  • include/math/constexpr_math.hpp
  • include/math/constexpr_math/detail.hpp
  • include/math/constexpr_math/exp.hpp
  • include/math/constexpr_math/exp2.hpp
  • include/math/constexpr_math/log.hpp
  • include/math/constexpr_math/log2.hpp
  • include/math/constexpr_math/pow.hpp
  • include/math/constexpr_math/sqrt.hpp
  • include/math/functions.hpp
  • include/math/functions/bessel.hpp
  • include/math/functions/bessel.md
  • include/math/functions/binomial.hpp
  • include/math/functions/cbrt.hpp
  • include/math/functions/factorial.hpp
  • include/math/functions/isrepresentable.hpp
  • include/math/functions/lerp.hpp
  • include/math/functions/loss.hpp
  • include/math/functions/x_over_one_minus_x.hpp
  • include/math/math.md
  • include/math/polynomial.hpp
  • include/math/polynomial/ddpoly.hpp
  • include/math/polynomial/horners.hpp
  • include/universal/README.md
  • include/universal/SPDX
  • include/universal/behavior/arithmetic.hpp
  • include/universal/behavior/rounding.hpp
  • include/universal/behavior/status_flags.hpp
  • include/universal/benchmark/performance_runner.h
  • include/universal/benchmark/performance_runner.hpp
  • include/universal/common/enumerate_encodings.hpp
  • include/universal/common/exceptions.hpp
  • include/universal/common/number_traits_reports.hpp
  • include/universal/common/string_utils.hpp
  • include/universal/copyright
  • include/universal/copyright_spdx
  • include/universal/energy/cost_models/amd_zen.hpp
  • include/universal/energy/cost_models/apple_m.hpp
  • include/universal/energy/cost_models/arm_cortex_a.hpp
  • include/universal/energy/cost_models/energy_model.hpp
  • include/universal/energy/cost_models/generic_45nm.hpp
  • include/universal/energy/cost_models/intel_skylake.hpp
  • include/universal/energy/energy.hpp
  • include/universal/energy/hw_counters/rapl.hpp
  • include/universal/energy/occurrence_energy.hpp
  • include/universal/hw/alu.hpp
  • include/universal/internal/README.md
  • include/universal/internal/abstract/triple.hpp
  • include/universal/internal/bit_manipulation.hpp
  • include/universal/internal/bitblock/README.md
  • include/universal/internal/bitblock/bitblock.hpp
  • include/universal/internal/bitblock/bitblock_v2.hpp
  • include/universal/internal/bitblock/exceptions.hpp
  • include/universal/internal/bitblock/ubb.h
  • include/universal/internal/blockbinary/blockbinary.hpp
  • include/universal/internal/blockdecimal/blockdecimal.hpp
  • include/universal/internal/blockdecimal/exceptions.hpp
  • include/universal/internal/blockdigit/blockdigit.hpp
  • include/universal/internal/blockfraction/blockfraction.hpp
  • include/universal/internal/blockfraction/blockfraction_fwd.hpp
  • include/universal/internal/blockhexadecimal/blockhexadecimal.hpp
  • include/universal/internal/blockoctal/blockoctal.hpp
  • include/universal/internal/blocksignificand/blocksignificand.hpp
  • include/universal/internal/blocksignificand/blocksignificand_fwd.hpp
  • include/universal/internal/blocktriple/blocktriple.hpp
  • include/universal/internal/blocktriple/trace_constants.hpp
  • include/universal/internal/blocktype/carry.hpp
  • include/universal/internal/expansion/expansion_ops.hpp
  • include/universal/internal/f2s/README.md
  • include/universal/internal/f2s/f2s.hpp
  • include/universal/internal/floatcascade/floatcascade.hpp
  • include/universal/internal/floatcascade/floatcascade_td.txt
  • include/universal/internal/floatcascade/floatcascade_volatile_hardening.md
  • include/universal/internal/floatcascade/sincos_tables.hpp
  • include/universal/internal/gfp/README.md
  • include/universal/internal/gfp/gfp.hpp
  • include/universal/internal/uint128/uint128.hpp
  • include/universal/internal/value/value
  • include/universal/internal/value/value.hpp
  • include/universal/internal/variablecascade/priest_adaptive_design.txt
  • include/universal/math/complex.hpp
  • include/universal/math/complex/complex_functions.hpp
  • include/universal/math/complex/complex_functions_dd.hpp

The first 100 are listed.

distinfo 1
FileSizeSHA256
stillwater-sc-universal-v4.10.1_GH0.tar.gz3.8245107e+0774295eaffdf9c3cd3cd178c8771577a0a7cd0c2124ebf5eb37bfb7235a025a2f

Commit history 2

DateCommitCreditsLog message
441081f8d6 Yuri Victorovich math/universal: update 4.7.5 → 4.10.1
69b74bcbd5 Yuri Victorovich math/universal: update 4.7.2 → 4.7.5
Reported by: portscout