cosmopolitan/libc/tinymath
Justine Tunney e75ffde09e Get codebase completely working with LLVM
You can now build Cosmopolitan with Clang:

    make -j8 MODE=llvm
    o/llvm/examples/hello.com

The assembler and linker code is now friendly to LLVM too.
So it's not needed to configure Clang to use binutils under
the hood. If you love LLVM then you can now use pure LLVM.
2021-02-09 02:57:32 -08:00
..
acos.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
acosf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
acosl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
asin.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
asinf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
asinl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
atan.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
atan2.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
atan2f.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
atan2l.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
atanf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
atanl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
c2rangr.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
cabs.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
cabsf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
cabsl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
carg.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
cargf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
cargl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
cbrt.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
cbrtc.c Add NES emulator 2020-07-02 13:46:08 -07:00
cbrtf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
cbrtl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ceil.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ceilf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ceill.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
cimag.S Change license 2020-12-27 17:18:44 -08:00
cimagf.S Change license 2020-12-27 17:18:44 -08:00
cimagl.S Change license 2020-12-27 17:18:44 -08:00
conj.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
conjf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
conjl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
copysign.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
copysignf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
copysignl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
cos.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
cosf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
cosl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
cprojf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
cprojl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
creal.S Change license 2020-12-27 17:18:44 -08:00
crealf.S Change license 2020-12-27 17:18:44 -08:00
creall.S Change license 2020-12-27 17:18:44 -08:00
d2ld2.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
emod.h Make improvements 2020-12-01 03:43:40 -08:00
emodl.h Make improvements 2020-12-01 03:43:40 -08:00
exp.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
exp2.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
exp2f.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
exp2l.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
exp10.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
exp10f.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
exp10l.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
expf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
expl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
expm1.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
expm1f.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
expm1l.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
f2ld2.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
fabs.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
fabsf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
fabsl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
fld.S Change license 2020-12-27 17:18:44 -08:00
floor.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
floorf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
floorl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fmax.c Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fmaxf.c Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fmaxl.c Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fmin.c Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fminf.c Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fminl.c Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fmod.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
fmodf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
fmodl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
frexp.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
hypot.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
hypotf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
hypotl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ilogb.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ilogbf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ilogbl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ldexp.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ldexpf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
ldexpl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log1p.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log1pf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log1pl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log2.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log2f.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log2l.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log10.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log10f.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
log10l.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
logb.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
logbf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
logbl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
logf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
logl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
lrint.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
lrintf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
lrintl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
lround.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
lroundf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
lroundl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
nearbyint.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
nearbyintf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
nearbyintl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
pow.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
powf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
powi.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
powif.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
powil.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
powl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
README.txt Initial import 2020-06-15 07:18:57 -07:00
remainder.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
remainderf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
remainderl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
rint.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
rintf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
rintl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
round.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
roundf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
roundl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
scalb.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
scalbf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
scalbl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
signbit.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
signbitf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
signbitl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
significand.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
significandf.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
significandl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00
sin.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sincos.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sincosf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sincosl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sinf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sinl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sqrt.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sqrtf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sqrtl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
tan.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
tanf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
tanl.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
tinymath.mk Fix link order in cosmopolitan.a 2021-01-16 12:05:41 -08:00
trunc.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
truncf.S Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
truncl.S Remove sun musl fdlibm math library 2021-01-31 18:25:16 -08:00


                      Cosmopolitan TinyMath

    “Seymour Cray didn't care that 81.0/3.0 did not give exactly
     27.0 on the CDC 6000 class machines; and he was universally
     respected for making the fastest machines around.
                                          ──Linus Torvalds


Your Cosmopolitan TinyMath library provides hardware-accelerated scalar
transcendental mathematical functions that are superior to the portable
standards-compliant math library, in terms of both performance and code
size, by trading away focus on temporal concerns, like IEEE conformance
or rounding errors at the femto-scale, or reproducible results across a
broad array of niche machine languages.