norm2(const QDPType<TVec ,OLattice< TVec > >& s1, const Subset& s)
norm2(const QDPType<TVec ,OLattice< TVec > >& s1)
norm2(const QDPType<TVec ,OLattice< TVec > >& s1, const Subset& s){#ifdef DEBUG_BLAS  QDPIO::cout << "Using BJ sumsq" << endl;#endif  if ( s.hasOrderedRep() ) {#ifdef DEBUG_BLAS    QDPIO::cout << "BJ sumsq " << endl;#endif    int n_3vec = (s.end() - s.start() + 1)*Ns;    const REAL *s1ptr =  &(s1.elem(s.start()).elem(0).elem(0).real());        // Has Type OScalar< PScalar < PScalar < RScalar < REAL > > > >    UnaryReturn< OLattice< TVec >, FnNorm2>::Type_t  ret_val;    DOUBLE lsum = 0;        local_sumsq(&lsum,(REAL *)s1ptr, n_3vec);     Internal::globalSum(lsum);    ret_val.elem().elem().elem().elem() = lsum;    return ret_val;  }  else {   return sum(localNorm2(s1),s);  }}