double RealTier_getMean_points (RealTier me, double tmin, double tmax) { long n = my points.size, imin, imax; double sum = 0.0; if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; } // autowindow n = AnyTier_getWindowPoints (me->asAnyTier(), tmin, tmax, & imin, & imax); if (n == 0) return NUMundefined; for (long i = imin; i <= imax; i ++) sum += my points.at [i] -> value; return sum / n; }
double RealTier_getMean_points (RealTier me, double tmin, double tmax) { long n = my numberOfPoints (), imin, imax; double sum = 0.0; RealPoint *points = my peekPoints (); if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; } // autowindow n = AnyTier_getWindowPoints (me, tmin, tmax, & imin, & imax); if (n == 0) return NUMundefined; for (long i = imin; i <= imax; i ++) sum += points [i] -> value; return sum / n; }
double RealTier_getMean_points (I, double tmin, double tmax) { iam (RealTier); long n = my points -> size, imin, imax; double sum = 0.0; RealPoint *points = (RealPoint *) my points -> item; if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; } /* Autowindow. */ n = AnyTier_getWindowPoints (me, tmin, tmax, & imin, & imax); if (n == 0) return NUMundefined; for (long i = imin; i <= imax; i ++) sum += points [i] -> value; return sum / n; }
double RealTier_getStandardDeviation_points (RealTier me, double tmin, double tmax) { long n = my points.size, imin, imax; double mean, sum = 0.0; if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; } // autowindow n = AnyTier_getWindowPoints (me->asAnyTier(), tmin, tmax, & imin, & imax); if (n < 2) return NUMundefined; mean = RealTier_getMean_points (me, tmin, tmax); for (long i = imin; i <= imax; i ++) { double diff = my points.at [i] -> value - mean; sum += diff * diff; } return sqrt (sum / (n - 1)); }
double RealTier_getStandardDeviation_points (I, double tmin, double tmax) { iam (RealTier); long n = my points -> size, imin, imax; double mean, sum = 0.0; RealPoint *points = (RealPoint *) my points -> item; if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; } /* Autowindow. */ n = AnyTier_getWindowPoints (me, tmin, tmax, & imin, & imax); if (n < 2) return NUMundefined; mean = RealTier_getMean_points (me, tmin, tmax); for (long i = imin; i <= imax; i ++) { double diff = points [i] -> value - mean; sum += diff * diff; } return sqrt (sum / (n - 1)); }