Some statistics stuff (av-variance.c)
This commit is contained in:
parent
9527b11c57
commit
eeeb8e4f3c
3 changed files with 41 additions and 1 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -26,3 +26,4 @@ tags
|
|||
mtrace-test
|
||||
mtrace-test.trace
|
||||
mtrace-test.txt
|
||||
av-variance
|
||||
|
|
2
Makefile
2
Makefile
|
@ -2,7 +2,7 @@ CFLAGS=-std=c99 -Wextra -pedantic -g -O2
|
|||
|
||||
CFLAGS=-std=c99 -Wextra -pedantic -g -O0
|
||||
|
||||
TARGETS=approximate-pi linked-list mandelbrot threads circular-buffer structs ncurses-pong bit-fuckery bit-fuckery2 checkcheck multibrot bloom wo-lernen lua-foo binsearch test-inline-assembly uiowa-threads-example mtrace-test
|
||||
TARGETS=approximate-pi linked-list mandelbrot threads circular-buffer structs ncurses-pong bit-fuckery bit-fuckery2 checkcheck multibrot bloom wo-lernen lua-foo binsearch test-inline-assembly uiowa-threads-example mtrace-test av-variance
|
||||
EXTRAS=mandelbrot.bmp multibrot.png test-inline-assembly.s tags mtrace-test.trace mtrace-test.txt
|
||||
|
||||
.PHONY: all
|
||||
|
|
39
av-variance.c
Normal file
39
av-variance.c
Normal file
|
@ -0,0 +1,39 @@
|
|||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
double mean(double set[], int set_n) {
|
||||
double sum = 0.0;
|
||||
for(int i=0; i<set_n; i++) {
|
||||
sum += set[i];
|
||||
}
|
||||
|
||||
return sum/set_n;
|
||||
}
|
||||
|
||||
bool isalmost(double x, double c, double epsilon) {
|
||||
assert(epsilon >= 0.0);
|
||||
return fabs(x-c) < epsilon;
|
||||
}
|
||||
|
||||
int main() {
|
||||
// Some data
|
||||
double d[] = {7, 8, 5, 1, 6, 2};
|
||||
const int d_n = 6;
|
||||
|
||||
double e[] = {-10, 0, 10, 11, 12, 13, 14, 8, 9, 10, 11, 10, 10};
|
||||
const int e_n = 13;
|
||||
|
||||
// Some tests
|
||||
assert(isalmost(mean(d, d_n), 4.833, 0.001));
|
||||
assert(isalmost(mean(e, e_n), 8.307, 0.001));
|
||||
|
||||
// XXX assert(isalmost(median(d, d_n), 5.5, 0.001));
|
||||
// XXX assert(isalmost(median(e, e_n), XXX, 0.001));
|
||||
// XXX Variance
|
||||
// XXX Stddev
|
||||
// XXX Range
|
||||
// XXX Mode
|
||||
// XXX Percentile
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue