14RealScalar EIGEN_BLAS_FUNC(asum)(
int *n, RealScalar *px,
int *incx)
18 Scalar* x =
reinterpret_cast<Scalar*
>(px);
22 if(*incx==1)
return make_vector(x,*n).cwiseAbs().sum();
23 else return make_vector(x,*n,std::abs(*incx)).cwiseAbs().sum();
26int EIGEN_CAT(i, EIGEN_BLAS_FUNC(amax))(
int *n, RealScalar *px,
int *incx)
29 Scalar* x =
reinterpret_cast<Scalar*
>(px);
32 if(*incx==1) make_vector(x,*n).cwiseAbs().maxCoeff(&ret);
33 else make_vector(x,*n,std::abs(*incx)).cwiseAbs().maxCoeff(&ret);
37int EIGEN_CAT(i, EIGEN_BLAS_FUNC(amin))(
int *n, RealScalar *px,
int *incx)
40 Scalar* x =
reinterpret_cast<Scalar*
>(px);
43 if(*incx==1) make_vector(x,*n).cwiseAbs().minCoeff(&ret);
44 else make_vector(x,*n,std::abs(*incx)).cwiseAbs().minCoeff(&ret);
49Scalar EIGEN_BLAS_FUNC(dot)(
int *n, RealScalar *px,
int *incx, RealScalar *py,
int *incy)
55 Scalar* x =
reinterpret_cast<Scalar*
>(px);
56 Scalar* y =
reinterpret_cast<Scalar*
>(py);
58 if(*incx==1 && *incy==1)
return (make_vector(x,*n).cwiseProduct(make_vector(y,*n))).sum();
59 else if(*incx>0 && *incy>0)
return (make_vector(x,*n,*incx).cwiseProduct(make_vector(y,*n,*incy))).sum();
60 else if(*incx<0 && *incy>0)
return (make_vector(x,*n,-*incx).reverse().cwiseProduct(make_vector(y,*n,*incy))).sum();
61 else if(*incx>0 && *incy<0)
return (make_vector(x,*n,*incx).cwiseProduct(make_vector(y,*n,-*incy).reverse())).sum();
62 else if(*incx<0 && *incy<0)
return (make_vector(x,*n,-*incx).reverse().cwiseProduct(make_vector(y,*n,-*incy).reverse())).sum();
68Scalar EIGEN_BLAS_FUNC(nrm2)(
int *n, RealScalar *px,
int *incx)
73 Scalar* x =
reinterpret_cast<Scalar*
>(px);
75 if(*incx==1)
return make_vector(x,*n).stableNorm();
76 else return make_vector(x,*n,std::abs(*incx)).stableNorm();
79int EIGEN_BLAS_FUNC(rot)(
int *n, RealScalar *px,
int *incx, RealScalar *py,
int *incy, RealScalar *pc, RealScalar *ps)
84 Scalar* x =
reinterpret_cast<Scalar*
>(px);
85 Scalar* y =
reinterpret_cast<Scalar*
>(py);
86 Scalar c = *
reinterpret_cast<Scalar*
>(pc);
87 Scalar s = *
reinterpret_cast<Scalar*
>(ps);
Rotation given by a cosine-sine pair.
Definition Jacobi.h:35
A matrix or vector expression mapping an existing array of data.
Definition Map.h:96
Expression of the reverse of a vector or matrix.
Definition Reverse.h:65