| ESBArcTan Function |
Unit
QESBPCSMath
Declaration
Function ESBArcTan(const X, Y: Extended): Extended;
Description
Results are given between -Pi and Pi.
| Parameters |
| X | First Float to process |
| Y | Second Float to process |
Category
Arithmetic Routines for FloatsImplementation
function ESBArcTan (const X, Y: Extended): Extended;
function FArcTan (X, Y: Extended): Extended;
asm
fld [Y] // St(0) <- Y
fld [X] // St(0) <- X, St (1) <- Y
fpatan // St(0) <- ArcTan (Y/X)
fwait
end;
begin
if FloatIsZero (X) then
begin
if FloatIsZero (Y) then
Result := 0
else if Y > 0 then
Result := PiOn2
else
Result := -PiOn2
end
else if FloatIsZero (Y) then
begin
if X > 0 then
Result := 0
else
Result := ESBPi
end
else
Result := FArcTan (X, Y);
End; |
|
|