mymath.hxx

Go to the documentation of this file.
00001 
00002 
00003 #ifndef CH_MATRIX_CLASSES_MYMATH_HXX
00004 #define CH_MATRIX_CLASSES_MYMATH_HXX
00005 
00015 namespace CH_Matrix_Classes {
00016 
00020   
00022 inline double abs(double d)
00023 {
00024   return (d>=0)?d:-d;
00025 }
00026   
00028 inline int abs(int d)
00029 {
00030  return (d>=0)?d:-d;
00031 }
00032 
00034 inline long abs(long d)
00035 {
00036  return (d>=0)?d:-d;
00037 }
00038   
00040 inline double max(double a,double b)
00041 {
00042  return (a>=b)?a:b;
00043 }
00044 
00046 inline double min(double a,double b)
00047 {
00048  return (a<=b)?a:b;
00049 }
00050 
00052 inline int max(int a,int b)
00053 {
00054  return (a>=b)?a:b;
00055 }
00056 
00058 inline int min(int a,int b)
00059 {
00060  return (a<=b)?a:b;
00061 }
00062 
00064 inline long max(long a,long b)
00065 {
00066  return (a>=b)?a:b;
00067 }
00068 
00070 inline long min(long a,long b)
00071 {
00072  return (a<=b)?a:b;
00073 }
00074 
00076 inline void swap(double& a,double& b)
00077 {
00078  double h=a; a=b; b=h;
00079 }
00080 
00082 inline void swap(long& a,long& b)
00083 {
00084  long h=a; a=b; b=h;
00085 }
00086 
00088 inline void swap(int& a,int& b)
00089 {
00090  int h=a; a=b; b=h;
00091 }
00092 
00094 inline int sqr(int a)
00095 {
00096  return a*a;
00097 }
00098 
00100 inline long sqr(long a)
00101 {
00102  return a*a;
00103 }
00104 
00106 inline double sqr(double a)
00107 {
00108  return a*a;
00109 }
00110 
00112 inline int sign(int a)
00113 {
00114  if (a>0) return 1;
00115  if (a<0) return -1;
00116  return 0;
00117 }
00118 
00120 inline long sign(long a)
00121 {
00122  if (a>0) return 1;
00123  if (a<0) return -1;
00124  return 0;
00125 }
00126 
00128 inline double sign(double a)
00129 {
00130  return (a>=0)?1.:-1.;
00131 }
00132 
00134 inline double sign(double a,double tol)
00135 {
00136  if (a>tol) return 1.;
00137  if (a<-tol) return -1.;
00138  return 0.;
00139 }
00140 
00141 //---- functions for f2c translations
00142 
00144 inline double d_sign(double a,double b)
00145 {
00146  return (((b>=0)&&(a>=0))||((b<0)&&(a<0)))?a:-a;
00147 }
00148 
00150 
00151 }
00152 
00153 #endif
00154 

Generated on Tue May 3 16:52:53 2011 for ConicBundle by  doxygen 1.5.6