コード例 #1
0
ファイル: assignment.hpp プロジェクト: Ulfgard/aBLAS
VecX& operator-=(vector_expression<VecX, Device>& x, vector_expression<VecV, Device> const& v){
	ABLAS_SIZE_CHECK(x().size() == v().size());
	typedef typename vector_temporary<VecX>::type Temporary;
	system::scheduler().create_closure(
		Temporary(v.size()),
		[&x, &v](Temporary& temporary){
			assign(temporary,v);
			plus_assign(x,temporary,typename VecX::value_type(-1));
		}
	);
	return x();
}
コード例 #2
0
ファイル: assignment.hpp プロジェクト: Ulfgard/aBLAS
MatA& operator-=(
	matrix_expression<MatA, Device>& A,
	matrix_expression<MatB, Device> const& B
){
	ABLAS_SIZE_CHECK(A().size1() == B().size1());
	ABLAS_SIZE_CHECK(A().size2() == B().size2());
	typedef typename matrix_temporary<MatA>::type Temporary;
	system::scheduler().create_closure(
		Temporary(A.size1(),A.size2()),
		[&A, &B](Temporary& temporary){
			assign(temporary,B);
			plus_assign(A,temporary, typename MatA::value_type(-1));
		}
	);
	return A();
}
コード例 #3
0
ファイル: assignment.hpp プロジェクト: Ulfgard/aBLAS
	closure_type &operator+= (const E &e) {
		plus_assign(m_lval, e);
		return m_lval;
	}
コード例 #4
0
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 plus_assign(A,temporary);
}
コード例 #5
0
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 plus_assign(x,temporary);
}
コード例 #6
0
ファイル: vector.hpp プロジェクト: chrisvana/shark_copy
	vector &operator += (const vector_container<C> &v) {
		plus_assign(v);
		return *this;
	}