From d45ced0221e5ec535c193b4f9c07192ca02bb610 Mon Sep 17 00:00:00 2001 From: michael Date: Sun, 6 Apr 2014 16:37:43 +0000 Subject: [PATCH] * Added DegNormalize git-svn-id: trunk@27492 - --- rtl/objpas/math.pp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/rtl/objpas/math.pp b/rtl/objpas/math.pp index c4725b891d..11c0dec13e 100644 --- a/rtl/objpas/math.pp +++ b/rtl/objpas/math.pp @@ -244,6 +244,15 @@ function gradtodeg(grad : float) : float;inline; { one cycle are 2*Pi rad } function cycletorad(cycle : float) : float;inline; function radtocycle(rad : float) : float;inline; +{$ifdef FPC_HAS_TYPE_SINGLE} +Function DegNormalize(deg : single) : single; inline; +{$ENDIF} +{$ifdef FPC_HAS_TYPE_DOUBLE} +Function DegNormalize(deg : double) : double; inline; +{$ENDIF} +{$ifdef FPC_HAS_TYPE_EXTENDED} +Function DegNormalize(deg : extended) : extended; inline; +{$ENDIF} { trigoniometric functions } @@ -670,6 +679,31 @@ function radtocycle(rad : float) : float;inline; radtocycle:=rad*(1/(2*pi)); end; +{$ifdef FPC_HAS_TYPE_SINGLE} +Function DegNormalize(deg : single) : single; + +begin + Result:=Deg-Trunc(Deg/360)*360; + If Result<0 then Result:=Result+360; +end; +{$ENDIF} +{$ifdef FPC_HAS_TYPE_DOUBLE} +Function DegNormalize(deg : double) : double; inline; + +begin + Result:=Deg-Trunc(Deg/360)*360; + If (Result<0) then Result:=Result+360; +end; +{$ENDIF} +{$ifdef FPC_HAS_TYPE_EXTENDED} +Function DegNormalize(deg : extended) : extended; inline; + +begin + Result:=Deg-Trunc(Deg/360)*360; + If Result<0 then Result:=Result+360; +end; +{$ENDIF} + {$ifndef FPC_MATH_HAS_TAN} function tan(x : float) : float; var