Mercurial > hg > sv-dependency-builds
view src/fftw-3.3.8/libbench2/mflops.c @ 169:223a55898ab9 tip default
Add null config files
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Mon, 02 Mar 2020 14:03:47 +0000 |
parents | bd3cc4d1df30 |
children |
line wrap: on
line source
/* not worth copyrighting */ #include "libbench2/bench.h" #include <math.h> double mflops(const bench_problem *p, double t) { size_t size = tensor_sz(p->sz); size_t 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; }