<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/libm/src/math_private.h, branch jd/simplify-queueing</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/libm/src/math_private.h?h=jd%2Fsimplify-queueing</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/libm/src/math_private.h?h=jd%2Fsimplify-queueing'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2016-09-12T19:47:01Z</updated>
<entry>
<title>Reduce libm's exports and make internal calls go direct.</title>
<updated>2016-09-12T19:47:01Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2016-09-12T19:47:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2f2c00629eff6a304ebffb255fc56f4fa7a1833b'/>
<id>urn:sha1:2f2c00629eff6a304ebffb255fc56f4fa7a1833b</id>
<content type='text'>
All dependencies on libc are now via reserved/standardized names.

ok kettenis@ millert@ deraadt@
</content>
</entry>
<entry>
<title>Make sure STRICT_ASSIGN handles double as well.  From FreeBSD, where the</title>
<updated>2014-06-02T19:31:17Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2014-06-02T19:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=3609bd3bc5b2da286f66e84614acf704fc8facb5'/>
<id>urn:sha1:3609bd3bc5b2da286f66e84614acf704fc8facb5</id>
<content type='text'>
commit messages that fixes this says:

"it was intentionally left broken as an optimization".

right!

ok martynas@, daniel@
</content>
</entry>
<entry>
<title>Declare __p1evll and __polevll protos in math_private.h instead of</title>
<updated>2013-11-12T20:35:09Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2013-11-12T20:35:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=121297559c3b15aebdd7e70408879df3901d42a0'/>
<id>urn:sha1:121297559c3b15aebdd7e70408879df3901d42a0</id>
<content type='text'>
redeclaring each time in ld{80,128}.  Pointed out by theo.
</content>
</entry>
<entry>
<title>At some point we've switched to the VFP floating-point--unlike FPA</title>
<updated>2011-07-26T11:43:01Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-07-26T11:43:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=016765a703b5b1e9f563a6ca67e84b5afc03058e'/>
<id>urn:sha1:016765a703b5b1e9f563a6ca67e84b5afc03058e</id>
<content type='text'>
it actually stores floats in natural-endian--therefore the existing
checks became wrong.

Take into account __VFP_FP__, effectively bringing back the old
behavior.  This way it will work now, and in the future when some
of our platforms are switched to FPA, where it's much faster.
</content>
</entry>
<entry>
<title>__arm32__ -&gt; __arm__, since our new compiler isn't defining the</title>
<updated>2011-07-26T09:24:52Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-07-26T09:24:52Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=80626675329654e6b943890c769bfd67004f09a9'/>
<id>urn:sha1:80626675329654e6b943890c769bfd67004f09a9</id>
<content type='text'>
former anymore.  OK miod@.
</content>
</entry>
<entry>
<title>Finalize work on the math library.  It's time to do this monster</title>
<updated>2011-07-06T00:02:42Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-07-06T00:02:42Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=49393c004c040ee201e6408db68882c3fe4cb110'/>
<id>urn:sha1:49393c004c040ee201e6408db68882c3fe4cb110</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>- Take into account padding for the IEEE extended shape types.  It</title>
<updated>2011-07-04T15:00:56Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-07-04T15:00:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a26ab1d99ec82f887f620403fadf9f3d2d194f20'/>
<id>urn:sha1:a26ab1d99ec82f887f620403fadf9f3d2d194f20</id>
<content type='text'>
should be 96-bits on 32-bit architectures, and 128-bits on 64-bit
architectures.

- Add abstract macros to operate on long doubles by words.  To be
used soon.
</content>
</entry>
<entry>
<title>- 80-bit and quad precision trigonometric and other most</title>
<updated>2008-12-09T20:00:35Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2008-12-09T20:00:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=390c8400525fc0ecc9e2c49c2246076b1b49fe19'/>
<id>urn:sha1:390c8400525fc0ecc9e2c49c2246076b1b49fe19</id>
<content type='text'>
important functions: acosl, asinl, atanl, atan2l, cosl,
sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl,
fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml,
fmaxl, fminl.  mostly taken from freebsd, needed alot of
changes to adapt.  note, these are all c versions;  and are
quite slow when architectures have, e.g. sqrt.  assembly
versions will be added afterwards
- make them .weak/__weak_alias to the double precision
versions on other archs
- no need to have two finites.  finite() and finitef() are
non-standard 3BSD obsolete versions of isfinite.  remove
from libm.  make them weak_alias in libc to __isfinite and
__isfinitef instead.  similarly make 3BSD obsolete versions
of isinf, isinff, isnan, isnanf weak_aliases to C99's
__isinf, __isinff, __isnan, __isnanf
- remove unused infinity.c.  the c library has infinities
for each supported platform
- use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that
the double version has a chance of working on i386 with
extra precision
- avoid storing multiple copies of the pi/2 array, since
it won't vary
- bump major due to removed finite/finitef.  although they
will be in libc, which anything is linked to, minor bump
might be enough
ok millert@.   tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
</content>
</entry>
<entry>
<title>- replace dtoa w/ David's gdtoa, version 2008-03-15</title>
<updated>2008-09-07T20:36:06Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2008-09-07T20:36:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=7b36286a70b46b494e2bca4a889ab49ef62ba86c'/>
<id>urn:sha1:7b36286a70b46b494e2bca4a889ab49ef62ba86c</id>
<content type='text'>
- 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
&amp; faster, but it's good enough for now)
- remove wrappers &amp; 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 &amp; EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&amp;ldtoa
to use
- add EXT_IMPLICIT_NBIT definition, which indicates implicit
normalization bit
- add regression tests for libc: fpclassify and printf
- arith.h &amp; 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&amp;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
</content>
</entry>
<entry>
<title>- remove isinff, isnanf.  this has been moved to libc</title>
<updated>2008-07-24T09:40:16Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2008-07-24T09:40:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=eac90eaa1ed342e1c46cdff47d1897d7ff33fc7c'/>
<id>urn:sha1:eac90eaa1ed342e1c46cdff47d1897d7ff33fc7c</id>
<content type='text'>
- remove never-enabled signbit.  libc has is now
- add C99 implementations, from freebsd, for nan(), nanf() (needed
to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(),
needed STRICT_ASSIGN macro for math_private.h
- bump major
man pages will follow
exp2{,f} has been requested by chl@
ok millert@
</content>
</entry>
</feed>
