[Kst] [Bug 88120] scalar that would give the last value of a vector
Andrew Walker
arwalker at sumusltd.com
Thu Aug 26 18:17:35 CEST 2004
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=88120
arwalker sumusltd com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From arwalker sumusltd com 2004-08-26 18:17 -------
CVS commit by arwalker:
Add automatically generated scalar gicing last read value of a vector.
CCMAIL: 88120-done bugs kde org
M +13 -4 kstvector.cpp 1.79
--- kdeextragear-2/kst/kst/kstvector.cpp #1.78:1.79
@ -136,9 +136,11 @ double KstVector::interpolate(int in_i,
/** Limits checks - optional? **/
- if (in_i < 0)
+ if (in_i < 0) {
return _v[0];
+ }
- if (in_i >= ns_i - 1)
+ if (in_i >= ns_i - 1) {
return _v[_size - 1];
+ }
/** speedup check **/
@ -186,4 +188,6 @ void KstVector::CreateScalars() {
_scalars.insert("min", new KstScalar(tagName() + "-Min"));
_scalars["min"]->_KShared_ref();
+ _scalars.insert("last", new KstScalar(tagName() + "-Last"));
+ _scalars["last"]->_KShared_ref();
_scalars.insert("mean", new KstScalar(tagName() + "-Mean"));
_scalars["mean"]->_KShared_ref();
@ -207,4 +211,5 @ void KstVector::RenameScalars() {
_scalars["max"]->setTagName(tagName() + "-Max");
_scalars["min"]->setTagName(tagName() + "-Min");
+ _scalars["last"]->setTagName(tagName() + "-Last");
_scalars["mean"]->setTagName(tagName() + "-Mean");
_scalars["sigma"]->setTagName(tagName() + "-Sigma");
@ -279,9 +284,9 @ bool KstVector::resize(int sz, bool rein
KstObject::UpdateType KstVector::update(int update_counter) {
int i, i0;
- double max, min, sum, sum2, minpos, v;
+ double max, min, sum, sum2, minpos, last, v;
double last_v;
double dv2=0.0, dv, no_spike_max_dv;
- max = min = sum = sum2 = minpos = 0.0;
+ max = min = sum = sum2 = minpos = last = 0.0;
if (KstObject::checkUpdateCounter(update_counter))
@ -303,4 +308,5 @ KstObject::UpdateType KstVector::update(
_scalars["min"]->setValue(min);
_scalars["minpos"]->setValue(minpos);
+ _scalars["last"]->setValue(last);
}
_ns_max = _ns_min = 0;
@ -364,4 +370,6 @ KstObject::UpdateType KstVector::update(
_ns_max = _ns_min = last_v = _v[i0];
+ last = _v[_size-1];
+
for (i = i0; i < _size; i++) {
v = _v[i]; // get rid of redirections
@ -390,4 +398,5 @ KstObject::UpdateType KstVector::update(
_scalars["min"]->setValue(min);
_scalars["minpos"]->setValue(minpos);
+ _scalars["last"]->setValue(last);
}
More information about the Kst
mailing list