[arrayfire] 176/248: Add intl/uintl to convolve and fftconvolve

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Tue Nov 17 15:54:24 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch dfsg-clean
in repository arrayfire.

commit 401f1300da45be086bd9f8689f8ed7bf87f32f8c
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date:   Wed Oct 21 17:34:16 2015 -0400

    Add intl/uintl to convolve and fftconvolve
---
 src/api/c/convolve.cpp                           |  4 ++++
 src/api/c/fftconvolve.cpp                        |  2 ++
 src/backend/cpu/convolve.cpp                     |  2 ++
 src/backend/cuda/convolve.cpp                    |  2 ++
 src/backend/cuda/fftconvolve.cu                  |  2 ++
 src/backend/cuda/kernel/convolve.cu              |  2 ++
 src/backend/cuda/kernel/convolve_separable.cu    |  2 ++
 src/backend/opencl/convolve.cpp                  |  2 ++
 src/backend/opencl/convolve_separable.cpp        |  2 ++
 src/backend/opencl/fftconvolve.cpp               |  2 ++
 src/backend/opencl/kernel/convolve/conv1.cpp     |  2 ++
 src/backend/opencl/kernel/convolve/conv2_s64.cpp | 23 +++++++++++++++++++++++
 src/backend/opencl/kernel/convolve/conv2_u64.cpp | 23 +++++++++++++++++++++++
 src/backend/opencl/kernel/convolve/conv3.cpp     |  2 ++
 src/backend/opencl/kernel/convolve_separable.cpp |  2 ++
 test/convolve.cpp                                |  2 +-
 test/fftconvolve.cpp                             |  2 +-
 17 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/src/api/c/convolve.cpp b/src/api/c/convolve.cpp
index 3639008..750552d 100644
--- a/src/api/c/convolve.cpp
+++ b/src/api/c/convolve.cpp
@@ -87,6 +87,8 @@ af_err convolve(af_array *out, const af_array signal, const af_array filter)
             case s32: output = convolve<int    ,   float, baseDim, expand>(signal, filter, convBT); break;
             case u16: output = convolve<ushort ,   float, baseDim, expand>(signal, filter, convBT); break;
             case s16: output = convolve<short  ,   float, baseDim, expand>(signal, filter, convBT); break;
+            case u64: output = convolve<uintl  ,   float, baseDim, expand>(signal, filter, convBT); break;
+            case s64: output = convolve<intl   ,   float, baseDim, expand>(signal, filter, convBT); break;
             case u8:  output = convolve<uchar  ,   float, baseDim, expand>(signal, filter, convBT); break;
             case b8:  output = convolve<char   ,   float, baseDim, expand>(signal, filter, convBT); break;
             default: TYPE_ERROR(1, stype);
@@ -124,6 +126,8 @@ af_err convolve2_sep(af_array *out, af_array col_filter, af_array row_filter, co
             case s32: output = convolve2<int    ,   float, expand>(signal, col_filter, row_filter); break;
             case u16: output = convolve2<ushort ,   float, expand>(signal, col_filter, row_filter); break;
             case s16: output = convolve2<short  ,   float, expand>(signal, col_filter, row_filter); break;
+            case u64: output = convolve2<uintl  ,   float, expand>(signal, col_filter, row_filter); break;
+            case s64: output = convolve2<intl   ,   float, expand>(signal, col_filter, row_filter); break;
             case u8:  output = convolve2<uchar  ,   float, expand>(signal, col_filter, row_filter); break;
             case b8:  output = convolve2<char   ,   float, expand>(signal, col_filter, row_filter); break;
             default: TYPE_ERROR(1, signalType);
diff --git a/src/api/c/fftconvolve.cpp b/src/api/c/fftconvolve.cpp
index 2d9f2f6..a740105 100644
--- a/src/api/c/fftconvolve.cpp
+++ b/src/api/c/fftconvolve.cpp
@@ -143,6 +143,8 @@ af_err fft_convolve(af_array *out, const af_array signal, const af_array filter,
             case f32: output = fftconvolve<float , float,  cfloat,  false, false, baseDim>(signal, filter, expand, convBT); break;
             case u32: output = fftconvolve<uint  , float,  cfloat,  false, true,  baseDim>(signal, filter, expand, convBT); break;
             case s32: output = fftconvolve<int   , float,  cfloat,  false, true,  baseDim>(signal, filter, expand, convBT); break;
+            case u64: output = fftconvolve<uintl , float,  cfloat,  false, true,  baseDim>(signal, filter, expand, convBT); break;
+            case s64: output = fftconvolve<intl  , float,  cfloat,  false, true,  baseDim>(signal, filter, expand, convBT); break;
             case u16: output = fftconvolve<ushort, float,  cfloat,  false, true,  baseDim>(signal, filter, expand, convBT); break;
             case s16: output = fftconvolve<short , float,  cfloat,  false, true,  baseDim>(signal, filter, expand, convBT); break;
             case u8:  output = fftconvolve<uchar , float,  cfloat,  false, true,  baseDim>(signal, filter, expand, convBT); break;
diff --git a/src/backend/cpu/convolve.cpp b/src/backend/cpu/convolve.cpp
index 3ab44c8..77d7daa 100644
--- a/src/backend/cpu/convolve.cpp
+++ b/src/backend/cpu/convolve.cpp
@@ -321,5 +321,7 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
diff --git a/src/backend/cuda/convolve.cpp b/src/backend/cuda/convolve.cpp
index 23f470f..5f2e57c 100644
--- a/src/backend/cuda/convolve.cpp
+++ b/src/backend/cuda/convolve.cpp
@@ -98,5 +98,7 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
diff --git a/src/backend/cuda/fftconvolve.cu b/src/backend/cuda/fftconvolve.cu
index 3dde4ab..57fcb10 100644
--- a/src/backend/cuda/fftconvolve.cu
+++ b/src/backend/cuda/fftconvolve.cu
@@ -121,5 +121,7 @@ INSTANTIATE(uchar , float,  cfloat,  false, true)
 INSTANTIATE(char  , float,  cfloat,  false, true)
 INSTANTIATE(ushort, float,  cfloat,  false, true)
 INSTANTIATE(short , float,  cfloat,  false, true)
+INSTANTIATE(uintl , float,  cfloat,  false, true)
+INSTANTIATE(intl  , float,  cfloat,  false, true)
 
 }
diff --git a/src/backend/cuda/kernel/convolve.cu b/src/backend/cuda/kernel/convolve.cu
index 329287d..468ae2b 100644
--- a/src/backend/cuda/kernel/convolve.cu
+++ b/src/backend/cuda/kernel/convolve.cu
@@ -503,6 +503,8 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
 
diff --git a/src/backend/cuda/kernel/convolve_separable.cu b/src/backend/cuda/kernel/convolve_separable.cu
index 196d60a..654ec09 100644
--- a/src/backend/cuda/kernel/convolve_separable.cu
+++ b/src/backend/cuda/kernel/convolve_separable.cu
@@ -190,6 +190,8 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
 
diff --git a/src/backend/opencl/convolve.cpp b/src/backend/opencl/convolve.cpp
index 8ef425a..18d719e 100644
--- a/src/backend/opencl/convolve.cpp
+++ b/src/backend/opencl/convolve.cpp
@@ -79,5 +79,7 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
diff --git a/src/backend/opencl/convolve_separable.cpp b/src/backend/opencl/convolve_separable.cpp
index 68effb7..6b52168 100644
--- a/src/backend/opencl/convolve_separable.cpp
+++ b/src/backend/opencl/convolve_separable.cpp
@@ -65,5 +65,7 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(short  ,   float)
 INSTANTIATE(ushort ,   float)
+INSTANTIATE(intl   ,   float)
+INSTANTIATE(uintl  ,   float)
 
 }
diff --git a/src/backend/opencl/fftconvolve.cpp b/src/backend/opencl/fftconvolve.cpp
index e86f1d4..f824f75 100644
--- a/src/backend/opencl/fftconvolve.cpp
+++ b/src/backend/opencl/fftconvolve.cpp
@@ -138,5 +138,7 @@ INSTANTIATE(uchar , float,  cfloat,  false, true)
 INSTANTIATE(char  , float,  cfloat,  false, true)
 INSTANTIATE(ushort, float,  cfloat,  false, true)
 INSTANTIATE(short , float,  cfloat,  false, true)
+INSTANTIATE(uintl , float,  cfloat,  false, true)
+INSTANTIATE(intl  , float,  cfloat,  false, true)
 
 }
diff --git a/src/backend/opencl/kernel/convolve/conv1.cpp b/src/backend/opencl/kernel/convolve/conv1.cpp
index fc3218c..86329c3 100644
--- a/src/backend/opencl/kernel/convolve/conv1.cpp
+++ b/src/backend/opencl/kernel/convolve/conv1.cpp
@@ -64,6 +64,8 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
 
diff --git a/src/backend/opencl/kernel/convolve/conv2_s64.cpp b/src/backend/opencl/kernel/convolve/conv2_s64.cpp
new file mode 100644
index 0000000..1bd4b53
--- /dev/null
+++ b/src/backend/opencl/kernel/convolve/conv2_s64.cpp
@@ -0,0 +1,23 @@
+/*******************************************************
+ * Copyright (c) 2014, ArrayFire
+ * All rights reserved.
+ *
+ * This file is distributed under 3-clause BSD license.
+ * The complete license agreement can be obtained at:
+ * http://arrayfire.com/licenses/BSD-3-Clause
+ ********************************************************/
+
+#include <kernel/convolve/conv2_impl.hpp>
+
+namespace opencl
+{
+
+namespace kernel
+{
+
+INSTANTIATE(intl, float)
+
+}
+
+}
+
diff --git a/src/backend/opencl/kernel/convolve/conv2_u64.cpp b/src/backend/opencl/kernel/convolve/conv2_u64.cpp
new file mode 100644
index 0000000..62fe737
--- /dev/null
+++ b/src/backend/opencl/kernel/convolve/conv2_u64.cpp
@@ -0,0 +1,23 @@
+/*******************************************************
+ * Copyright (c) 2014, ArrayFire
+ * All rights reserved.
+ *
+ * This file is distributed under 3-clause BSD license.
+ * The complete license agreement can be obtained at:
+ * http://arrayfire.com/licenses/BSD-3-Clause
+ ********************************************************/
+
+#include <kernel/convolve/conv2_impl.hpp>
+
+namespace opencl
+{
+
+namespace kernel
+{
+
+INSTANTIATE(uintl, float)
+
+}
+
+}
+
diff --git a/src/backend/opencl/kernel/convolve/conv3.cpp b/src/backend/opencl/kernel/convolve/conv3.cpp
index 18cd1b9..3c9645d 100644
--- a/src/backend/opencl/kernel/convolve/conv3.cpp
+++ b/src/backend/opencl/kernel/convolve/conv3.cpp
@@ -49,6 +49,8 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
 
diff --git a/src/backend/opencl/kernel/convolve_separable.cpp b/src/backend/opencl/kernel/convolve_separable.cpp
index c6dda6b..73dd220 100644
--- a/src/backend/opencl/kernel/convolve_separable.cpp
+++ b/src/backend/opencl/kernel/convolve_separable.cpp
@@ -127,6 +127,8 @@ INSTANTIATE(uchar  ,   float)
 INSTANTIATE(char   ,   float)
 INSTANTIATE(ushort ,   float)
 INSTANTIATE(short  ,   float)
+INSTANTIATE(uintl  ,   float)
+INSTANTIATE(intl   ,   float)
 
 }
 
diff --git a/test/convolve.cpp b/test/convolve.cpp
index 630742b..f3ff9fd 100644
--- a/test/convolve.cpp
+++ b/test/convolve.cpp
@@ -28,7 +28,7 @@ class Convolve : public ::testing::Test
 };
 
 // create a list of types to be tested
-typedef ::testing::Types<cdouble, cfloat, float, double, int, uint, char, uchar, short, ushort> TestTypes;
+typedef ::testing::Types<cdouble, cfloat, float, double, int, uint, char, uchar, short, ushort, intl, uintl> TestTypes;
 
 // register the type list
 TYPED_TEST_CASE(Convolve, TestTypes);
diff --git a/test/fftconvolve.cpp b/test/fftconvolve.cpp
index eb0e618..cd82ab2 100644
--- a/test/fftconvolve.cpp
+++ b/test/fftconvolve.cpp
@@ -35,7 +35,7 @@ class FFTConvolveLarge : public ::testing::Test
 };
 
 // create a list of types to be tested
-typedef ::testing::Types<cfloat, cdouble, float, double, int, uint, char, uchar> TestTypes;
+typedef ::testing::Types<cfloat, cdouble, float, double, int, uint, char, uchar, intl, uintl> TestTypes;
 typedef ::testing::Types<float, double> TestTypesLarge;
 
 // register the type list

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git



More information about the debian-science-commits mailing list