10 #ifndef EIGEN_SPARSE_DOT_H 11 #define EIGEN_SPARSE_DOT_H 15 template<
typename Derived>
16 template<
typename OtherDerived>
17 typename internal::traits<Derived>::Scalar
24 YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
27 eigen_assert(other.size()>0 &&
"you are using a non initialized vector");
40 template<
typename Derived>
41 template<
typename OtherDerived>
49 YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
62 if (i.index()==j.index())
67 else if (i.index()<j.index())
75 template<
typename Derived>
82 template<
typename Derived>
87 return sqrt(squaredNorm());
90 template<
typename Derived>
98 #endif // EIGEN_SPARSE_DOT_H RealScalar squaredNorm() const
const AutoDiffScalar< DerType > & conj(const AutoDiffScalar< DerType > &x)
EIGEN_DEVICE_FUNC RealReturnType real() const
RealScalar blueNorm() const
#define EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(TYPE0, TYPE1)
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
static constexpr size_t size(Tuple< Args... > &)
Provides access to the number of elements in a tuple as a compile-time constant expression.
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Scalar dot(const MatrixBase< OtherDerived > &other) const
NumTraits< typename traits< Derived >::Scalar >::Real blueNorm_impl(const EigenBase< Derived > &_vec)
Base class of any sparse matrices or sparse expressions.
internal::traits< Derived >::Scalar Scalar
const Derived & derived() const
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
Base class for all dense matrices, vectors, and expressions.