This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
View | Details | Raw Unified | Return to bug 157
Collapse All | Expand All

(-)a/Eigen/src/Core/VectorwiseOp.h (+42 lines)
Lines 444-449 Link Here
444
      return const_cast<ExpressionType&>(m_matrix);
444
      return const_cast<ExpressionType&>(m_matrix);
445
    }
445
    }
446
446
447
    /** Multiplies the vector \a other to each subvector of \c *this */
448
    template<typename OtherDerived>
449
    ExpressionType& operator*=(const DenseBase<OtherDerived>& other)
450
    {
451
      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
452
      for(Index j=0; j<subVectors(); ++j)
453
        subVector(j).array() *= other.derived().array();
454
      return const_cast<ExpressionType&>(m_matrix);
455
    }
456
457
    /** Divides the vector \a other to each subvector of \c *this */
458
    template<typename OtherDerived>
459
    ExpressionType& operator/=(const DenseBase<OtherDerived>& other)
460
    {
461
      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
462
      for(Index j=0; j<subVectors(); ++j)
463
        subVector(j).array() /= other.derived();
464
      return const_cast<ExpressionType&>(m_matrix);
465
    }
466
447
    /** Returns the expression of the sum of the vector \a other to each subvector of \c *this */
467
    /** Returns the expression of the sum of the vector \a other to each subvector of \c *this */
448
    template<typename OtherDerived> EIGEN_STRONG_INLINE
468
    template<typename OtherDerived> EIGEN_STRONG_INLINE
449
    CwiseBinaryOp<internal::scalar_sum_op<Scalar>,
469
    CwiseBinaryOp<internal::scalar_sum_op<Scalar>,
Lines 466-471 Link Here
466
      return m_matrix - extendedTo(other.derived());
486
      return m_matrix - extendedTo(other.derived());
467
    }
487
    }
468
488
489
    /** Returns the expression of the multiplication of the vector \a other to each subvector of \c *this */
490
    template<typename OtherDerived> EIGEN_STRONG_INLINE
491
    CwiseBinaryOp<internal::scalar_product_op<Scalar>,
492
                  const ExpressionTypeNestedCleaned,
493
                  const typename ExtendedType<OtherDerived>::Type>
494
    operator*(const DenseBase<OtherDerived>& other) const
495
    {
496
      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived);
497
      return m_matrix * extendedTo(other.derived());
498
    }
499
500
    /** Returns the expression of the division between each subvector of \c *this and the vector \a other */
501
    template<typename OtherDerived>
502
    CwiseBinaryOp<internal::scalar_quotient_op<Scalar>,
503
                  const ExpressionTypeNestedCleaned,
504
                  const typename ExtendedType<OtherDerived>::Type>
505
    operator/(const DenseBase<OtherDerived>& other) const
506
    {
507
      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived);
508
      return m_matrix / extendedTo(other.derived());
509
    }
510
469
/////////// Geometry module ///////////
511
/////////// Geometry module ///////////
470
512
471
    #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
513
    #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS

Return to bug 157