<feed xmlns='http://www.w3.org/2005/Atom'>
<title>musl/src/math, branch v0.9.0</title>
<subtitle>musl - an implementation of the standard library for Linux-based systems</subtitle>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/'/>
<entry>
<title>add FORCE_EVAL macro to evaluate float expr for their side effect</title>
<updated>2012-05-06T19:24:28+00:00</updated>
<author>
<name>nsz</name>
<email>nsz@port70.net</email>
</author>
<published>2012-05-06T19:24:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=6ab8136b4477fd75381c06fa0e7fa93c89c712a1'/>
<id>6ab8136b4477fd75381c06fa0e7fa93c89c712a1</id>
<content type='text'>
updated nextafter* to use FORCE_EVAL, it can be used in many other
places in the math code to improve readability.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
updated nextafter* to use FORCE_EVAL, it can be used in many other
places in the math code to improve readability.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix unused variable warnings in new nextafter/nexttoward code</title>
<updated>2012-05-06T18:48:20+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-05-06T18:48:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=4e597feef0595caefa39ab43c813734a1244fa84'/>
<id>4e597feef0595caefa39ab43c813734a1244fa84</id>
<content type='text'>
apparently initializing a variable is not "using" it but assigning to
it is "using" it. i don't really like this fix, but it's better than
trying to make a bigger cleanup just before a release, and it should
work fine (tested against nsz's math tests).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
apparently initializing a variable is not "using" it but assigning to
it is "using" it. i don't really like this fix, but it's better than
trying to make a bigger cleanup just before a release, and it should
work fine (tested against nsz's math tests).
</pre>
</div>
</content>
</entry>
<entry>
<title>math: nextafter and nexttoward cleanup</title>
<updated>2012-05-06T11:08:59+00:00</updated>
<author>
<name>nsz</name>
<email>nsz@port70.net</email>
</author>
<published>2012-05-06T11:08:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=6cf865dba69bab6346dc268d9173609af36b984e'/>
<id>6cf865dba69bab6346dc268d9173609af36b984e</id>
<content type='text'>
make nexttoward, nexttowardf independent of long double representation.
fix nextafterl: it did not raise underflow flag when the result was 0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
make nexttoward, nexttowardf independent of long double representation.
fix nextafterl: it did not raise underflow flag when the result was 0.
</pre>
</div>
</content>
</entry>
<entry>
<title>math: change the formula used for acos.s</title>
<updated>2012-05-04T23:11:56+00:00</updated>
<author>
<name>nsz</name>
<email>nsz@port70.net</email>
</author>
<published>2012-05-04T23:11:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=f697d66b81912af59128ac1b96bc0e2a4514b758'/>
<id>f697d66b81912af59128ac1b96bc0e2a4514b758</id>
<content type='text'>
old: 2*atan2(sqrt(1-x),sqrt(1+x))
new: atan2(fabs(sqrt((1-x)*(1+x))),x)
improvements:
* all edge cases are fixed (sign of zero in downward rounding)
* a bit faster (here a single call is about 131ns vs 162ns)
* a bit more precise (at most 1ulp error on 1M uniform random
samples in [0,1), the old formula gave some 2ulp errors as well)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
old: 2*atan2(sqrt(1-x),sqrt(1+x))
new: atan2(fabs(sqrt((1-x)*(1+x))),x)
improvements:
* all edge cases are fixed (sign of zero in downward rounding)
* a bit faster (here a single call is about 131ns vs 162ns)
* a bit more precise (at most 1ulp error on 1M uniform random
samples in [0,1), the old formula gave some 2ulp errors as well)
</pre>
</div>
</content>
</entry>
<entry>
<title>support alternate glibc name pow10 for exp10</title>
<updated>2012-05-01T04:07:37+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-05-01T04:07:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=a917c03706d94564082d5ccff032a3e2c3dad537'/>
<id>a917c03706d94564082d5ccff032a3e2c3dad537</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add C stub for sqrtl (already implemented in asm on i386 and x86_64)</title>
<updated>2012-05-01T01:32:19+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-05-01T01:32:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=da5d89d42fb47c648fb83645e5e4a55bae907032'/>
<id>da5d89d42fb47c648fb83645e5e4a55bae907032</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>first try at writing an efficient and "correct" exp10</title>
<updated>2012-04-30T07:26:53+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-04-30T07:26:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=f6819755779a084bf2f82cb90175a4d9a018de73'/>
<id>f6819755779a084bf2f82cb90175a4d9a018de73</id>
<content type='text'>
this is a nonstandard function so it's not clear what conditions it
should satisfy. my intent is that it be fast and exact for positive
integral exponents when the result fits in the destination type, and
fast and correctly rounded for small negative integral exponents.
otherwise we aim for at most 1ulp error; it seems to differ from pow
by at most 1ulp and it's often 2-5 times faster than pow.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this is a nonstandard function so it's not clear what conditions it
should satisfy. my intent is that it be fast and exact for positive
integral exponents when the result fits in the destination type, and
fast and correctly rounded for small negative integral exponents.
otherwise we aim for at most 1ulp error; it seems to differ from pow
by at most 1ulp and it's often 2-5 times faster than pow.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix typo in the x86_64 rounding asm</title>
<updated>2012-04-30T00:36:32+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-04-30T00:36:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=e5a9b50e973aadff2e6303d01be8807b1fb9c325'/>
<id>e5a9b50e973aadff2e6303d01be8807b1fb9c325</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>new math asm (abs/rounding) for x86_64</title>
<updated>2012-04-30T00:31:46+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2012-04-30T00:31:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=0e4a995213620630005a14f32c089879f7c0315e'/>
<id>0e4a995213620630005a14f32c089879f7c0315e</id>
<content type='text'>
untested
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
untested
</pre>
</div>
</content>
</entry>
<entry>
<title>math: fix x86 asin accuracy</title>
<updated>2012-04-04T15:34:28+00:00</updated>
<author>
<name>nsz</name>
<email>nsz@port70.net</email>
</author>
<published>2012-04-04T15:34:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=37eaec3ad396ea4502f4aea2395b3b5f5f69a1c6'/>
<id>37eaec3ad396ea4502f4aea2395b3b5f5f69a1c6</id>
<content type='text'>
use (1-x)*(1+x) instead of (1-x*x) in asin.s
the later can be inaccurate with upward rounding when x is close to 1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
use (1-x)*(1+x) instead of (1-x*x) in asin.s
the later can be inaccurate with upward rounding when x is close to 1
</pre>
</div>
</content>
</entry>
</feed>
