History log of /openbsd/include/math.h (Results 1 – 25 of 36)
Revision Date Author Comments
# 6c640833 10-Mar-2018 kettenis <kettenis@openbsd.org>

Implement sicos(3), sincosf(3) and sincosl(3). These functions are common
extensions and modern compilers (such as clang) will use them to optimize
separate calculations of sine and cosine.

ok tom@

Implement sicos(3), sincosf(3) and sincosl(3). These functions are common
extensions and modern compilers (such as clang) will use them to optimize
separate calculations of sine and cosine.

ok tom@, patrick@, deraadt@, jmc@

show more ...


# 574dde88 17-Mar-2016 jca <jca@openbsd.org>

Remove #ifdef __vax__ bits

ok deraadt@ tb@ (who had the same diff)


# 2c964179 19-Jul-2015 martynas <martynas@openbsd.org>

Define new C99 macros:
- MATH_ERRNO, MATH_ERREXCEPTION and math_errhandling
- Optional FP_FAST_FMA{,F,L} macros if fma() executes as fast or faster
than (x * y) + z; which in practice is achievable

Define new C99 macros:
- MATH_ERRNO, MATH_ERREXCEPTION and math_errhandling
- Optional FP_FAST_FMA{,F,L} macros if fma() executes as fast or faster
than (x * y) + z; which in practice is achievable if gcc implements
__FP_FAST_FMA{,F,L}
Reported by John Marino @ DragonFlyBSD.

show more ...


# 7c586542 03-May-2014 martynas <martynas@openbsd.org>

- Provide extended-precision math constants req'd by POSIX
- Explicitly cast double-precision constants as needed for
FLT_EVAL_METHOD = 2 archs
OK guenther@, ratchov@


# b67809f1 06-Aug-2013 miod <miod@openbsd.org>

Try and avoid using __builtin_huge_val*() and __builtin_{inf,nan}* on vax
running gcc 3, for gcc will output a reserved operand for these.

ok martynas@ matthew@ espie@ guenther@


# 4a39ccd0 05-Dec-2012 deraadt <deraadt@openbsd.org>

Remove excessive sys/cdefs.h inclusion
ok guenther millert kettenis


# 49393c00 06-Jul-2011 martynas <martynas@openbsd.org>

Finalize work on the math library. It's time to do this monster
commit, and deal with problems (if any) in tree.

Note that this adds the following functions. Ports with hacks might
need adjustment

Finalize work on the math library. It's time to do this monster
commit, and deal with problems (if any) in tree.

Note that this adds the following functions. Ports with hacks might
need adjustments.

nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3),
atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3),
log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3),
powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3),
floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3),
truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3),
nexttowardl(3), fmal(3).

With this commit, our library implements all functionality required
by C99. Documentation bits will follow.

show more ...


# c9683224 25-May-2011 martynas <martynas@openbsd.org>

Also enclose variable names with external linkage in __BEGIN_DECLS.

Doesn't matter much since C++ ABI used by GCC doesn't mangle variable
names; however technically is required by Section 7.5 of th

Also enclose variable names with external linkage in __BEGIN_DECLS.

Doesn't matter much since C++ ABI used by GCC doesn't mangle variable
names; however technically is required by Section 7.5 of the C++ spec.

Discussed with/OK guenther@, matthew@.

show more ...


# 6e4b140d 28-Apr-2011 martynas <martynas@openbsd.org>

- enable fenv
- add nearbyint, nearbyintf and nearbyintl implemented using fenv


# b79f38e5 14-Dec-2010 martynas <martynas@openbsd.org>

- make HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, NAN expand to the
constant expressions with the help of gcc post-3.3.
ok millert@, mikeb@. been in snaps for weeks.


# ed1ba055 25-Jul-2009 martynas <martynas@openbsd.org>

int is big enough to fully represent exponents of all supported fp
formats. which even for 80-bit & 128-bit long doubles is only 15
bits. therefore, scalbln, scalblnf, scalblnl are essentially the

int is big enough to fully represent exponents of all supported fp
formats. which even for 80-bit & 128-bit long doubles is only 15
bits. therefore, scalbln, scalblnf, scalblnl are essentially the
same as scalbn, scalbnf, scalbnl with bounds checking so that
LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise
exceptions & yield correct values. looks good to millert@

show more ...


# ec91bd97 08-Apr-2009 martynas <martynas@openbsd.org>

nuke extern from func decls. ok millert@


# 426f92ab 11-Dec-2008 martynas <martynas@openbsd.org>

add __infinityf declaration. (only affects vax). pointed out by miod@


# ec3edc56 09-Dec-2008 martynas <martynas@openbsd.org>

expose extended-precision definitions. ok millert@


# 190a67d7 09-Sep-2008 martynas <martynas@openbsd.org>

sigh, gamma got lost


# 7b36286a 07-Sep-2008 martynas <martynas@openbsd.org>

- replace dtoa w/ David's gdtoa, version 2008-03-15
- provide proper dtoa locks
- use the real strtof implementation
- add strtold, __hdtoa, __hldtoa
- add %a/%A support
- don't lose precision in pri

- replace dtoa w/ David's gdtoa, version 2008-03-15
- provide proper dtoa locks
- use the real strtof implementation
- add strtold, __hdtoa, __hldtoa
- add %a/%A support
- don't lose precision in printf, don't round to double anymore
- implement extended-precision versions of libc functions: fpclassify,
isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is
fixed
- separate vax versions of strtof, and __hdtoa
- add complex math support. added functions: cacos, casin, catan,
ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp,
clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf,
casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf,
ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf,
cimagf, conjf, cprojf, crealf
- add fdim, fmax, fmin
- add log2. (adapted implementation e_log.c. could be more acruate
& faster, but it's good enough for now)
- remove wrappers & cruft in libm, supposed to work-around mistakes
in SVID, etc.; use ieee versions. fixes issues in python 2.6 for
djm@
- make _digittoint static
- proper definitions for i386, and amd64 in ieee.h
- sh, powerpc don't really have extended-precision
- add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h
for LDBL_*
- merge lead to frac for m{6,8}k, for gdtoa to work properly
- add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa
to use
- add EXT_IMPLICIT_NBIT definition, which indicates implicit
normalization bit
- add regression tests for libc: fpclassify and printf
- arith.h & gd_qnan.h definitions
- update ieee.h: hppa doesn't have quad-precision, hppa64 does
- add missing prototypes to gdtoaimp
- on 64-bit platforms make sure gdtoa doesn't use a long when it
really wants an int
- etc., what i may have forgotten...
- bump libm major, due to removed&changed symbols
- no libc bump, since this is riding on djm's libc major crank from
a day ago

discussed with / requested by / testing theo, sthen@, djm@, jsg@,
merdely@, jsing@, tedu@, brad@, jakemsr@, and others.
looks good to millert@
parts of the diff ok kettenis@

this commit does not include:
- man page changes

show more ...


# 49b719a2 24-Jul-2008 martynas <martynas@openbsd.org>

unXXX prototypes: exp2, remquo, nan, exp2f, remquof, nanf


# 8fe5dbae 24-Jul-2008 martynas <martynas@openbsd.org>

- add NAN definition (except on VAX)
- add C99 real-floating macros fpclassify isfinite isinf isnan
isnormal signbit
- add C99 macros isgreater isgreaterequal isless islessequal
islessgreater isunord

- add NAN definition (except on VAX)
- add C99 real-floating macros fpclassify isfinite isinf isnan
isnormal signbit
- add C99 macros isgreater isgreaterequal isless islessequal
islessgreater isunordered
- add function prototypes, __fpclassify __fpclassifyf __fpclassifyl
__isfinite __isfinitef __isfinitel __isinf __isinfl __isnan __isnanl
__isnormal __isnormalf __isnormall __signbit __signbitf __signbitl
ok millert@

show more ...


# a170c290 22-Jul-2008 martynas <martynas@openbsd.org>

- added HUGE_VALF, HUGE_VALL, INFINITY, FP_INFINITE, FP_NAN,
FP_NORMAL, FP_SUBNORMAL, FP_ZERO, FP_ILOGB0, FP_ILOGBNAN definitions,
per C99
- classify functions into sections, add missing definitions,

- added HUGE_VALF, HUGE_VALL, INFINITY, FP_INFINITE, FP_NAN,
FP_NORMAL, FP_SUBNORMAL, FP_ZERO, FP_ILOGB0, FP_ILOGBNAN definitions,
per C99
- classify functions into sections, add missing definitions, add
and some '#if 0' functions, and long double definitions, so we see
what's needed to be done
- other stuff is XXX'd, and will be uncommented soon
ok millert@

show more ...


# 7c79e328 21-Jul-2008 martynas <martynas@openbsd.org>

- add proper double_t and float_t definitions for each arch
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per
C99). remove from math.h, and add proper definitions in float.h
ok mill

- add proper double_t and float_t definitions for each arch
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per
C99). remove from math.h, and add proper definitions in float.h
ok millert@

show more ...


# 67203373 16-Jul-2008 martynas <martynas@openbsd.org>

infnan always returned wrong values, because compiler assumed it
returns integer value, so add missing prototype
ok millert@


# 31027933 11-Jun-2008 martynas <martynas@openbsd.org>

tgamma and tgammaf


# 65850ae2 12-Jul-2006 brad <brad@openbsd.org>

add some more C99 functions: round(3) and roundf(3).

By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu>
From FreeBSD


# 4106c2fd 12-Jul-2006 brad <brad@openbsd.org>

add missing prototypes for trunc/truncf.


# ed994b09 05-May-2006 otto <otto@openbsd.org>

delint; ok millert@ beck@


12