On Sun, Nov 1, 2015 at 9:34 PM, Dean Rasheed <dean.a.rash...@gmail.com> wrote: > On 27 October 2015 at 08:24, Dean Rasheed <dean.a.rash...@gmail.com> wrote: >> I think it's still feasible to have sind(30) = 0.5 exactly and keep >> monotonicity.... >> > > Here's a patch along those lines. It turned out to be fairly > straightforward. It's still basically a thin wrapper on top of the > math library trig functions, with a bit of careful scaling to ensure > that curves join together to form continuous functions that are > monotonic in the expected regions and return exact values in all the > special cases 0,30,45,60,90,... > > I also modified some of the CHECKFLOATVAL() checks which didn't look > right to me, unless there's some odd platform-specific behaviour that > I'm not aware of, functions like sin and asin should never return > infinity.
The alternative expected outputs for test float8 need to be updated, this is causing regression failures particularly on win32 where 3 digits are used for exponentials and where tan('NaN') actually results in an ERROR. See for example the attached regressions.diffs. -- Michael
regression.diffs
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers