#include "common.h"#include "correlate.h"Include dependency graph for correlate.c:

Go to the source code of this file.
Functions | |
| correlate * | correlateNew () |
| void | correlateFree (struct correlate **pC) |
| void | correlateNext (struct correlate *c, double x, double y) |
| double | correlateResult (struct correlate *c) |
| double | correlateArrays (double *x, double *y, int size) |
| double correlateArrays | ( | double * | x, | |
| double * | y, | |||
| int | size | |||
| ) |
Definition at line 49 of file correlate.c.
References correlateFree(), correlateNew(), correlateNext(), and correlateResult().
00051 { 00052 struct correlate *c = correlateNew(); 00053 double r; 00054 int i; 00055 for (i=0; i<size; ++i) 00056 correlateNext(c, x[i], y[i]); 00057 r = correlateResult(c); 00058 correlateFree(&c); 00059 return r; 00060 }
Here is the call graph for this function:

| void correlateFree | ( | struct correlate ** | pC | ) |
Definition at line 16 of file correlate.c.
References freez().
Referenced by correlateArrays().
00018 { 00019 freez(pC); 00020 }
Here is the call graph for this function:

Here is the caller graph for this function:

| struct correlate* correlateNew | ( | ) | [read] |
Definition at line 9 of file correlate.c.
References AllocVar.
Referenced by correlateArrays().
Here is the caller graph for this function:

| void correlateNext | ( | struct correlate * | c, | |
| double | x, | |||
| double | y | |||
| ) |
Definition at line 22 of file correlate.c.
References correlate::n, correlate::sumX, correlate::sumXX, correlate::sumXY, correlate::sumY, and correlate::sumYY.
Referenced by correlateArrays().
00024 { 00025 c->sumX += x; 00026 c->sumXX += x*x; 00027 c->sumXY += x*y; 00028 c->sumY += y; 00029 c->sumYY += y*y; 00030 c->n += 1; 00031 }
Here is the caller graph for this function:

| double correlateResult | ( | struct correlate * | c | ) |
Definition at line 33 of file correlate.c.
References correlate::n, correlate::sumX, correlate::sumXX, correlate::sumXY, correlate::sumY, and correlate::sumYY.
Referenced by correlateArrays().
00035 { 00036 double r = 0; 00037 if (c->n > 0) 00038 { 00039 double sp = c->sumXY - c->sumX*c->sumY/c->n; 00040 double ssx = c->sumXX - c->sumX*c->sumX/c->n; 00041 double ssy = c->sumYY - c->sumY*c->sumY/c->n; 00042 double q = ssx*ssy; 00043 if (q != 0) 00044 r = sp/sqrt(q); 00045 } 00046 return r; 00047 }
Here is the caller graph for this function:

1.5.2