Exemplo n.º 1
0
VectorBase<scalar,index,SizeAtCompileTime>::VectorBase( const VectorBase& vec )
	:
	Array(),
	AbstractVector()
{
	if (vec.isReferred())
	{
		// the vector is a referred vector
		this->setReferredArray(vec.size(),const_cast<scalar*>(vec.dataPtr()),vec.interval());
	}
	else{
		// copy the vector data
		this->setArray(vec.size(),vec.dataPtr(),vec.interval());
	}
}
Exemplo n.º 2
0
typename VectorBase<scalar,index,SizeAtCompileTime>::scalar VectorBase<scalar,index,SizeAtCompileTime>::dot(const VectorBase<scalar,index,S> &vec) const
{
	if(this->size()!=vec.size()) 
	{
		std::cerr<<"one size is "<<this->size()<<" and another size is "<<vec.size()<<std::endl;
		throw COException("VectorBase dot operation error: the length of two VectorBases do not equal to each other");
	}
	else{
		scalar sum = blas::copt_blas_dot(this->size(),this->dataPtr(),this->interval(),vec.dataPtr(),vec.interval());
		return sum;
	}
}