Source Code (Use browser search to find items of interest.)
Class Index
kcalc'KStats (./kdeutils/kcalc/stats.h:33)
class KStats
{
public:
KStats();
~KStats();
public:
void clearAll();
void enterData(CALCAMNT data);
void clearLast();
CALCAMNT sum();
CALCAMNT sum_of_squares();
CALCAMNT mean();
CALCAMNT median();
CALCAMNT std_kernel();
CALCAMNT std();
CALCAMNT sample_std();
int count();
bool error();
private:
QList<CALCAMNT> data;
bool error_flag;
};
kcalc'KStats::KStats() (./kdeutils/kcalc/stats.cpp:31)
KStats::KStats(){
error_flag = FALSE;
data.setAutoDelete(TRUE);
}
kcalc'KStats::~KStats() (./kdeutils/kcalc/stats.cpp:38)
KStats::~KStats(){
data.clear();
}
kcalc'KStats::clearAll() (./kdeutils/kcalc/stats.cpp:44)
void KStats::clearAll(){
data.clear();
}
kcalc'KStats::enterData() (./kdeutils/kcalc/stats.cpp:50)
void KStats::enterData(CALCAMNT _data){
CALCAMNT *newdata;
newdata = new CALCAMNT;
*newdata = _data;
data.append(newdata);
#ifdef DEBUG_STATS
printf("Added %Lg\n",*newdata);
printf("count %d\n",data.count());
#endif
}
kcalc'KStats::clearLast() (./kdeutils/kcalc/stats.cpp:65)
void KStats::clearLast(){
data.removeLast();
#ifdef DEBUG_STATS
printf("count %d\n",data.count());
#endif
}
kcalc'KStats::sum() (./kdeutils/kcalc/stats.cpp:76)
CALCAMNT KStats::sum(){
CALCAMNT result = 0.0;
CALCAMNT *dp;
for ( dp=data.first(); dp != 0; dp=data.next() ){
result += *dp;
}
#ifdef DEBUG_STATS
printf("Sum %Lg\n",result);
#endif
return result;
}
kcalc'KStats::median() (./kdeutils/kcalc/stats.cpp:93)
CALCAMNT KStats::median(){
int index;
CALCAMNT result;
CALCAMNT *dp;
int bound = 0;
MyList list;
for ( dp=data.first(); dp != 0; dp=data.next() ){
list.inSort(dp);
}
#ifdef DEBUG_STATS
for(int l = 0; l < (int)list.count();l++){
printf("Sorted %Lg\n",*list.at(l));
}
#endif
bound = list.count();
if (bound == 0){
error_flag = TRUE;
return 0.0;
}
if ( bound == 1)
return *list.at(0);
if( bound % 2){ // odd
index = (bound - 1 ) / 2 + 1;
result = *list.at(index - 1 );
}
else { // even
index = bound / 2;
result = ((*list.at(index - 1)) + (*list.at(index)))/2;
}
return result;
}
kcalc'KStats::std_kernel() (./kdeutils/kcalc/stats.cpp:141)
CALCAMNT KStats::std_kernel(){
CALCAMNT result = 0.0;
CALCAMNT _mean;
_mean = mean();
CALCAMNT *dp;
for ( dp=data.first(); dp != 0; dp=data.next() ){
result += (*dp - _mean) * (*dp - _mean);
}
#ifdef DEBUG_STATS
printf("std_kernel %Lg\n",result);
#endif
return result;
}
kcalc'KStats::sum_of_squares() (./kdeutils/kcalc/stats.cpp:163)
CALCAMNT KStats::sum_of_squares(){
CALCAMNT result = 0.0;
CALCAMNT *dp;
for ( dp=data.first(); dp != 0; dp=data.next() ){
result += (*dp) * (*dp);
}
#ifdef DEBUG_STATS
printf("Sum of Squares %Lg\n",result);
#endif
return result;
}
kcalc'KStats::mean() (./kdeutils/kcalc/stats.cpp:181)
CALCAMNT KStats::mean(){
CALCAMNT result = 0.0;
if(data.count() == 0){
error_flag = TRUE;
return 0.0;
}
result = sum()/data.count();
#ifdef DEBUG_STATS
printf("mean: %Lg\n",result);
#endif
return result;
}
kcalc'KStats::std() (./kdeutils/kcalc/stats.cpp:200)
CALCAMNT KStats::std(){
CALCAMNT result = 0.0;
if(data.count() == 0){
error_flag = TRUE;
#ifdef DEBUG_STATS
printf("set stats error\n");
#endif
return 0.0;
}
result = SQRT(std_kernel() / data.count());
#ifdef DEBUG_STATS
printf ("data.count %d\n",data.count());
#endif
#ifdef DEBUG_STATS
printf("std: %Lg\n",result);
#endif
return result;
}
kcalc'KStats::sample_std() (./kdeutils/kcalc/stats.cpp:228)
CALCAMNT KStats::sample_std(){
CALCAMNT result = 0.0;
if(data.count() < 2 ){
error_flag = TRUE;
return 0.0;
}
result = SQRT(std_kernel() / (data.count() - 1));
// result = result/(data.count() - 1);
#ifdef DEBUG_STATS
printf("sample std: %Lg\n",result);
#endif
return result;
}
kcalc'KStats::count() (./kdeutils/kcalc/stats.cpp:246)
int KStats::count(){
return data.count();
}
kcalc'KStats::error() (./kdeutils/kcalc/stats.cpp:252)
bool KStats::error(){
bool value;
value = error_flag;
error_flag = FALSE;
return value;
}