Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
e600beb4
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e600beb4
编写于
6月 20, 2013
作者:
R
Roman Donchenko
提交者:
OpenCV Buildbot
6月 20, 2013
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1017 from jet47:fix-gpu-warnings
上级
1d9660c6
1492b204
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
62 addition
and
175 deletion
+62
-175
modules/gpu/include/opencv2/gpu/device/limits.hpp
modules/gpu/include/opencv2/gpu/device/limits.hpp
+59
-172
modules/gpu/src/nvidia/core/NCV.hpp
modules/gpu/src/nvidia/core/NCV.hpp
+1
-1
modules/gpu/src/nvidia/core/NCVPixelOperations.hpp
modules/gpu/src/nvidia/core/NCVPixelOperations.hpp
+2
-2
未找到文件。
modules/gpu/include/opencv2/gpu/device/limits.hpp
浏览文件 @
e600beb4
...
...
@@ -43,193 +43,80 @@
#ifndef __OPENCV_GPU_LIMITS_GPU_HPP__
#define __OPENCV_GPU_LIMITS_GPU_HPP__
#include <limits>
#include <limits.h>
#include <float.h>
#include "common.hpp"
namespace
cv
{
namespace
gpu
{
namespace
device
{
template
<
class
T
>
struct
numeric_limits
{
typedef
T
type
;
__device__
__forceinline__
static
type
min
()
{
return
type
();
};
__device__
__forceinline__
static
type
max
()
{
return
type
();
};
__device__
__forceinline__
static
type
epsilon
()
{
return
type
();
}
__device__
__forceinline__
static
type
round_error
()
{
return
type
();
}
__device__
__forceinline__
static
type
denorm_min
()
{
return
type
();
}
__device__
__forceinline__
static
type
infinity
()
{
return
type
();
}
__device__
__forceinline__
static
type
quiet_NaN
()
{
return
type
();
}
__device__
__forceinline__
static
type
signaling_NaN
()
{
return
T
();
}
static
const
bool
is_signed
;
};
template
<
>
struct
numeric_limits
<
bool
>
{
typedef
bool
type
;
__device__
__forceinline__
static
type
min
()
{
return
false
;
};
__device__
__forceinline__
static
type
max
()
{
return
true
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
static
const
bool
is_signed
=
false
;
};
template
<
>
struct
numeric_limits
<
char
>
{
typedef
char
type
;
__device__
__forceinline__
static
type
min
()
{
return
CHAR_MIN
;
};
__device__
__forceinline__
static
type
max
()
{
return
CHAR_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
static
const
bool
is_signed
=
(
char
)
-
1
==
-
1
;
};
template
<
class
T
>
struct
numeric_limits
;
template
<
>
struct
numeric_limits
<
signed
char
>
{
typedef
char
type
;
__device__
__forceinline__
static
type
min
()
{
return
SCHAR_MIN
;
};
__device__
__forceinline__
static
type
max
()
{
return
SCHAR_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
static
const
bool
is_signed
=
(
signed
char
)
-
1
==
-
1
;
};
template
<
>
struct
numeric_limits
<
unsigned
char
>
{
typedef
unsigned
char
type
;
__device__
__forceinline__
static
type
min
()
{
return
0
;
};
__device__
__forceinline__
static
type
max
()
{
return
UCHAR_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
bool
>
{
__device__
__forceinline__
static
bool
min
()
{
return
false
;
}
__device__
__forceinline__
static
bool
max
()
{
return
true
;
}
static
const
bool
is_signed
=
false
;
};
};
template
<
>
struct
numeric_limits
<
short
>
{
typedef
short
type
;
__device__
__forceinline__
static
type
min
()
{
return
SHRT_MIN
;
};
__device__
__forceinline__
static
type
max
()
{
return
SHRT_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
signed
char
>
{
__device__
__forceinline__
static
signed
char
min
()
{
return
SCHAR_MIN
;
}
__device__
__forceinline__
static
signed
char
max
()
{
return
SCHAR_MAX
;
}
static
const
bool
is_signed
=
true
;
};
};
template
<
>
struct
numeric_limits
<
unsigned
short
>
{
typedef
unsigned
short
type
;
__device__
__forceinline__
static
type
min
()
{
return
0
;
};
__device__
__forceinline__
static
type
max
()
{
return
USHRT_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
unsigned
char
>
{
__device__
__forceinline__
static
unsigned
char
min
()
{
return
0
;
}
__device__
__forceinline__
static
unsigned
char
max
()
{
return
UCHAR_MAX
;
}
static
const
bool
is_signed
=
false
;
};
};
template
<
>
struct
numeric_limits
<
int
>
{
typedef
int
type
;
__device__
__forceinline__
static
type
min
()
{
return
INT_MIN
;
};
__device__
__forceinline__
static
type
max
()
{
return
INT_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
short
>
{
__device__
__forceinline__
static
short
min
()
{
return
SHRT_MIN
;
}
__device__
__forceinline__
static
short
max
()
{
return
SHRT_MAX
;
}
static
const
bool
is_signed
=
true
;
};
};
template
<
>
struct
numeric_limits
<
unsigned
int
>
{
typedef
unsigned
int
type
;
__device__
__forceinline__
static
type
min
()
{
return
0
;
};
__device__
__forceinline__
static
type
max
()
{
return
UINT_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
unsigned
short
>
{
__device__
__forceinline__
static
unsigned
short
min
()
{
return
0
;
}
__device__
__forceinline__
static
unsigned
short
max
()
{
return
USHRT_MAX
;
}
static
const
bool
is_signed
=
false
;
};
};
template
<
>
struct
numeric_limits
<
long
>
{
typedef
long
type
;
__device__
__forceinline__
static
type
min
()
{
return
LONG_MIN
;
};
__device__
__forceinline__
static
type
max
()
{
return
LONG_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
int
>
{
__device__
__forceinline__
static
int
min
()
{
return
INT_MIN
;
}
__device__
__forceinline__
static
int
max
()
{
return
INT_MAX
;
}
static
const
bool
is_signed
=
true
;
};
};
template
<
>
struct
numeric_limits
<
unsigned
long
>
{
typedef
unsigned
long
type
;
__device__
__forceinline__
static
type
min
()
{
return
0
;
};
__device__
__forceinline__
static
type
max
()
{
return
ULONG_MAX
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
unsigned
int
>
{
__device__
__forceinline__
static
unsigned
int
min
()
{
return
0
;
}
__device__
__forceinline__
static
unsigned
int
max
()
{
return
UINT_MAX
;
}
static
const
bool
is_signed
=
false
;
};
};
template
<
>
struct
numeric_limits
<
float
>
{
typedef
float
type
;
__device__
__forceinline__
static
type
min
()
{
return
1.175494351e-38
f
/*FLT_MIN*/
;
};
__device__
__forceinline__
static
type
max
()
{
return
3.402823466e+38
f
/*FLT_MAX*/
;
};
__device__
__forceinline__
static
type
epsilon
()
{
return
1.192092896e-07
f
/*FLT_EPSILON*/
;
};
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
float
>
{
__device__
__forceinline__
static
float
min
()
{
return
FLT_MIN
;
}
__device__
__forceinline__
static
float
max
()
{
return
FLT_MAX
;
}
__device__
__forceinline__
static
float
epsilon
()
{
return
FLT_EPSILON
;
}
static
const
bool
is_signed
=
true
;
};
};
template
<
>
struct
numeric_limits
<
double
>
{
typedef
double
type
;
__device__
__forceinline__
static
type
min
()
{
return
2.2250738585072014e-308
/*DBL_MIN*/
;
};
__device__
__forceinline__
static
type
max
()
{
return
1.7976931348623158e+308
/*DBL_MAX*/
;
};
__device__
__forceinline__
static
type
epsilon
();
__device__
__forceinline__
static
type
round_error
();
__device__
__forceinline__
static
type
denorm_min
();
__device__
__forceinline__
static
type
infinity
();
__device__
__forceinline__
static
type
quiet_NaN
();
__device__
__forceinline__
static
type
signaling_NaN
();
template
<
>
struct
numeric_limits
<
double
>
{
__device__
__forceinline__
static
double
min
()
{
return
DBL_MIN
;
}
__device__
__forceinline__
static
double
max
()
{
return
DBL_MAX
;
}
__device__
__forceinline__
static
double
epsilon
()
{
return
DBL_EPSILON
;
}
static
const
bool
is_signed
=
true
;
};
};
}}}
// namespace cv { namespace gpu { namespace device {
#endif // __OPENCV_GPU_LIMITS_GPU_HPP__
modules/gpu/src/nvidia/core/NCV.hpp
浏览文件 @
e600beb4
...
...
@@ -130,7 +130,7 @@ typedef int Ncv32s;
typedef
unsigned
int
Ncv32u
;
typedef
short
Ncv16s
;
typedef
unsigned
short
Ncv16u
;
typedef
char
Ncv8s
;
typedef
signed
char
Ncv8s
;
typedef
unsigned
char
Ncv8u
;
typedef
float
Ncv32f
;
typedef
double
Ncv64f
;
...
...
modules/gpu/src/nvidia/core/NCVPixelOperations.hpp
浏览文件 @
e600beb4
...
...
@@ -51,7 +51,7 @@ template<typename TBase> inline __host__ __device__ TBase _pixMaxVal();
template
<
>
static
inline
__host__
__device__
Ncv8u
_pixMaxVal
<
Ncv8u
>
()
{
return
UCHAR_MAX
;}
template
<
>
static
inline
__host__
__device__
Ncv16u
_pixMaxVal
<
Ncv16u
>
()
{
return
USHRT_MAX
;}
template
<
>
static
inline
__host__
__device__
Ncv32u
_pixMaxVal
<
Ncv32u
>
()
{
return
UINT_MAX
;}
template
<
>
static
inline
__host__
__device__
Ncv8s
_pixMaxVal
<
Ncv8s
>
()
{
return
CHAR_MAX
;}
template
<
>
static
inline
__host__
__device__
Ncv8s
_pixMaxVal
<
Ncv8s
>
()
{
return
S
CHAR_MAX
;}
template
<
>
static
inline
__host__
__device__
Ncv16s
_pixMaxVal
<
Ncv16s
>
()
{
return
SHRT_MAX
;}
template
<
>
static
inline
__host__
__device__
Ncv32s
_pixMaxVal
<
Ncv32s
>
()
{
return
INT_MAX
;}
template
<
>
static
inline
__host__
__device__
Ncv32f
_pixMaxVal
<
Ncv32f
>
()
{
return
FLT_MAX
;}
...
...
@@ -61,7 +61,7 @@ template<typename TBase> inline __host__ __device__ TBase _pixMinVal();
template
<
>
static
inline
__host__
__device__
Ncv8u
_pixMinVal
<
Ncv8u
>
()
{
return
0
;}
template
<
>
static
inline
__host__
__device__
Ncv16u
_pixMinVal
<
Ncv16u
>
()
{
return
0
;}
template
<
>
static
inline
__host__
__device__
Ncv32u
_pixMinVal
<
Ncv32u
>
()
{
return
0
;}
template
<
>
static
inline
__host__
__device__
Ncv8s
_pixMinVal
<
Ncv8s
>
()
{
return
CHAR_MIN
;}
template
<
>
static
inline
__host__
__device__
Ncv8s
_pixMinVal
<
Ncv8s
>
()
{
return
S
CHAR_MIN
;}
template
<
>
static
inline
__host__
__device__
Ncv16s
_pixMinVal
<
Ncv16s
>
()
{
return
SHRT_MIN
;}
template
<
>
static
inline
__host__
__device__
Ncv32s
_pixMinVal
<
Ncv32s
>
()
{
return
INT_MIN
;}
template
<
>
static
inline
__host__
__device__
Ncv32f
_pixMinVal
<
Ncv32f
>
()
{
return
FLT_MIN
;}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录