8 double norm = -FLT_MAX;
9 for (
int i = 0; i < n; ++i)
10 if (
abs(vec[i]) > norm)
17 double norm = -FLT_MAX;
18 for (
int i = 0; i < vec.size(); ++i)
19 if (
abs(vec[i]) > norm)
24 double Norm_1(
const double *vec,
int n)
27 for (
int i = 0; i < n; ++i)
32 double Norm_1(
const vector<double>& vec)
35 for (
int i = 0; i < vec.size(); ++i)
40 double Dot(
const double *vec1,
const double *vec2,
int n)
43 for (
int i = 0; i < n; ++i)
45 dot += vec1[i] * vec2[i];
50 double Dot(
const vector<double>&vec1,
const vector<double>&vec2)
52 return Dot(&vec1[0], &vec2[0], vec1.size());
57 return Dot(vec, vec, n);
65 double Length(
const double *vec,
int n)
70 double Length(
const vector<double>& vec)
75 double Angle(
const double *vec1,
const double *vec2,
int n)
77 vector<double> vec1_cpy, vec2_cpy;
78 copy(vec1, vec1 + n, back_inserter(vec1_cpy));
79 copy(vec2, vec2 + n, back_inserter(vec2_cpy));
82 for (
int i = 0; i < n; ++i)
90 double Angle(
const vector<double> &vec1,
const vector<double>&vec2)
92 return Angle(&vec1[0], &vec2[0], vec1.size());
double Angle(const double *vec1, const double *vec2, int n)
double LengthSquare(const double *vec, int n)
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
double Length(const double *vec, int n)
double Dot(const double *vec1, const double *vec2, int n)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const AbsReturnType abs() const
double Norm_Inf(const double *vec, int n)
EIGEN_DEVICE_FUNC const AcosReturnType acos() const
double Norm_1(const double *vec, int n)