Go to the documentation of this file.
43 return _isnan(
value) != 0;
56 return _finite(
value) != 0;
92 inline T uMax(
const T * v,
unsigned int size,
unsigned int & index)
101 for(
unsigned int i=1;
i<
size; ++
i)
120 inline T uMax(
const std::vector<T> & v,
unsigned int & index)
122 return uMax(
v.data(),
v->size(), index);
132 inline T uMax(
const T * v,
unsigned int size)
144 inline T uMax(
const std::vector<T> & v)
146 return uMax(
v.data(),
v.size());
157 inline T uMin(
const T * v,
unsigned int size,
unsigned int & index)
166 for(
unsigned int i=1;
i<
size; ++
i)
185 inline T uMin(
const std::vector<T> & v,
unsigned int & index)
187 return uMin(
v.data(),
v.size(), index);
197 inline T uMin(
const T * v,
unsigned int size)
209 inline T uMin(
const std::vector<T> & v)
211 return uMin(
v.data(),
v.size());
224 inline void uMinMax(
const T * v,
unsigned int size,
T &
min,
T &
max,
unsigned int & indexMin,
unsigned int & indexMax)
237 for(
unsigned int i=1;
i<
size; ++
i)
262 inline void uMinMax(
const std::vector<T> & v,
T &
min,
T &
max,
unsigned int & indexMin,
unsigned int & indexMax)
277 unsigned int indexMin;
278 unsigned int indexMax;
335 inline T uSum(
const T * v,
unsigned int size)
340 for(
unsigned int i=0;
i<
size; ++
i)
354 inline T uSum(
const std::vector<T> & v)
356 return uSum(
v.data(), (
int)
v.size());
372 for(
unsigned int i=0;
i<
size; ++
i)
374 sum += (
v[
i]-subtract)*(
v[
i]-subtract);
399 inline T uMean(
const T * v,
unsigned int size)
404 for(
unsigned int i=0;
i<
size; ++
i)
441 return uMean(
v.data(),
v.size());
456 if(
x &&
y && sizeX == sizeY)
458 for(
unsigned int i=0;
i<sizeX; ++
i)
495 for(
unsigned int i=0;
i<
size; ++
i)
497 sum += (
v[
i]-meanV)*(
v[
i]-meanV);
520 sum += (*
i-
m)*(*
i-
m);
561 for(
unsigned int i=0;
i<
v.size(); ++
i)
613 inline T uNorm(
const T & x1,
const T & x2,
const T & x3)
632 std::vector<T> r(
v.size());
633 for(
unsigned int i=0;
i<
v.size(); ++
i)
647 std::list<unsigned int> maxima;
650 for(
unsigned int i=0;
i<
size; ++
i)
661 else if(
i ==
size - 1)
664 if((
i >= 1 &&
v[
i] >
v[
i-1]) ||
710 if(!
vA || !
vB || sizeA == 0 || sizeB == 0)
712 return std::vector<T>();
715 std::vector<T>
result(sizeA + sizeB - 1);
745 for(
unsigned int i=0;
i<sizeA; ++
i)
752 posA = sizeA -
i - 1;
753 posB = sizeB -
i - 1;
756 for(
j=0; (
j + posB) < sizeB && (
j + posA) < sizeA; ++
j)
758 resultA += (
vA[
j] - meanA) * (
vB[
j + posB] - meanB);
759 resultB += (
vA[
j + posA] - meanA) * (
vB[
j] - meanB);
772 for(
unsigned int i=0;
i<
result.size(); ++
i)
779 int posB = sizeB -
i - 1;
783 for(
unsigned int j=0; (
j + posB) < sizeB &&
j < sizeA; ++
j)
785 r += (
vA[
j] - meanA) * (
vB[
j + posB] - meanB);
795 for(
unsigned int i=0; (
i+posA) < sizeA &&
i < sizeB; ++
i)
797 r += (
vA[
i+posA] - meanA) * (
vB[
i] - meanB);
836 inline T uXMatch(
const T * vA,
const T * vB,
unsigned int sizeA,
unsigned int sizeB,
unsigned int index,
UXMatchMethod method)
839 if(!
vA || !
vB || sizeA == 0 || sizeB == 0)
851 unsigned int size = sizeA + sizeB - 1;
869 int posB = sizeB - index - 1;
873 for(
i=0; (
i + posB) < sizeB &&
i < sizeA; ++
i)
885 for(
i=0; (
i+posA) < sizeA &&
i < sizeB; ++
i)
921 std::vector<float>
w(
L);
922 unsigned int N =
L-1;
923 float pi = 3.14159265f;
924 for(
unsigned int n=0;
n<
N; ++
n)
931 template <
typename T>
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
std::vector< T > uXMatch(const T *vA, const T *vB, unsigned int sizeA, unsigned int sizeB, UXMatchMethod method)
T uSumSquared(const T *v, unsigned int size, T subtract=T())
detail::list_iterator end() const
T uMean(const T *v, unsigned int size)
T uNorm(const std::vector< T > &v)
T uMin3(const T &a, const T &b, const T &c)
T uSum(const std::list< T > &list)
T uMin(const T *v, unsigned int size, unsigned int &index)
T uVariance(const T *v, unsigned int size, T meanV)
GLM_FUNC_DECL genType::bool_type isnan(genType const &x)
bool uIsNan(const T &value)
GLM_FUNC_DECL vecType< T, P > sqrt(vecType< T, P > const &x)
T uMax3(const T &a, const T &b, const T &c)
GLM_FUNC_DECL genType pi()
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar * data()
std::vector< float > uHamming(unsigned int L)
bool uIsInBounds(const T &value, const T &low, const T &high)
GLM_FUNC_DECL bool isfinite(genType const &x)
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
std::vector< T > uNormalize(const std::vector< T > &v)
T uMeanSquaredError(const T *x, unsigned int sizeX, const T *y, unsigned int sizeY)
void uMinMax(const T *v, unsigned int size, T &min, T &max, unsigned int &indexMin, unsigned int &indexMax)
std::list< unsigned int > uLocalMaxima(const T *v, unsigned int size)
GLM_FUNC_DECL genType cos(genType const &angle)
Array< int, Dynamic, 1 > v
T uNormSquared(const std::vector< T > &v)
T uMax(const T *v, unsigned int size, unsigned int &index)
bool uIsFinite(const T &value)
detail::list_iterator begin() const
rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:23