fix BORDER_WRAP processing on Maxwell generation

This commit is contained in:
Vladislav Vinogradov 2015-11-27 16:45:26 +03:00
parent 7ddc2cc073
commit 2afb02fcb4
2 changed files with 6 additions and 6 deletions

View File

@ -632,12 +632,12 @@ namespace cv { namespace cuda { namespace device
__device__ __forceinline__ int idx_row_low(int y) const
{
return (y >= 0) * y + (y < 0) * (y - ((y - height + 1) / height) * height);
return (y >= 0) ? y : (y - ((y - height + 1) / height) * height);
}
__device__ __forceinline__ int idx_row_high(int y) const
{
return (y < height) * y + (y >= height) * (y % height);
return (y < height) ? y : (y % height);
}
__device__ __forceinline__ int idx_row(int y) const
@ -647,12 +647,12 @@ namespace cv { namespace cuda { namespace device
__device__ __forceinline__ int idx_col_low(int x) const
{
return (x >= 0) * x + (x < 0) * (x - ((x - width + 1) / width) * width);
return (x >= 0) ? x : (x - ((x - width + 1) / width) * width);
}
__device__ __forceinline__ int idx_col_high(int x) const
{
return (x < width) * x + (x >= width) * (x % width);
return (x < width) ? x : (x % width);
}
__device__ __forceinline__ int idx_col(int x) const

View File

@ -198,12 +198,12 @@ struct BrdWrap
{
__device__ __forceinline__ static int idx_low(int i, int len)
{
return (i >= 0) * i + (i < 0) * (i - ((i - len + 1) / len) * len);
return (i >= 0) ? i : (i - ((i - len + 1) / len) * len);
}
__device__ __forceinline__ static int idx_high(int i, int len)
{
return (i < len) * i + (i >= len) * (i % len);
return (i < len) ? i : (i % len);
}
};