|
Message-ID: <20120314165604.GF5728@port70.net> Date: Wed, 14 Mar 2012 17:56:05 +0100 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: correctly rounded sqrt i tried to solve the sqrt issue with a wrapper as discussed on irc, but i couldn't find a nice solution if we check |x - y*y| and try to figure out the rounding from that, then there are two approaches 1) use the veltkamp-dekker exact multiplication formulas (sq1 algorithm in my code) or 2) use simpler method for y*y and use argumentum reduction to handle large/small numbers (x*=2^2n, y*=2^-n) i tried both: 1) only works correctly for subnormals with double precision evaluation so it needs arg reduction 2) does not work in all cases (|x-y*y| and |x-y1*y1| might be the same and resolving the tie is nontrivial) so 1) with arg reduction is my current solution and i don't know if it works in all cases ..and the code might be slow
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.