typedef OLattice<T> C; typedef UnaryNode<FnNorm2, typename CreateLeaf<QDPType<T,C> >::Leaf_t> Tree_t; typedef typename UnaryReturn<C,FnNorm2>::Type_t Container_t; static QDPProfile_t prof(d, OpAssign(), MakeReturn<Tree_t,Container_t>::make(Tree_t( CreateLeaf<QDPType<T,C> >::make(s1[0]))));
static QDPProfile_t prof(d, OpAssign(), FnNorm2(), s1[0]);
norm2(const multi1d< OLattice<T> >& s1, const OrderedSubset& s){  typename UnaryReturn<OLattice<T>, FnNorm2>::Type_t  d;#if defined(QDP_USE_PROFILING)     typedef OLattice<T> C;  typedef UnaryNode<FnNorm2, typename CreateLeaf<QDPType<T,C> >::Leaf_t> Tree_t;  typedef typename UnaryReturn<C,FnNorm2>::Type_t Container_t;  static QDPProfile_t prof(d, OpAssign(), 			   MakeReturn<Tree_t,Container_t>::make(Tree_t(			     CreateLeaf<QDPType<T,C> >::make(s1[0]))));  prof.time -= getClockTime();#endif  // Possibly loop entered  zero_rep(d.elem());  for(int n=0; n < s1.size(); ++n)  {    const OLattice<T>& ss1 = s1[n];    for(int i=s.start(); i <= s.end(); ++i)       d.elem() += localNorm2(ss1.elem(i));  }#if defined(QDP_USE_PROFILING)     prof.time += getClockTime();  prof.count++;  prof.print();#endif  return d;}