Difference between revisions of "FixD"

From SCAR Divi Manual
Jump to: navigation, search
(Created page with "==Definition== <source lang="scar" lines="false"> function FixD(Degrees: Extended): Extended; </source> ===Source=== <source lang="scar"> function FixD(Degrees: Extended): Exten...")
 
(Definition)
Line 7: Line 7:
 
<source lang="scar">
 
<source lang="scar">
 
function FixD(Degrees: Extended): Extended;
 
function FixD(Degrees: Extended): Extended;
 +
var
 +
  t: Integer;
 
begin
 
begin
   Result := Degrees mod 360;
+
  if Degrees < 0 then t := -1 else t := 1;
 +
   Result := Abs(Degrees);
 +
  Result := (Floor(Result) mod 360 + DecRet(Result)) * t;
 
   if Result < 0 then Inc(Result, 360);
 
   if Result < 0 then Inc(Result, 360);
 
end;
 
end;

Revision as of 10:17, 1 July 2011

Definition

function FixD(Degrees: Extended): Extended;

Source

function FixD(Degrees: Extended): Extended;
var
  t: Integer;
begin
  if Degrees < 0 then t := -1 else t := 1;
  Result := Abs(Degrees);
  Result := (Floor(Result) mod 360 + DecRet(Result)) * t;
  if Result < 0 then Inc(Result, 360);
end;

Availability

SCAR Divi 3.00 > Current

Description

Fixes an angle specified by Degrees in degrees by adding/subtracting 360 until the value is larger than or equals 0 and is smaller than or equals 360.

Example

begin
  WriteLn(FixD(25));
  WriteLn(FixD(385));
end.

Output:

25
25

See Also