MatA& operator*=(matrix_expression<MatA>& A, matrix_expression<MatB> const& B){ SIZE_CHECK(A().size1() == B().size1()); SIZE_CHECK(A().size2() == B().size2()); typename matrix_temporary<MatA>::type temporary(B); return multiply_assign(A,temporary); }
closure_type &operator*= (const E &e) { multiply_assign(m_lval, e); return m_lval; }
VecX& operator*=(vector_expression<VecX>& x, vector_expression<VecV> const& v){ SIZE_CHECK(x().size() == v().size()); typename vector_temporary<VecX>::type temporary(v); return multiply_assign(x,temporary); }