Yet further adjust degree-based trig functions for more portability.
Buildfarm member cockatiel is still saying that cosd(60) isn't 0.5. What seems likely is that the subexpression (1.0 - cos(x)) isn't being rounded to double width before more arithmetic is done on it, so force that by storing it into a variable.
This commit is contained in:
parent
360f67d31a
commit
00347575e2
|
@ -2000,7 +2000,9 @@ sind_0_to_30(double x)
|
||||||
static double
|
static double
|
||||||
cosd_0_to_60(double x)
|
cosd_0_to_60(double x)
|
||||||
{
|
{
|
||||||
return 1.0 - ((1.0 - cos(x * RADIANS_PER_DEGREE)) / one_minus_cos_60) / 2.0;
|
float8 one_minus_cos_x = 1.0 - cos(x * RADIANS_PER_DEGREE);
|
||||||
|
|
||||||
|
return 1.0 - (one_minus_cos_x / one_minus_cos_60) / 2.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue