Go to the source code of this file.
Defines | |
#define | __attribute__(x) |
Functions | |
char | __attribute__ ((unused)) ident[]="$Id |
double | sumSq (double *x, int n) |
double | sumProd (double *x, double *y, int n) |
double | sumProdOD (double *x, double *y, int n, double d) |
double | sumSqOD (double *x, int n, double d) |
int | lsCoeff (double *x, double *y, int n, double *a, double *b) |
int | lsCoeffOD (double *x, double *y, int n, double d, double *a) |
|
|
|
Definition at line 19 of file lsutil.c. 00019 : lsutil.c,v 1.3 2000/10/27 20:34:42 terrylr Exp $"; 00020 00021 static double sum(double *x, int n) 00022 { 00023 double retval = 0.0; 00024 00025 n--; 00026 while (n >= 0) 00027 { 00028 retval += x[n]; 00029 n--; 00030 } 00031 00032 return retval; 00033 } |
|
Definition at line 100 of file lsutil.c. Referenced by __attribute__().
00101 { 00102 double sumX; 00103 double sumY; 00104 double sumXY; 00105 double sumXSq; 00106 double denom; 00107 00108 if (n <= 1) 00109 { 00110 return -1; 00111 } 00112 00113 sumX = sum(x, n); 00114 sumY = sum(y, n); 00115 sumXY = sumProd(x, y, n); 00116 sumXSq = sumSq(x, n); 00117 00118 denom = n*sumXSq - sumX*sumX; 00119 if (denom == 0.0) 00120 { 00121 return -1; 00122 } 00123 *a = (n*sumXY - sumX*sumY)/denom; 00124 *b = (sumY - (*a)*sumX)/n; 00125 00126 return 0; 00127 } |
|
Definition at line 137 of file lsutil.c. Referenced by __attribute__().
00138 { 00139 double sumXODY; 00140 double sumXODSq; 00141 00142 if (n <= 1) 00143 { 00144 return -1; 00145 } 00146 00147 sumXODY = sumProdOD(x, y, n, d); 00148 sumXODSq = sumSqOD(x, n, d); 00149 00150 if (sumXODSq == 0.0) 00151 { 00152 return -1; 00153 } 00154 00155 *a = sumXODY/sumXODSq; 00156 00157 return 0; 00158 } |
|
Definition at line 49 of file lsutil.c. Referenced by lsCoeff().
00050 { 00051 double retval = 0.0; 00052 00053 n--; 00054 while (n >= 0) 00055 { 00056 retval += x[n]*y[n]; 00057 n--; 00058 } 00059 00060 return retval; 00061 } |
|
Definition at line 64 of file lsutil.c. Referenced by lsCoeffOD().
00065 { 00066 double retval = 0.0; 00067 00068 n--; 00069 while (n >= 0) 00070 { 00071 retval += (x[n]-d)*y[n]; 00072 n--; 00073 } 00074 00075 return retval; 00076 } |
|
Definition at line 35 of file lsutil.c. Referenced by lsCoeff().
00036 { 00037 double retval = 0.0; 00038 00039 n--; 00040 while (n >= 0) 00041 { 00042 retval += x[n]*x[n]; 00043 n--; 00044 } 00045 00046 return retval; 00047 } |
|
Definition at line 78 of file lsutil.c. Referenced by lsCoeffOD().
00079 { 00080 00081 double retval = 0.0; 00082 00083 n--; 00084 while (n >= 0) 00085 { 00086 retval += (x[n]-d)*(x[n]-d); 00087 n--; 00088 } 00089 00090 return retval; 00091 } |