Bladeren bron

+ cot, sec, csc, secant, cosecant (mantis #8142)

git-svn-id: trunk@6170 -
Jonas Maebe 18 jaren geleden
bovenliggende
commit
0e1c9c901d
1 gewijzigde bestanden met toevoegingen van 35 en 0 verwijderingen
  1. 35 0
      rtl/objpas/math.pp

+ 35 - 0
rtl/objpas/math.pp

@@ -262,8 +262,14 @@ function radtocycle(rad : float) : float;
 
 function tan(x : float) : float;
 function cotan(x : float) : float;
+function cot(x : float) : float; inline;
 procedure sincos(theta : float;out sinus,cosinus : float);
 
+function secant(x : float) : float; inline;
+function cosecant(x : float) : float; inline;
+function sec(x : float) : float; inline;
+function csc(x : float) : float; inline;
+
 { inverse functions }
 
 function arccos(x : float) : float;
@@ -677,6 +683,11 @@ function cotan(x : float) : float;
   end;
 {$endif FPC_MATH_HAS_COTAN}
 
+function cot(x : float) : float; inline;
+begin
+  cot := cotan(x);
+end;
+
 
 {$ifndef FPC_MATH_HAS_SINCOS}
 procedure sincos(theta : float;out sinus,cosinus : float);
@@ -687,6 +698,30 @@ procedure sincos(theta : float;out sinus,cosinus : float);
 {$endif FPC_MATH_HAS_SINCOS}
 
 
+function secant(x : float) : float; inline;
+begin
+  secant := 1 / cos(x);
+end;
+
+
+function cosecant(x : float) : float; inline;
+begin
+  cosecant := 1 / sin(x);
+end;
+
+
+function sec(x : float) : float; inline;
+begin
+  sec := secant(x);
+end;
+
+
+function csc(x : float) : float; inline;
+begin
+  csc := cosecant(x);
+end;
+
+
 { ArcSin and ArcCos from Arjan van Dijk ([email protected]) }