FreeBSD Numerics Project

The FreeBSD Numerics Project develops and maintains high-quality floating-point math support for FreeBSD. Past accomplishments include 80-bit and 128-bit long double floating-point routines for printf(), scanf(), and most math library functions; extensions for complex arithmetic; implementations of the fenv.h FPU-programming API for all Tier 1 and Tier 2 architectures; the tgmath.h type-generic math macros; and numerous optimizations and bugfixes for math library functions. A major focus of ongoing work is on implementing the remaining long double and complex functions specified by the C11 standard but not yet present in libm.

This page tracks the status of ongoing work, and identifies areas where we could use help. If you are interested in contributing, please subscribe to freebsd-numerics@freebsd.org.

Function / Feature

Contact

Status

Notes

10-CURRENT

9-STABLE

8-STABLE

rintl, nearbyintl, lrintl, llrintl

das

exp2l

das

sinl, cosl, tanl

kargl

tgammaf

das

sqrtl

kargl

hypotl, cabsl

bde

remquol, remainderl

das

csqrtl

das

fmodl

das

acosl, asinl, atanl, atan2l, cargl

das

cproj, cprojf, cprojl

das

log2, log2f

das

cbrtl

kargl

 

cexp

das

 

ccos, csin, ctan, ccosh, csinh, ctanh,
ccoshf, csinhf, ctanhf, ccoshf, csinhf, ctanhf

bde, kargl

✔ (r226458)

 

 

expl

kargl

✔ (r238722)

 

 

cacos, cacosh, casin, casinh, catan, catanh
cacosf, cacoshf, casinf, casinhf, catanf, catanhf

stephen

✔ (r251121)

 

 

CMPLX, CMPLXF, CMPLXL

ed

✔ (r250990)

 

 

logl, log2l, log10l, log1pl

bde

✔ (r251292)

 

 

expm1l

kargl

✔ (r251343)

 

 

acoshl, asinhl, atanhl

das

✔ (r251599)

 

 

clogf, clog, clogl

bde

 

 

 

patches available (clog, clogf)

coshl, sinhl, tanhl

kargl

✔ (r260067)

 

 

cexpl

das

 

 

 

not started

sincosf, sincos, sincosl

kargl

 

 

 

patches available
(these functions are common,
but not standardized)

ccosl, ccoshl, csinl, csinhl, ctanl, ctanhl

bde, kargl

 

 

 

not started

cacosl, cacoshl, casinl, casinhl, catanl, catanhl

stephen

 

 

 

patches available

erfcl, erfl

 

 

 

 

not started

powl

 

 

 

 

not started

lgammal, tgammal

 

 

 

 

not started

FENV_ACCESS, FP_CONTRACT

theraven

 

 

 

compiler change required

cpowf, cpow, cpowl

peterj

 

 

 

in progress

Future directions:

* Perfectly rounded transcendental functions

* Floating-point exception interfaces; c.f. AIX's fpxcp.h

* Decimal floating point

* Vector math library for ILP processors

Numerics (last edited 2014-03-09 20:21:28 by PáliGáborJános)