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 }
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001