<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/libm/src/s_lrint.c, branch jd/simplify-queueing</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/libm/src/s_lrint.c?h=jd%2Fsimplify-queueing</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/libm/src/s_lrint.c?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>test LDBL_MANT_DIG == DBL_MANT_DIG instead of hardcoding 53.</title>
<updated>2013-07-03T04:46:36Z</updated>
<author>
<name>espie</name>
<email>espie@openbsd.org</email>
</author>
<published>2013-07-03T04:46:36Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=38ffb6671a42c58f11058f1570756a541cabcd23'/>
<id>urn:sha1:38ffb6671a42c58f11058f1570756a541cabcd23</id>
<content type='text'>
-&gt; test becomes meaningful on vax
No actual change, no bump
okay martynas@
</content>
</entry>
<entry>
<title>Switch libc and libm to use strong aliases rather than weak aliases</title>
<updated>2013-03-28T18:09:38Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2013-03-28T18:09:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2fbf033e009bb5c4db92160700ec03c25f292728'/>
<id>urn:sha1:2fbf033e009bb5c4db92160700ec03c25f292728</id>
<content type='text'>
where appropriate.  Among other things makes the symbols consistent
across all architectures (notably where ldbl mantissa is 53 bits).

While at it, kill unused LINTLIBRARY/PROTOLIB1 cruft which was there
to trick lint into recording the right prototypes for aliased
functions.  Most of the work done at the awesome n2k13 hackathon.

Agreed by kettenis@, guenther@, matthew@.
</content>
</entry>
<entry>
<title>Get rid of the very ugly lint workarounds: LINTLIBRARY, PROTOLIB,</title>
<updated>2013-01-13T03:44:59Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2013-01-13T03:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=bec2cc9ed0f86f0319e7da7794f847fd97d09187'/>
<id>urn:sha1:bec2cc9ed0f86f0319e7da7794f847fd97d09187</id>
<content type='text'>
and a few empty files for lint to chew on.
</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>Trick GCC optimizer into clipping any extra precision by making w</title>
<updated>2011-04-20T21:32:59Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-04-20T21:32:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=deba65a8db4698a175710b6d96f19c86298aa36e'/>
<id>urn:sha1:deba65a8db4698a175710b6d96f19c86298aa36e</id>
<content type='text'>
volatile;  a similar hack was already being used in lrintf().

This will make rint and {,l}lrint family functions actually work;
i.e. on m68k rintf(8.6F) was 8.625.
</content>
</entry>
<entry>
<title>The {,l}lround{,f} implementations are based on {,l}lrint{,f},</title>
<updated>2011-04-17T13:59:54Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-04-17T13:59:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=d37b90348eaddca97fc8cbeb99fcf38a0727c60a'/>
<id>urn:sha1:d37b90348eaddca97fc8cbeb99fcf38a0727c60a</id>
<content type='text'>
therefore affected by the same bugs I've fixed a week ago.

The high part was being clipped for all exponents greater or equal
to 52.  Fix this to use RESTYPE_BITS instead;  also make the code
consistent.
</content>
</entry>
<entry>
<title>The {,l}lrint{,f} functions avoid to shift results by more than 31</title>
<updated>2011-04-10T20:42:09Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-04-10T20:42:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=954473c52cf794c060f5a4f37e634c3c79689410'/>
<id>urn:sha1:954473c52cf794c060f5a4f37e634c3c79689410</id>
<content type='text'>
bits, because "behavior is implementation defined in this case".
However, this is wrong;  behavior is undefined if the right operand
is greater than or equal to the width of the promoted left operand.

This broke {,l}lrint{,f} (64-bit architectures), and llrint{,f}
(32-bit architectures) where results are actually 64-bit values.
The high part was clipped for all exponents greater or equal to 52.

Fix this to use RESTYPE_BITS instead;  {,l}lrint{,f} are now able
to pass our regression tests, and I think are right now.
</content>
</entry>
<entry>
<title>20 -&gt; DBL_FRACHBITS</title>
<updated>2011-04-10T11:35:01Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-04-10T11:35:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=e36d0bd64ff119aa33b5fed2c9cd98e5d8d9a531'/>
<id>urn:sha1:e36d0bd64ff119aa33b5fed2c9cd98e5d8d9a531</id>
<content type='text'>
</content>
</entry>
<entry>
<title>The assumption that |1.0 * 2^exp| = 0, exp &lt; -1 cannot be made when</title>
<updated>2011-04-10T11:25:14Z</updated>
<author>
<name>martynas</name>
<email>martynas@openbsd.org</email>
</author>
<published>2011-04-10T11:25:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5d0a19bab04f6f66f09fc506df5075142d84e4cf'/>
<id>urn:sha1:5d0a19bab04f6f66f09fc506df5075142d84e4cf</id>
<content type='text'>
we round towards -inf or +inf.
</content>
</entry>
</feed>
