Re: [COMMITTERS] pgsql: Add trigonometric functions that work in degrees. - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [COMMITTERS] pgsql: Add trigonometric functions that work in degrees.
Date
Msg-id 9748.1461284311@sss.pgh.pa.us
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Add trigonometric functions that work in degrees.  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: [COMMITTERS] pgsql: Add trigonometric functions that work in degrees.
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> On 04/19/2016 04:48 PM, Tom Lane wrote:
>> Pushed.  Peter, what results do you get from these tests on your
>> problematic machine?

>         acosd(x),
>         acosd(x) IN (0,60,90,120,180) AS acosd_exact
>  FROM (VALUES (-1), (-0.5), (0), (0.5), (1)) AS t(x);
> -  x   | asind | asind_exact | acosd | acosd_exact
> -------+-------+-------------+-------+-------------
> -   -1 |   -90 | t           |   180 | t
> - -0.5 |   -30 | t           |   120 | t
> -    0 |     0 | t           |    90 | t
> -  0.5 |    30 | t           |    60 | t
> -    1 |    90 | t           |     0 | t
> +  x   |        asind         | asind_exact | acosd | acosd_exact
> +------+----------------------+-------------+-------+-------------
> +   -1 |                  -90 | t           |   180 | t
> + -0.5 | -29.9999999999999964 | f           |   120 | t
> +    0 |                    0 | t           |    90 | t
> +  0.5 |  29.9999999999999964 | f           |    60 | t
> +    1 |                   90 | t           |     0 | t
>  (5 rows)

> This is the same under the default -O2 and under -O0.

Hm.  This seems to prove that we're not getting exactly 1.0 from
(asin(x) / asin_0_5) with x = 0.5, but I'm having a hard time guessing
why that might be so when all the other cases work.

Could you send along the assembler code generated by the compiler (-S
output) for float.c?  Maybe that would shed some light.  Probably the
-O0 version would be easier to read.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: max_parallel_degree > 0 for 9.6 beta
Next
From: Michael Paquier
Date:
Subject: Re: Optimization for updating foreign tables in Postgres FDW