Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
e600beb4
Commit
e600beb4
authored
Jun 20, 2013
by
Roman Donchenko
Committed by
OpenCV Buildbot
Jun 20, 2013
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1017 from jet47:fix-gpu-warnings
parents
1d9660c6
1492b204
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
167 deletions
+54
-167
limits.hpp
modules/gpu/include/opencv2/gpu/device/limits.hpp
+51
-164
NCV.hpp
modules/gpu/src/nvidia/core/NCV.hpp
+1
-1
NCVPixelOperations.hpp
modules/gpu/src/nvidia/core/NCVPixelOperations.hpp
+2
-2
No files found.
modules/gpu/include/opencv2/gpu/device/limits.hpp
View file @
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
View file @
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
View file @
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
;}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment