@@ -571,9 +571,9 @@ namespace quda {
571571 {
572572 std::vector<double > a_ (x.size () * y.size ());
573573 memcpy (a_.data (), a, x.size () * y.size () * sizeof (double ));
574- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
574+ vector_ref< const ColorSpinorField> x_;
575575 for (auto &xi : x) x_.push_back (*xi);
576- std::vector<std::reference_wrapper< ColorSpinorField> > y_;
576+ vector_ref< ColorSpinorField> y_;
577577 for (auto &yi : y) y_.push_back (*yi);
578578 axpy (a_, x_, y_);
579579 }
@@ -582,9 +582,9 @@ namespace quda {
582582 {
583583 std::vector<double > a_ (x.size () * y.size ());
584584 memcpy (a_.data (), a, x.size () * y.size () * sizeof (double ));
585- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
585+ vector_ref< const ColorSpinorField> x_;
586586 for (auto &xi : x) x_.push_back (*xi);
587- std::vector<std::reference_wrapper< ColorSpinorField> > y_;
587+ vector_ref< ColorSpinorField> y_;
588588 for (auto &yi : y) y_.push_back (*yi);
589589 axpy_U (a_, x_, y_);
590590 }
@@ -593,39 +593,39 @@ namespace quda {
593593 {
594594 std::vector<double > a_ (x.size () * y.size ());
595595 memcpy (a_.data (), a, x.size () * y.size () * sizeof (double ));
596- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
596+ vector_ref< const ColorSpinorField> x_;
597597 for (auto &xi : x) x_.push_back (*xi);
598- std::vector<std::reference_wrapper< ColorSpinorField> > y_;
598+ vector_ref< ColorSpinorField> y_;
599599 for (auto &yi : y) y_.push_back (*yi);
600600 axpy_L (a_, x_, y_);
601601 }
602602
603603 void caxpy (const Complex *a, std::vector<ColorSpinorField*> &x, std::vector<ColorSpinorField*> &y) {
604604 std::vector<Complex> a_ (x.size () * y.size ());
605605 memcpy (a_.data (), a, x.size () * y.size () * sizeof (Complex));
606- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
606+ vector_ref< const ColorSpinorField> x_;
607607 for (auto &xi : x) x_.push_back (*xi);
608- std::vector<std::reference_wrapper< ColorSpinorField> > y_;
608+ vector_ref< ColorSpinorField> y_;
609609 for (auto &yi : y) y_.push_back (*yi);
610610 caxpy (a_, x_, y_);
611611 }
612612
613613 void caxpy_U (const Complex *a, std::vector<ColorSpinorField*> &x, std::vector<ColorSpinorField*> &y) {
614614 std::vector<Complex> a_ (x.size () * y.size ());
615615 memcpy (a_.data (), a, x.size () * y.size () * sizeof (Complex));
616- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
616+ vector_ref< const ColorSpinorField> x_;
617617 for (auto &xi : x) x_.push_back (*xi);
618- std::vector<std::reference_wrapper< ColorSpinorField> > y_;
618+ vector_ref< ColorSpinorField> y_;
619619 for (auto &yi : y) y_.push_back (*yi);
620620 caxpy_U (a_, x_, y_);
621621 }
622622
623623 void caxpy_L (const Complex *a, std::vector<ColorSpinorField*> &x, std::vector<ColorSpinorField*> &y) {
624624 std::vector<Complex> a_ (x.size () * y.size ());
625625 memcpy (a_.data (), a, x.size () * y.size () * sizeof (Complex));
626- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
626+ vector_ref< const ColorSpinorField> x_;
627627 for (auto &xi : x) x_.push_back (*xi);
628- std::vector<std::reference_wrapper< ColorSpinorField> > y_;
628+ vector_ref< ColorSpinorField> y_;
629629 for (auto &yi : y) y_.push_back (*yi);
630630 caxpy_L (a_, x_, y_);
631631 }
@@ -635,11 +635,11 @@ namespace quda {
635635 {
636636 std::vector<double > a_ (x.size () * y.size ());
637637 memcpy (a_.data (), a, x.size () * y.size () * sizeof (double ));
638- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
638+ vector_ref< const ColorSpinorField> x_;
639639 for (auto &xi : x) x_.push_back (*xi);
640- std::vector<std::reference_wrapper< const ColorSpinorField> > y_;
640+ vector_ref< const ColorSpinorField> y_;
641641 for (auto &yi : y) y_.push_back (*yi);
642- std::vector<std::reference_wrapper< ColorSpinorField> > z_;
642+ vector_ref< ColorSpinorField> z_;
643643 for (auto &zi : z) z_.push_back (*zi);
644644 axpyz (a_, x_, y_, z_);
645645 }
@@ -649,11 +649,11 @@ namespace quda {
649649 {
650650 std::vector<Complex> a_ (x.size () * y.size ());
651651 memcpy (a_.data (), a, x.size () * y.size () * sizeof (Complex));
652- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
652+ vector_ref< const ColorSpinorField> x_;
653653 for (auto &xi : x) x_.push_back (*xi);
654- std::vector<std::reference_wrapper< const ColorSpinorField> > y_;
654+ vector_ref< const ColorSpinorField> y_;
655655 for (auto &yi : y) y_.push_back (*yi);
656- std::vector<std::reference_wrapper< ColorSpinorField> > z_;
656+ vector_ref< ColorSpinorField> z_;
657657 for (auto &zi : z) z_.push_back (*zi);
658658 caxpyz (a_, x_, y_, z_);
659659 }
@@ -668,9 +668,9 @@ namespace quda {
668668 std::vector<double > c_ (x.size ());
669669 memcpy (c_.data (), c, x.size () * sizeof (double ));
670670
671- std::vector<std::reference_wrapper< ColorSpinorField> > x_;
671+ vector_ref< ColorSpinorField> x_;
672672 for (auto &xi : x) x_.push_back (*xi);
673- std::vector<std::reference_wrapper< ColorSpinorField> > y_;
673+ vector_ref< ColorSpinorField> y_;
674674 for (auto &yi : y) y_.push_back (*yi);
675675 axpyBzpcx (a_, x_, y_, b_, z, c_);
676676 }
@@ -683,7 +683,7 @@ namespace quda {
683683 std::vector<Complex> b_ (x.size ());
684684 memcpy (b_.data (), b, x.size () * sizeof (Complex));
685685
686- std::vector<std::reference_wrapper< const ColorSpinorField> > x_;
686+ vector_ref< const ColorSpinorField> x_;
687687 for (auto &xi : x) x_.push_back (*xi);
688688 caxpyBxpz (a_, x_, y, b_, z);
689689 }
0 commit comments