annotate src/fftw-3.3.8/libbench2/mflops.c @ 168:ceec0dd9ec9c

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 07 Feb 2020 11:51:13 +0000
parents bd3cc4d1df30
children
rev   line source
cannam@167 1 /* not worth copyrighting */
cannam@167 2
cannam@167 3 #include "libbench2/bench.h"
cannam@167 4 #include <math.h>
cannam@167 5
cannam@167 6 double mflops(const bench_problem *p, double t)
cannam@167 7 {
cannam@167 8 size_t size = tensor_sz(p->sz);
cannam@167 9 size_t vsize = tensor_sz(p->vecsz);
cannam@167 10
cannam@167 11 if (size <= 1) /* a copy: just return reals copied / time */
cannam@167 12 switch (p->kind) {
cannam@167 13 case PROBLEM_COMPLEX:
cannam@167 14 return (2.0 * size * vsize / (t * 1.0e6));
cannam@167 15 case PROBLEM_REAL:
cannam@167 16 case PROBLEM_R2R:
cannam@167 17 return (1.0 * size * vsize / (t * 1.0e6));
cannam@167 18 }
cannam@167 19
cannam@167 20 switch (p->kind) {
cannam@167 21 case PROBLEM_COMPLEX:
cannam@167 22 return (5.0 * size * vsize * log((double)size) /
cannam@167 23 (log(2.0) * t * 1.0e6));
cannam@167 24 case PROBLEM_REAL:
cannam@167 25 case PROBLEM_R2R:
cannam@167 26 return (2.5 * vsize * size * log((double) size) /
cannam@167 27 (log(2.0) * t * 1.0e6));
cannam@167 28 }
cannam@167 29 BENCH_ASSERT(0 /* can't happen */);
cannam@167 30 return 0.0;
cannam@167 31 }
cannam@167 32