Mercurial > hg > sv-dependency-builds
comparison src/fftw-3.3.8/libbench2/mflops.c @ 167:bd3cc4d1df30
Add FFTW 3.3.8 source, and a Linux build
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Tue, 19 Nov 2019 14:52:55 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
166:cbd6d7e562c7 | 167:bd3cc4d1df30 |
---|---|
1 /* not worth copyrighting */ | |
2 | |
3 #include "libbench2/bench.h" | |
4 #include <math.h> | |
5 | |
6 double mflops(const bench_problem *p, double t) | |
7 { | |
8 size_t size = tensor_sz(p->sz); | |
9 size_t vsize = tensor_sz(p->vecsz); | |
10 | |
11 if (size <= 1) /* a copy: just return reals copied / time */ | |
12 switch (p->kind) { | |
13 case PROBLEM_COMPLEX: | |
14 return (2.0 * size * vsize / (t * 1.0e6)); | |
15 case PROBLEM_REAL: | |
16 case PROBLEM_R2R: | |
17 return (1.0 * size * vsize / (t * 1.0e6)); | |
18 } | |
19 | |
20 switch (p->kind) { | |
21 case PROBLEM_COMPLEX: | |
22 return (5.0 * size * vsize * log((double)size) / | |
23 (log(2.0) * t * 1.0e6)); | |
24 case PROBLEM_REAL: | |
25 case PROBLEM_R2R: | |
26 return (2.5 * vsize * size * log((double) size) / | |
27 (log(2.0) * t * 1.0e6)); | |
28 } | |
29 BENCH_ASSERT(0 /* can't happen */); | |
30 return 0.0; | |
31 } | |
32 |