Mercurial > hg > sv-dependency-builds
diff src/fftw-3.3.3/libbench2/mflops.c @ 10:37bf6b4a2645
Add FFTW3
author | Chris Cannam |
---|---|
date | Wed, 20 Mar 2013 15:35:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/fftw-3.3.3/libbench2/mflops.c Wed Mar 20 15:35:50 2013 +0000 @@ -0,0 +1,32 @@ +/* not worth copyrighting */ + +#include "bench.h" +#include <math.h> + +double mflops(const bench_problem *p, double t) +{ + int size = tensor_sz(p->sz); + int vsize = tensor_sz(p->vecsz); + + if (size <= 1) /* a copy: just return reals copied / time */ + switch (p->kind) { + case PROBLEM_COMPLEX: + return (2.0 * size * vsize / (t * 1.0e6)); + case PROBLEM_REAL: + case PROBLEM_R2R: + return (1.0 * size * vsize / (t * 1.0e6)); + } + + switch (p->kind) { + case PROBLEM_COMPLEX: + return (5.0 * size * vsize * log((double)size) / + (log(2.0) * t * 1.0e6)); + case PROBLEM_REAL: + case PROBLEM_R2R: + return (2.5 * vsize * size * log((double) size) / + (log(2.0) * t * 1.0e6)); + } + BENCH_ASSERT(0 /* can't happen */); + return 0.0; +} +