annotate src/fftw-3.3.5/libbench2/mflops.c @ 148:b4bfdf10c4b3

Update Win64 capnp builds to v0.6
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 22 May 2017 18:56:49 +0100
parents 7867fa7e1b6b
children
rev   line source
cannam@127 1 /* not worth copyrighting */
cannam@127 2
cannam@127 3 #include "bench.h"
cannam@127 4 #include <math.h>
cannam@127 5
cannam@127 6 double mflops(const bench_problem *p, double t)
cannam@127 7 {
cannam@127 8 int size = tensor_sz(p->sz);
cannam@127 9 int vsize = tensor_sz(p->vecsz);
cannam@127 10
cannam@127 11 if (size <= 1) /* a copy: just return reals copied / time */
cannam@127 12 switch (p->kind) {
cannam@127 13 case PROBLEM_COMPLEX:
cannam@127 14 return (2.0 * size * vsize / (t * 1.0e6));
cannam@127 15 case PROBLEM_REAL:
cannam@127 16 case PROBLEM_R2R:
cannam@127 17 return (1.0 * size * vsize / (t * 1.0e6));
cannam@127 18 }
cannam@127 19
cannam@127 20 switch (p->kind) {
cannam@127 21 case PROBLEM_COMPLEX:
cannam@127 22 return (5.0 * size * vsize * log((double)size) /
cannam@127 23 (log(2.0) * t * 1.0e6));
cannam@127 24 case PROBLEM_REAL:
cannam@127 25 case PROBLEM_R2R:
cannam@127 26 return (2.5 * vsize * size * log((double) size) /
cannam@127 27 (log(2.0) * t * 1.0e6));
cannam@127 28 }
cannam@127 29 BENCH_ASSERT(0 /* can't happen */);
cannam@127 30 return 0.0;
cannam@127 31 }
cannam@127 32