| ESBSinCos Procedure |
Unit
QESBPCSMath
Declaration
Procedure ESBSinCos(const Angle: Extended; out SinX, CosX: Extended);
| Parameters |
| Angle | Angle in Radians. |
Category
Arithmetic Routines for FloatsImplementation
procedure ESBSinCos (const Angle: Extended; out SinX, CosX: Extended);
procedure FSinCos (Angle: Extended; var SinX, CosX: Extended);
asm
fld [Angle] // St(0) <- Angle
fsincos
fstp tbyte ptr [edx] // St(0) -> CosX
fstp tbyte ptr [eax] // St(0) -> SinX
fwait
end;
begin
if abs (Angle) >= TwoToPower63 then // must be less then 2^63
raise EMathError.Create (rsAngleTooLarge);
FSinCos (Angle, SinX, CosX);
End; |
|
|