Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/mathf

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/g4tools/include/tools/mathf (Version 11.3.0) and /externals/g4tools/include/tools/mathf (Version 11.1.1)


  1 // Copyright (C) 2010, Guy Barrand. All rights      1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
  2 // See the file tools.license for terms.            2 // See the file tools.license for terms.
  3                                                     3 
  4 #ifndef tools_mathf                                 4 #ifndef tools_mathf
  5 #define tools_mathf                                 5 #define tools_mathf
  6                                                     6 
  7 namespace tools {                                   7 namespace tools {
  8                                                     8 
  9 //have : static const fpi = (float)3.141592653      9 //have : static const fpi = (float)3.1415926535897931160E0; ???
 10                                                    10 
 11 inline float fpi()      {return (float)3.14159     11 inline float fpi()      {return (float)3.1415926535897931160E0;}
 12 inline float ftwo_pi()  {return (float)6.28318     12 inline float ftwo_pi()  {return (float)6.2831853071795862320E0;}
 13 inline float fhalf_pi() {return (float)1.57079     13 inline float fhalf_pi() {return (float)1.5707963267948965580E0;}
 14                                                    14 
 15 //inline float fdeg2rad() {return fpi()/180.0f     15 //inline float fdeg2rad() {return fpi()/180.0f;} //0.0174f
 16 //inline float frad2deg() {return 180.0f/fpi()     16 //inline float frad2deg() {return 180.0f/fpi();}
 17                                                    17 
 18 inline float fdeg2rad() {                          18 inline float fdeg2rad() {
 19   static const float s_v = fpi()/180.0f; //0.0     19   static const float s_v = fpi()/180.0f; //0.0174f
 20   return s_v;                                      20   return s_v;
 21 }                                                  21 }
 22 inline float frad2deg() {                          22 inline float frad2deg() {
 23   static const float s_v = 180.0f/fpi();           23   static const float s_v = 180.0f/fpi();
 24   return s_v;                                      24   return s_v;
 25 }                                                  25 }
 26                                                    26 
 27 inline int fround(const float& a_x) {              27 inline int fround(const float& a_x) {
 28   // From CoinGL/src/base/SbViewportRegion.cpp     28   // From CoinGL/src/base/SbViewportRegion.cpp.
 29   if (a_x == (float) (int(a_x))) return int(a_     29   if (a_x == (float) (int(a_x))) return int(a_x);
 30   else return (a_x>0.0f) ? int(a_x+0.5f) : -in     30   else return (a_x>0.0f) ? int(a_x+0.5f) : -int(0.5f-a_x);
 31 }                                                  31 }
 32                                                    32 
 33 inline float fstep(const float& a_x) {return a     33 inline float fstep(const float& a_x) {return a_x<0.0f?0.0f:1.0f;}
 34                                                    34 
 35 }                                                  35 }
 36                                                    36 
 37                                                    37 
 38 #include <cmath>                                   38 #include <cmath>
 39                                                    39 
 40 namespace tools {                                  40 namespace tools {
 41                                                    41 
 42 inline float fcos(const float& x) {return (flo     42 inline float fcos(const float& x) {return (float)::cos(double(x));}
 43 inline float fsin(const float& x) {return (flo     43 inline float fsin(const float& x) {return (float)::sin(double(x));}
 44 inline float facos(const float& x) {return (fl     44 inline float facos(const float& x) {return (float)::acos(double(x));}
 45 inline float fasin(const float& x) {return (fl     45 inline float fasin(const float& x) {return (float)::asin(double(x));}
 46 inline float ftan(const float& x) {return (flo     46 inline float ftan(const float& x) {return (float)::tan(double(x));}
 47 inline float fatan(const float& x) {return (fl     47 inline float fatan(const float& x) {return (float)::atan(double(x));}
 48 inline float fatan2(const float& x,const float     48 inline float fatan2(const float& x,const float& y) {return (float)::atan2(double(x),double(y));}
 49 inline float fsqrt(const float& x) {return (fl     49 inline float fsqrt(const float& x) {return (float)::sqrt(double(x));}
 50 inline float fpow(const float& x,const float&      50 inline float fpow(const float& x,const float& y) {return (float)::pow(double(x),(double)(y));}
 51 inline float fexp(const float& x) {return (flo     51 inline float fexp(const float& x) {return (float)::exp(double(x));}
 52 inline float flog(const float& x) {return (flo     52 inline float flog(const float& x) {return (float)::log(double(x));}
 53 inline float flog10(const float& x) {return (f     53 inline float flog10(const float& x) {return (float)::log10(double(x));}
 54 inline float ffloor(const float& x) {return (f     54 inline float ffloor(const float& x) {return (float)::floor(double(x));}
 55 inline float fceil(const float& x) {return (fl     55 inline float fceil(const float& x) {return (float)::ceil(double(x));}
 56 inline float fcosh(const float& x) {return (fl     56 inline float fcosh(const float& x) {return (float)::cosh(double(x));}
 57 inline float fsinh(const float& x) {return (fl     57 inline float fsinh(const float& x) {return (float)::sinh(double(x));}
 58 inline float ffabs(const float& x) {return (fl     58 inline float ffabs(const float& x) {return (float)::fabs(double(x));}
 59                                                    59 
 60 }                                                  60 }
 61                                                    61 
 62 #endif                                             62 #endif