ultimatepp/uppsrc/ScatterDraw/DataSource.cpp
koldo 98680a8d7d ScatterDraw: Included new legend table
git-svn-id: svn://ultimatepp.org/upp/trunk@6755 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2014-01-11 13:43:42 +00:00

47 lines
No EOL
985 B
C++

#include "ScatterDraw.h"
NAMESPACE_UPP
#define Membercall(fun) (this->*fun)
double DataSource::Min(Getdatafun getdata) {
double minVal = -DOUBLE_NULL;
for (int64 i = 0; i < GetCount(); ++i) {
double d = Membercall(getdata)(i);
if (!IsNull(d) && minVal > d)
minVal = d;
}
return minVal;
}
double DataSource::Max(Getdatafun getdata) {
double maxVal = DOUBLE_NULL;
for (int64 i = 0; i < GetCount(); ++i) {
double d = Membercall(getdata)(i);
if (!IsNull(d) && maxVal < d)
maxVal = d;
}
return maxVal;
}
double DataSource::Avg(Getdatafun getdata) {
double ret = 0;
for (int64 i = 0; i < GetCount(); ++i)
ret += Membercall(getdata)(i);
return ret/GetCount();
}
double CArray::xn(int n, int64 id) {
switch (n) {
case 0: ASSERT(yData);
return yData[id];
case 1: ASSERT(x1Data);
return x1Data[id];
case 2: ASSERT(x2Data);
return x2Data[id];
}
NEVER();
return Null;
}
END_UPP_NAMESPACE