summaryrefslogtreecommitdiff
path: root/math/ffts/patches
diff options
context:
space:
mode:
authorgson <gson@pkgsrc.org>2016-01-22 14:57:41 +0000
committergson <gson@pkgsrc.org>2016-01-22 14:57:41 +0000
commit1bf92aafdd3b463fa70e310522ab716744b7ce7c (patch)
tree06f587045756e9dca28e681100d6f83baaa9bab5 /math/ffts/patches
parent636d6538fc9a3f2ddccbb6e1de19b7d3cc8f80ba (diff)
downloadpkgsrc-1bf92aafdd3b463fa70e310522ab716744b7ce7c.tar.gz
Initial import of ffts.
ffts is a BSD-licensed Fast Fourier Transform library based on dynamic generation of SIMD code, supporting Intel SSE and ARM Neon.
Diffstat (limited to 'math/ffts/patches')
-rw-r--r--math/ffts/patches/patch-src_codegen.c15
-rw-r--r--math/ffts/patches/patch-tests_test.c33
2 files changed, 48 insertions, 0 deletions
diff --git a/math/ffts/patches/patch-src_codegen.c b/math/ffts/patches/patch-src_codegen.c
new file mode 100644
index 00000000000..796bf6348e5
--- /dev/null
+++ b/math/ffts/patches/patch-src_codegen.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_codegen.c,v 1.1 2016/01/22 14:57:41 gson Exp $
+
+Provide the appropriate arguents to mmap on NetBSD.
+
+--- src/codegen.c.orig 2014-01-05 22:32:16.000000000 +0000
++++ src/codegen.c
+@@ -181,6 +181,8 @@ void ffts_generate_func_code(ffts_plan_t
+
+ #ifdef __APPLE__
+ p->transform_base = mmap(NULL, p->transform_size, PROT_WRITE | PROT_READ, MAP_ANON | MAP_SHARED, -1, 0);
++#elif defined(__NetBSD__)
++ p->transform_base = mmap(NULL, p->transform_size, PROT_WRITE | PROT_READ | PROT_EXEC, MAP_ANON | MAP_SHARED, -1, 0);
+ #else
+ #define MAP_ANONYMOUS 0x20
+ p->transform_base = mmap(NULL, p->transform_size, PROT_WRITE | PROT_READ, MAP_ANONYMOUS | MAP_SHARED, -1, 0);
diff --git a/math/ffts/patches/patch-tests_test.c b/math/ffts/patches/patch-tests_test.c
new file mode 100644
index 00000000000..ed0dc09bab1
--- /dev/null
+++ b/math/ffts/patches/patch-tests_test.c
@@ -0,0 +1,33 @@
+$NetBSD: patch-tests_test.c,v 1.1 2016/01/22 14:57:41 gson Exp $
+
+NetBSD lacks sinl(), cosl(), and sqrtl().
+
+--- tests/test.c.orig 2014-01-05 22:32:16.000000000 +0000
++++ tests/test.c
+@@ -44,7 +44,7 @@
+ #define PI 3.1415926535897932384626433832795028841971693993751058209
+
+ float impulse_error(int N, int sign, float *data) {
+-#ifdef __ANDROID__
++#if defined(__ANDROID__) || defined(__NetBSD__)
+ double delta_sum = 0.0f;
+ double sum = 0.0f;
+ #else
+@@ -54,7 +54,7 @@ float impulse_error(int N, int sign, flo
+
+ int i;
+ for(i=0;i<N;i++) {
+-#ifdef __ANDROID__
++#if defined(__ANDROID__) || defined(__NetBSD__)
+ double re, im;
+ if(sign < 0) {
+ re = cos(2 * PI * (double)i / (double)N);
+@@ -81,7 +81,7 @@ float impulse_error(int N, int sign, flo
+ delta_sum += re * re + im * im;
+
+ }
+-#ifdef __ANDROID__
++#if defined(__ANDROID__) || defined(__NetBSD__)
+ return sqrt(delta_sum) / sqrt(sum);
+ #else
+ return sqrtl(delta_sum) / sqrtl(sum);