mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 02:49:28 +02:00
* fixed ldexp() on 16/8-bit CPUs. Among other things, this fixes sin() and cos()
on the i8086. git-svn-id: trunk@26237 -
This commit is contained in:
parent
a3dab9b686
commit
779b92459e
@ -361,13 +361,13 @@ type
|
|||||||
begin
|
begin
|
||||||
{Denormal: result = d*2^(e+54)/2^54}
|
{Denormal: result = d*2^(e+54)/2^54}
|
||||||
inc(N,54);
|
inc(N,54);
|
||||||
float64(x).high := (float64(x).high and $800FFFFF) or (N shl 20);
|
float64(x).high := (float64(x).high and $800FFFFF) or (longint(N) shl 20);
|
||||||
ldexp := x/H2_54;
|
ldexp := x/H2_54;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
float64(x).high := (float64(x).high and $800FFFFF) or (N shl 20);
|
float64(x).high := (float64(x).high and $800FFFFF) or (longint(N) shl 20);
|
||||||
ldexp := x;
|
ldexp := x;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user