Esempio n. 1
0
 ArrayBinary(const ArrayExpr<T1, T3>& lhs, const ArrayExpr<T2, T4>& rhs)
   : lhs_(lhs), rhs_(rhs)
 {
   pyQCDassert((BinaryOperandTraits<T1, T2>::equal_size(lhs_, rhs_)),
     std::out_of_range("ArrayBinary: lhs.size() != rhs.size()"));
   pyQCDassert((BinaryOperandTraits<T1, T2>::equal_layout(lhs_, rhs_)),
     std::bad_cast());
 }
Esempio n. 2
0
 Lattice<T>& operator=(const LatticeExpr<U1, U2>& expr)
 {
   pyQCDassert ((this->data_.size() == expr.size()),
                std::out_of_range("Array::data_"));
   T* ptr = &(this->data_)[0];
   for (unsigned long i = 0; i < expr.size(); ++i) {
     ptr[i] = static_cast<T>(expr[i]);
   }
   layout_ = &expr.layout();
   site_size_ = expr.site_size();
   return *this;
 }