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;

}