mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-14 12:46:00 +08:00
small fixes
This commit is contained in:
parent
3cde9c0e35
commit
66ee2044ce
@ -355,10 +355,22 @@ template<typename ExpressionType, int Direction> class VectorwiseOp
|
|||||||
|
|
||||||
/////////// Artithmetic operators ///////////
|
/////////// Artithmetic operators ///////////
|
||||||
|
|
||||||
|
/** Copies the vector \a other to each subvector of \c *this */
|
||||||
|
template<typename OtherDerived>
|
||||||
|
ExpressionType& operator=(const MatrixBase<OtherDerived>& other)
|
||||||
|
{
|
||||||
|
EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
|
||||||
|
//ei_assert((m_matrix.isNull()) == (other.isNull())); FIXME
|
||||||
|
for(int j=0; j<subVectors(); ++j)
|
||||||
|
subVector(j) = other;
|
||||||
|
return const_cast<ExpressionType&>(m_matrix);
|
||||||
|
}
|
||||||
|
|
||||||
/** Adds the vector \a other to each subvector of \c *this */
|
/** Adds the vector \a other to each subvector of \c *this */
|
||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
ExpressionType& operator+=(const MatrixBase<OtherDerived>& other)
|
ExpressionType& operator+=(const MatrixBase<OtherDerived>& other)
|
||||||
{
|
{
|
||||||
|
EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
|
||||||
for(int j=0; j<subVectors(); ++j)
|
for(int j=0; j<subVectors(); ++j)
|
||||||
subVector(j) += other;
|
subVector(j) += other;
|
||||||
return const_cast<ExpressionType&>(m_matrix);
|
return const_cast<ExpressionType&>(m_matrix);
|
||||||
@ -368,6 +380,7 @@ template<typename ExpressionType, int Direction> class VectorwiseOp
|
|||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
ExpressionType& operator-=(const MatrixBase<OtherDerived>& other)
|
ExpressionType& operator-=(const MatrixBase<OtherDerived>& other)
|
||||||
{
|
{
|
||||||
|
EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
|
||||||
for(int j=0; j<subVectors(); ++j)
|
for(int j=0; j<subVectors(); ++j)
|
||||||
subVector(j) -= other;
|
subVector(j) -= other;
|
||||||
return const_cast<ExpressionType&>(m_matrix);
|
return const_cast<ExpressionType&>(m_matrix);
|
||||||
|
@ -49,7 +49,7 @@ template<typename Derived>
|
|||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
bool MatrixBase<Derived>::isApprox(
|
bool MatrixBase<Derived>::isApprox(
|
||||||
const MatrixBase<OtherDerived>& other,
|
const MatrixBase<OtherDerived>& other,
|
||||||
typename NumTraits<Scalar>::Real prec
|
RealScalar prec
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
const typename ei_nested<Derived,2>::type nested(derived());
|
const typename ei_nested<Derived,2>::type nested(derived());
|
||||||
@ -73,7 +73,7 @@ bool MatrixBase<Derived>::isApprox(
|
|||||||
template<typename Derived>
|
template<typename Derived>
|
||||||
bool MatrixBase<Derived>::isMuchSmallerThan(
|
bool MatrixBase<Derived>::isMuchSmallerThan(
|
||||||
const typename NumTraits<Scalar>::Real& other,
|
const typename NumTraits<Scalar>::Real& other,
|
||||||
typename NumTraits<Scalar>::Real prec
|
RealScalar prec
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return cwise().abs2().sum() <= prec * prec * other * other;
|
return cwise().abs2().sum() <= prec * prec * other * other;
|
||||||
@ -93,7 +93,7 @@ template<typename Derived>
|
|||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
bool MatrixBase<Derived>::isMuchSmallerThan(
|
bool MatrixBase<Derived>::isMuchSmallerThan(
|
||||||
const MatrixBase<OtherDerived>& other,
|
const MatrixBase<OtherDerived>& other,
|
||||||
typename NumTraits<Scalar>::Real prec
|
RealScalar prec
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return this->cwise().abs2().sum() <= prec * prec * other.cwise().abs2().sum();
|
return this->cwise().abs2().sum() <= prec * prec * other.cwise().abs2().sum();
|
||||||
@ -124,7 +124,7 @@ template<typename Derived>
|
|||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
bool MatrixBase<Derived>::isApprox(
|
bool MatrixBase<Derived>::isApprox(
|
||||||
const MatrixBase<OtherDerived>& other,
|
const MatrixBase<OtherDerived>& other,
|
||||||
typename NumTraits<Scalar>::Real prec
|
RealScalar prec
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return ei_fuzzy_selector<Derived,OtherDerived>::isApprox(derived(), other.derived(), prec);
|
return ei_fuzzy_selector<Derived,OtherDerived>::isApprox(derived(), other.derived(), prec);
|
||||||
@ -143,7 +143,7 @@ bool MatrixBase<Derived>::isApprox(
|
|||||||
template<typename Derived>
|
template<typename Derived>
|
||||||
bool MatrixBase<Derived>::isMuchSmallerThan(
|
bool MatrixBase<Derived>::isMuchSmallerThan(
|
||||||
const typename NumTraits<Scalar>::Real& other,
|
const typename NumTraits<Scalar>::Real& other,
|
||||||
typename NumTraits<Scalar>::Real prec
|
RealScalar prec
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return ei_fuzzy_selector<Derived>::isMuchSmallerThan(derived(), other, prec);
|
return ei_fuzzy_selector<Derived>::isMuchSmallerThan(derived(), other, prec);
|
||||||
@ -163,7 +163,7 @@ template<typename Derived>
|
|||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
bool MatrixBase<Derived>::isMuchSmallerThan(
|
bool MatrixBase<Derived>::isMuchSmallerThan(
|
||||||
const MatrixBase<OtherDerived>& other,
|
const MatrixBase<OtherDerived>& other,
|
||||||
typename NumTraits<Scalar>::Real prec
|
RealScalar prec
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return ei_fuzzy_selector<Derived,OtherDerived>::isMuchSmallerThan(derived(), other.derived(), prec);
|
return ei_fuzzy_selector<Derived,OtherDerived>::isMuchSmallerThan(derived(), other.derived(), prec);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user