Difference between revisions of "FixD"
From SCAR Divi Manual
(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