aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/fft/fft.h
diff options
context:
space:
mode:
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