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)