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