ConstVectorView subvector(const VEC &v, uint start){ return ConstVectorView(v.data()+ start, v.size()-start, v.stride()); }
ConstVectorView subvector(const VEC &v, uint start, uint stop){ assert(start<=stop && start <v.size()); uint size = 1+stop-start; return ConstVectorView(v.data()+ start, size, v.stride()); }
VectorView subvector(VEC &v, uint start){ assert(start <v.size()); return VectorView(v.data()+start, v.size()-start, v.stride()); }