55 if (values)
delete values;
62 if (values != t)
drop ();
69 return ts - vs > 0 ? ts - vs : 0;
77 return vs - ts > 0 ? vs - ts : 0;
82 return (t != NULL) ? t->
get (
leftidx ()) : 0.0;
87 return (t != NULL) ? t->
get (t->
getSize () - 1) : 0.0;
98 nr_double_t f =
first ();
99 nr_double_t l =
last ();
100 if (age > 0.0 && l - f > age) {
102 for (r = 0; i < t->
getSize (); r++, i++)
103 if (l - t->
get (i) < age)
break;
105 if (r > 127) values->
drop (r);
116 int n = left ? idx + 1: idx;
117 if (n > 1 && n + 2 < values->
getSize ()) {
119 for (k = 0, i = n - 2; k < 4; i++, k++) {
120 x (k) = t->
get (i + l);
121 y (k) = values->
get (i);
127 return values->
get (idx);
138 nr_double_t
diff = NR_MAX;
140 i =
seek (tval, l, r, diff, i);
142 if (interpolate)
return interpol (tval, i, sign);
143 return values->
get (i);
155 if (l == r)
return i;
156 nr_double_t v = t->
get (i);
157 nr_double_t d = v - tval;
158 if (fabs (d) < diff) {
161 sign = d < 0.0 ?
true :
false;
170 return seek (tval, i, r, diff, idx);
174 return seek (tval, l, i, diff, idx);