mailing list of musl libc
 help / color / mirror / code / Atom feed
* math argument reduction
@ 2011-06-26 18:04 Szabolcs Nagy
  2011-06-26 18:33 ` Rich Felker
  0 siblings, 1 reply; 3+ messages in thread
From: Szabolcs Nagy @ 2011-06-26 18:04 UTC (permalink / raw)
  To: musl

dalias, i thought about the simple argument reduction method
you proposed on irc, imho it won't be that good

the task is to calculate X mod M, so to get the fractional part of
x = X/M
you said you would treat X as a sum (of 2^n terms) let's say
X = A+B
and assume we have precalculated a=A/M and b=B/M in a table, then
x = a+b
is easy to get

but it well might be that the form of a+b is

[..]1011 . 0000000000000001101011[..]

so the fractional part has many leading zeros
(it can be as many as 61) so you need to store a and b
with large precision to get good floating point representation
of the fractional part
(53 + 61 bits precision + some extra bits for rounding)

so you need to store and do arithmetics with 120bit fixpoint values

at that point it's probably not much harder to implement
the standard method of argument reduction used in sun
and bsd libm:

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.5616


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-06-26 18:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-26 18:04 math argument reduction Szabolcs Nagy
2011-06-26 18:33 ` Rich Felker
2011-06-26 18:51   ` Szabolcs Nagy

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).