[arrayfire] 18/26: Fixing bug in linear interpolation functions
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Tue Jul 7 13:59:24 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch master
in repository arrayfire.
commit 4dbc1c81ea958bf753f4e8e092c3381a67baf5d1
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date: Wed Jun 24 14:32:36 2015 -0400
Fixing bug in linear interpolation functions
---
src/backend/cpu/approx.cpp | 4 ++--
src/backend/cpu/transform_interp.hpp | 2 +-
src/backend/cuda/kernel/approx.hpp | 4 ++--
src/backend/cuda/kernel/transform_interp.hpp | 6 +++---
src/backend/opencl/kernel/approx1.cl | 2 +-
src/backend/opencl/kernel/approx2.cl | 2 +-
src/backend/opencl/kernel/transform_interp.cl | 2 +-
7 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/backend/cpu/approx.cpp b/src/backend/cpu/approx.cpp
index 050b3e1..69b943a 100644
--- a/src/backend/cpu/approx.cpp
+++ b/src/backend/cpu/approx.cpp
@@ -85,7 +85,7 @@ namespace cpu
gFlag = true;
}
- const Tp grid_x = floor(x); // nearest grid
+ const int grid_x = floor(x); // nearest grid
const Tp off_x = x - grid_x; // fractional offset
for(dim_t idw = 0; idw < odims[3]; idw++) {
@@ -231,7 +231,7 @@ namespace cpu
gFlag = true;
}
- const Tp grid_x = floor(x), grid_y = floor(y); // nearest grid
+ const int grid_x = floor(x), grid_y = floor(y); // nearest grid
const Tp off_x = x - grid_x, off_y = y - grid_y; // fractional offset
// Check if pVal and pVal + 1 are both valid indices
diff --git a/src/backend/cpu/transform_interp.hpp b/src/backend/cpu/transform_interp.hpp
index 8ae8eb9..23df154 100644
--- a/src/backend/cpu/transform_interp.hpp
+++ b/src/backend/cpu/transform_interp.hpp
@@ -85,7 +85,7 @@ namespace cpu
typedef wtype_t<BT> WT;
typedef vtype_t<T> VT;
- const WT grd_x = floor(xi), grd_y = floor(yi);
+ const dim_t grd_x = floor(xi), grd_y = floor(yi);
const WT off_x = xi - grd_x, off_y = yi - grd_y;
dim_t loci = grd_y * istrides[1] + grd_x;
diff --git a/src/backend/cuda/kernel/approx.hpp b/src/backend/cuda/kernel/approx.hpp
index b3dfc96..1ad7061 100644
--- a/src/backend/cuda/kernel/approx.hpp
+++ b/src/backend/cuda/kernel/approx.hpp
@@ -92,7 +92,7 @@ namespace cuda
return;
}
- const Tp grid_x = floor(pVal); // nearest grid
+ const int grid_x = floor(pVal); // nearest grid
const Tp off_x = pVal - grid_x; // fractional offset
int ioff = idw * in.strides[3] + idz * in.strides[2] + idy * in.strides[1] + grid_x;
@@ -126,7 +126,7 @@ namespace cuda
return;
}
- const Tp grid_x = floor(x), grid_y = floor(y); // nearest grid
+ const int grid_x = floor(x), grid_y = floor(y); // nearest grid
const Tp off_x = x - grid_x, off_y = y - grid_y; // fractional offset
int ioff = idw * in.strides[3] + idz * in.strides[2] + grid_y * in.strides[1] + grid_x;
diff --git a/src/backend/cuda/kernel/transform_interp.hpp b/src/backend/cuda/kernel/transform_interp.hpp
index e917508..5448bff 100644
--- a/src/backend/cuda/kernel/transform_interp.hpp
+++ b/src/backend/cuda/kernel/transform_interp.hpp
@@ -98,12 +98,12 @@ namespace cuda
typedef typename itype_t<T>::wtype WT;
typedef typename itype_t<T>::vtype VT;
- const WT grd_x = floor(xidi), grd_y = floor(yidi);
+ const int grd_x = floor(xidi), grd_y = floor(yidi);
const WT off_x = xidi - grd_x, off_y = yidi - grd_y;
// Check if pVal and pVal + 1 are both valid indices
- const bool condY = (yidi < in.dims[1] - 1);
- const bool condX = (xidi < in.dims[0] - 1);
+ const bool condY = (yidi < (in.dims[1] - 1));
+ const bool condX = (xidi < (in.dims[0] - 1));
// Compute weights used
const WT wt00 = (1.0 - off_x) * (1.0 - off_y);
diff --git a/src/backend/opencl/kernel/approx1.cl b/src/backend/opencl/kernel/approx1.cl
index bae2722..b39d803 100644
--- a/src/backend/opencl/kernel/approx1.cl
+++ b/src/backend/opencl/kernel/approx1.cl
@@ -75,7 +75,7 @@ void core_linear1(const int idx, const int idy, const int idz, const int idw,
return;
}
- const Tp grid_x = floor(pVal); // nearest grid
+ const int grid_x = floor(pVal); // nearest grid
const Tp off_x = pVal - grid_x; // fractional offset
int ioff = idw * in.strides[3] + idz * in.strides[2] + idy * in.strides[1] + grid_x;
diff --git a/src/backend/opencl/kernel/approx2.cl b/src/backend/opencl/kernel/approx2.cl
index 2d2d7e8..13d71af 100644
--- a/src/backend/opencl/kernel/approx2.cl
+++ b/src/backend/opencl/kernel/approx2.cl
@@ -80,7 +80,7 @@ void core_linear2(const int idx, const int idy, const int idz, const int idw,
return;
}
- const Tp grid_x = floor(x), grid_y = floor(y); // nearest grid
+ const int grid_x = floor(x), grid_y = floor(y); // nearest grid
const Tp off_x = x - grid_x, off_y = y - grid_y; // fractional offset
int ioff = idw * in.strides[3] + idz * in.strides[2] + grid_y * in.strides[1] + grid_x;
diff --git a/src/backend/opencl/kernel/transform_interp.cl b/src/backend/opencl/kernel/transform_interp.cl
index 9bd7443..e7db270 100644
--- a/src/backend/opencl/kernel/transform_interp.cl
+++ b/src/backend/opencl/kernel/transform_interp.cl
@@ -69,7 +69,7 @@ void transform_b(__global T *d_out, const KParam out, __global const T *d_in, co
return;
}
- const WT grd_x = floor(xid), grd_y = floor(yid);
+ const int grd_x = floor(xid), grd_y = floor(yid);
const WT off_x = xid - grd_x, off_y = yid - grd_y;
// Check if pVal and pVal + 1 are both valid indices
--
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