Updates
This commit is contained in:
32
fftw-3.3.10/libbench2/mflops.c
Normal file
32
fftw-3.3.10/libbench2/mflops.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user