aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/fft/fft.h
diff options
context:
space:
mode:
authorJames Pollard <james@pollard.dev>2020-06-12 17:48:51 +0100
committerJames Pollard <james@pollard.dev>2020-06-12 17:48:51 +0100
commitf7795011ea9ac0d34ee565d3832f15b649bf1827 (patch)
treefd731b58626c8665032afd62068ece8cedc76eb0 /benchmarks/fft/fft.h
parent9acb804500b590edbff66cd802216f58dde169cd (diff)
parent86f42b92d87020875e2a7ef4ba40de12d261685f (diff)
downloadvericert-kvx-f7795011ea9ac0d34ee565d3832f15b649bf1827.tar.gz
vericert-kvx-f7795011ea9ac0d34ee565d3832f15b649bf1827.zip
Merge branch 'master' into arrays-proof
Diffstat (limited to 'benchmarks/fft/fft.h')
-rw-r--r--benchmarks/fft/fft.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/benchmarks/fft/fft.h b/benchmarks/fft/fft.h
new file mode 100644
index 0000000..4773894
--- /dev/null
+++ b/benchmarks/fft/fft.h
@@ -0,0 +1,61 @@
+/*
+Copyright (c) 2011, UT-Battelle, LLC
+Copyright (c) 2014, the President and Fellows of Harvard College
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+* Neither the name of Oak Ridge National Laboratory, nor UT-Battelle, LLC, nor
+ the names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Implementations based on:
+V. Volkov and B. Kazian. Fitting fft onto the g80 architecture. 2008.
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+#define TYPE double
+//#define TYPE int
+
+typedef struct complex_t {
+ TYPE x;
+ TYPE y;
+} complex;
+
+#define PI 3.1415926535
+#ifndef M_SQRT1_2
+#define M_SQRT1_2 0.70710678118654752440f
+#endif
+void fft1D_512(TYPE work_x[512], TYPE work_y[512]);
+
+////////////////////////////////////////////////////////////////////////////////
+// Test harness interface code.
+
+struct bench_args_t {
+ TYPE work_x[512];
+ TYPE work_y[512];
+};
+int INPUT_SIZE = sizeof(struct bench_args_t);
+
+void run_benchmark( void *vargs ) {
+ struct bench_args_t *args = (struct bench_args_t *)vargs;
+ fft1D_512( args->work_x, args->work_y);
+}
+
+//////////////////////////////////////////////////////////////////////////////// \ No newline at end of file