217
218 x_squared_sum += x * x;
219 x_sum += x;
220 y_sum += y;
221 xy_sum += x * y;
222 }
223 x_avg = x_sum / num;
224 y_avg = y_sum / num;
225
226 double Sxx = x_squared_sum - x_sum * x_sum / num;
227 double Sxy = xy_sum - x_sum * y_sum / num;
228 double b1 = Sxy / Sxx;
229 double b0 = y_avg - b1 * x_avg;
230
231 return b0 + b1 * num;
232 }
233
234
235 // Printing/Debugging Support
236
237 void AbsSeq::dump() { dump_on(gclog_or_tty); }
238
239 void AbsSeq::dump_on(outputStream* s) {
240 s->print_cr("\t _num = %d, _sum = %7.3f, _sum_of_squares = %7.3f",
241 _num, _sum, _sum_of_squares);
242 s->print_cr("\t _davg = %7.3f, _dvariance = %7.3f, _alpha = %7.3f",
243 _davg, _dvariance, _alpha);
244 }
245
246 void NumberSeq::dump_on(outputStream* s) {
247 AbsSeq::dump_on(s);
248 s->print_cr("\t\t _last = %7.3f, _maximum = %7.3f", _last, _maximum);
249 }
250
251 void TruncatedSeq::dump_on(outputStream* s) {
252 AbsSeq::dump_on(s);
253 s->print_cr("\t\t _length = %d, _next = %d", _length, _next);
254 for (int i = 0; i < _length; i++) {
255 if (i%5 == 0) {
256 s->cr();
257 s->print("\t");
|
217
218 x_squared_sum += x * x;
219 x_sum += x;
220 y_sum += y;
221 xy_sum += x * y;
222 }
223 x_avg = x_sum / num;
224 y_avg = y_sum / num;
225
226 double Sxx = x_squared_sum - x_sum * x_sum / num;
227 double Sxy = xy_sum - x_sum * y_sum / num;
228 double b1 = Sxy / Sxx;
229 double b0 = y_avg - b1 * x_avg;
230
231 return b0 + b1 * num;
232 }
233
234
235 // Printing/Debugging Support
236
237 void AbsSeq::dump() { dump_on(tty); }
238
239 void AbsSeq::dump_on(outputStream* s) {
240 s->print_cr("\t _num = %d, _sum = %7.3f, _sum_of_squares = %7.3f",
241 _num, _sum, _sum_of_squares);
242 s->print_cr("\t _davg = %7.3f, _dvariance = %7.3f, _alpha = %7.3f",
243 _davg, _dvariance, _alpha);
244 }
245
246 void NumberSeq::dump_on(outputStream* s) {
247 AbsSeq::dump_on(s);
248 s->print_cr("\t\t _last = %7.3f, _maximum = %7.3f", _last, _maximum);
249 }
250
251 void TruncatedSeq::dump_on(outputStream* s) {
252 AbsSeq::dump_on(s);
253 s->print_cr("\t\t _length = %d, _next = %d", _length, _next);
254 for (int i = 0; i < _length; i++) {
255 if (i%5 == 0) {
256 s->cr();
257 s->print("\t");
|