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
| System | Port | Version |
|---|---|---|
| FreeBSD | math/universal | 4.10.1 |
| DragonFly | math/universal | 3.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.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 4.10.1 | 4.10.1 | 3.52 | 3.80 | 4.10.1 |
| FreeBSD:14:quarterly | 4.10.1 | 4.10.1 | n/a | 3.80 | 4.10.1 |
| FreeBSD:15:latest | 4.10.1 | 4.10.1 | n/a | 3.80 | 3.80 |
| FreeBSD:15:quarterly | 4.10.1 | 4.10.1 | n/a | n/a | n/a |
| FreeBSD:16:latest | 4.10.1 | 4.10.1 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/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
| Option | Default | Description |
|---|---|---|
| TOOLS | off | Build 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
| File | Size | SHA256 |
|---|---|---|
| stillwater-sc-universal-v4.10.1_GH0.tar.gz | 3.8245107e+07 | 74295eaffdf9c3cd3cd178c8771577a0a7cd0c2124ebf5eb37bfb7235a025a2f |