Fixed some implicitly type conversions between vector and scalar data type.
authorZhigang Gong <zhigang.gong@intel.com>
Tue, 3 Dec 2013 02:49:51 +0000 (10:49 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Thu, 5 Dec 2013 01:35:21 +0000 (09:35 +0800)
There are some mixed implicitly/explicitly type conversion between
scalar and vector. Although the spec allows those conversion, I prefer
to make them consistent and use explicitly all the cases.

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
modules/ocl/src/opencl/imgproc_threshold.cl

index 63e4102..85631be 100644 (file)
@@ -74,11 +74,11 @@ __kernel void threshold(__global const T * restrict src, int src_offset, int src
         VT vthresh = (VT)(thresh);
 
 #ifdef THRESH_BINARY
-        VT vecValue = sdata > vthresh ? max_val : (VT)(0);
+        VT vecValue = sdata > vthresh ? (VT)max_val : (VT)(0);
 #elif defined THRESH_BINARY_INV
-        VT vecValue = sdata > vthresh ? (VT)(0) : max_val;
+        VT vecValue = sdata > vthresh ? (VT)(0) : (VT)max_val;
 #elif defined THRESH_TRUNC
-        VT vecValue = sdata > vthresh ? thresh : sdata;
+        VT vecValue = sdata > vthresh ? (VT)thresh : sdata;
 #elif defined THRESH_TOZERO
         VT vecValue = sdata > vthresh ? sdata : (VT)(0);
 #elif defined THRESH_TOZERO_INV