37 #ifndef PCL_DEVICE_NUMERIC_LIMITS_HPP_
38 #define PCL_DEVICE_NUMERIC_LIMITS_HPP_
44 template<
class T>
struct numeric_limits
47 __device__ __forceinline__
static type
min() {
return type(); };
48 __device__ __forceinline__
static type
max() {
return type(); };
49 __device__ __forceinline__
static type
epsilon() {
return type(); }
52 __device__ __forceinline__
static type
infinity() {
return type(); }
61 __device__ __forceinline__
static type
min() {
return false; };
62 __device__ __forceinline__
static type
max() {
return true; };
63 __device__ __forceinline__
static type
epsilon();
64 __device__ __forceinline__
static type
round_error();
65 __device__ __forceinline__
static type
denorm_min();
66 __device__ __forceinline__
static type
infinity();
67 __device__ __forceinline__
static type
quiet_NaN();
75 __device__ __forceinline__
static type
min() {
return CHAR_MIN; };
76 __device__ __forceinline__
static type
max() {
return CHAR_MAX; };
77 __device__ __forceinline__
static type
epsilon();
78 __device__ __forceinline__
static type
round_error();
79 __device__ __forceinline__
static type
denorm_min();
80 __device__ __forceinline__
static type
infinity();
81 __device__ __forceinline__
static type
quiet_NaN();
89 __device__ __forceinline__
static type
min() {
return CHAR_MIN; };
90 __device__ __forceinline__
static type
max() {
return CHAR_MAX; };
91 __device__ __forceinline__
static type
epsilon();
92 __device__ __forceinline__
static type
round_error();
93 __device__ __forceinline__
static type
denorm_min();
94 __device__ __forceinline__
static type
infinity();
95 __device__ __forceinline__
static type
quiet_NaN();
97 static const bool is_signed = (
signed char)-1 == -1;
103 __device__ __forceinline__
static type
min() {
return 0; };
104 __device__ __forceinline__
static type
max() {
return UCHAR_MAX; };
105 __device__ __forceinline__
static type
epsilon();
106 __device__ __forceinline__
static type
round_error();
107 __device__ __forceinline__
static type
denorm_min();
108 __device__ __forceinline__
static type
infinity();
109 __device__ __forceinline__
static type
quiet_NaN();
117 __device__ __forceinline__
static type
min() {
return SHRT_MIN; };
118 __device__ __forceinline__
static type
max() {
return SHRT_MAX; };
119 __device__ __forceinline__
static type
epsilon();
120 __device__ __forceinline__
static type
round_error();
121 __device__ __forceinline__
static type
denorm_min();
122 __device__ __forceinline__
static type
infinity();
123 __device__ __forceinline__
static type
quiet_NaN();
131 __device__ __forceinline__
static type
min() {
return 0; };
132 __device__ __forceinline__
static type
max() {
return USHRT_MAX; };
133 __device__ __forceinline__
static type
epsilon();
134 __device__ __forceinline__
static type
round_error();
135 __device__ __forceinline__
static type
denorm_min();
136 __device__ __forceinline__
static type
infinity();
137 __device__ __forceinline__
static type
quiet_NaN();
145 __device__ __forceinline__
static type
min() {
return INT_MIN; };
146 __device__ __forceinline__
static type
max() {
return INT_MAX; };
147 __device__ __forceinline__
static type
epsilon();
148 __device__ __forceinline__
static type
round_error();
149 __device__ __forceinline__
static type
denorm_min();
150 __device__ __forceinline__
static type
infinity();
151 __device__ __forceinline__
static type
quiet_NaN();
160 __device__ __forceinline__
static type
min() {
return 0; };
161 __device__ __forceinline__
static type
max() {
return UINT_MAX; };
162 __device__ __forceinline__
static type
epsilon();
163 __device__ __forceinline__
static type
round_error();
164 __device__ __forceinline__
static type
denorm_min();
165 __device__ __forceinline__
static type
infinity();
166 __device__ __forceinline__
static type
quiet_NaN();
174 __device__ __forceinline__
static type
min() {
return LONG_MIN; };
175 __device__ __forceinline__
static type
max() {
return LONG_MAX; };
176 __device__ __forceinline__
static type
epsilon();
177 __device__ __forceinline__
static type
round_error();
178 __device__ __forceinline__
static type
denorm_min();
179 __device__ __forceinline__
static type
infinity();
180 __device__ __forceinline__
static type
quiet_NaN();
188 __device__ __forceinline__
static type
min() {
return 0; };
189 __device__ __forceinline__
static type
max() {
return ULONG_MAX; };
190 __device__ __forceinline__
static type
epsilon();
191 __device__ __forceinline__
static type
round_error();
192 __device__ __forceinline__
static type
denorm_min();
193 __device__ __forceinline__
static type
infinity();
194 __device__ __forceinline__
static type
quiet_NaN();
202 __device__ __forceinline__
static type
min() {
return 1.175494351e-38f; };
203 __device__ __forceinline__
static type
max() {
return 3.402823466e+38f; };
204 __device__ __forceinline__
static type
epsilon() {
return 1.192092896e-07f; };
205 __device__ __forceinline__
static type
round_error();
206 __device__ __forceinline__
static type
denorm_min();
207 __device__ __forceinline__
static type
infinity() {
return __int_as_float(0x7f800000); };
208 __device__ __forceinline__
static type
quiet_NaN() {
return __int_as_float(0x7fffffff); };
216 __device__ __forceinline__
static type
min() {
return 2.2250738585072014e-308; };
217 __device__ __forceinline__
static type
max() {
return 1.7976931348623158e+308; };
218 __device__ __forceinline__
static type
epsilon() {
return 2.2204460492503131e-016 ; };
219 __device__ __forceinline__
static type
round_error();
220 __device__ __forceinline__
static type
denorm_min();
221 __device__ __forceinline__
static type
infinity();
222 __device__ __forceinline__
static type
quiet_NaN();
__device__ static __forceinline__ type epsilon()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type round_error()
static const bool is_signed
This file defines compatibility wrappers for low level I/O functions.
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type epsilon()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type epsilon()
__device__ static __forceinline__ type infinity()
__device__ static __forceinline__ type signaling_NaN()
__device__ static __forceinline__ type quiet_NaN()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type infinity()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type quiet_NaN()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type max()
__device__ static __forceinline__ type min()
__device__ static __forceinline__ type denorm_min()
__device__ static __forceinline__ type max()