/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk

« back to all changes in this revision

Viewing changes to tools/disp.h

  • Committer: Suren A. Chilingaryan
  • Date: 2009-02-16 09:27:17 UTC
  • Revision ID: csa@dside.dyndns.org-20090216092717-wipyvaaw2srxhgns
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Huge speed optimization posible:
 
2
        Replace corelation matrix on square of correlation matrix, it will
 
3
        remove need of cpu-consuming sqrt function
 
4
*/
 
5
#include <math.h>
 
6
 
 
7
unsigned long disp_n;
 
8
unsigned long disp_s;
 
9
double disp_d;
 
10
double disp_m;
 
11
 
 
12
void disp_init() {
 
13
        disp_n=0;
 
14
        disp_s=0;
 
15
        disp_d=0;
 
16
}
 
17
 
 
18
 
 
19
void disp_event(unsigned long disp_v) {
 
20
        unsigned long t;
 
21
        
 
22
        disp_n++;
 
23
        t=disp_n*(disp_n-1);
 
24
        
 
25
        disp_s+=disp_v;
 
26
        disp_v*=disp_n;
 
27
 
 
28
        if (t) disp_d+=(double)(((disp_s-disp_v)*(disp_s-disp_v)))/t;
 
29
}
 
30
 
 
31
void disp_post() {
 
32
    if (disp_n>0) {
 
33
        disp_m = ((double)disp_s) / disp_n;
 
34
        if (disp_n>1) {
 
35
            disp_d /= (disp_n-1);
 
36
            disp_d = sqrt(disp_d);
 
37
        }
 
38
    }
 
39
}