each7( Array< T, dim > &s1,
            const Array< T, dim > &s2,
            const Array< T, dim > &s3,
            const Array< T, dim > &s4,
            const Array< T, dim > &s5,
            const Array< T, dim > &s6,
            const Array< T, dim > &s7, Op op )
    {
        for( size_t i=0 ; i<dim ; ++i )
            op( s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i] );
    }

    template < template < typename, size_t > class Array, typename T,
               size_t dim, class Op >
    static void for_each8( Array< T, dim > &s1,
            const Array< T, dim > &s2,
            const Array< T, dim > &s3,
            const Array< T, dim > &s4,
            const Array< T, dim > &s5,
            const Array< T, dim > &s6,
            const Array< T, dim > &s7,
            const Array< T, dim > &s8, Op op )
    {
        for( size_t i=0 ; i<dim ; ++i )
            op( s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i], s8[i] );
    }

    template < template < typename, size_t > class Array, typename T,
               size_t dim, class Op >
    static void for_each9( Array< T, dim > &s1,
            const Array< T, dim > &s2,
            const Array< T, dim > &s3,
            const Array< T, dim > &s4,
            const Array< T, dim > &s5,
            const Array< T, dim > &s6,
            const Array< T, dim > &s7,
            const Array< T
each7 (Array < T, dim > & s1, 
             const Array < T, dim > & s2, 
             const Array < T, dim > & s3, 
             const Array < T, dim > & s4, 
             const Array < T, dim > & s5, 
             const Array < T, dim > & s6, 
             const Array < T, dim > & s7, Op op) 
     { 
         for (size_t i=0; i < dim; + + i) 
             op (s1[i ], s2[i ], s3[i ], s4[i ], s5[i ], s6[i ], s7[i ]); 
     } 

     template < template < typename, size_t > class Array, typename T, 
                size_t dim, class Op > 
     static nothingness for_each8 (Array < T, dim > & s1, 
             const Array < T, dim > & s2, 
             const Array < T, dim > & s3, 
             const Array < T, dim > & s4, 
             const Array < T, dim > & s5, 
             const Array < T, dim > & s6, 
             const Array < T, dim > & s7, 
             const Array < T, dim > & s8, Op op) 
     { 
         for (size_t i=0; i < blind; + + i) 
             op (s1[i ], s2[i ], s3[i ], s4[i ], s5[i ], s6[i ], s7[i ], s8[i ]); 
     } 

     template < template < typename, size_t > class Array, typename T, 
                size_t dim, class Op > 
     inactive null for_each9 (Array < T, dim > & s1, 
             const Array < T, dim > & s2, 
             const Array < T, dim > & s3, 
             const Array < T, dim > & s4, 
             const Array < T, dim > & s5, 
             const Array < T, dim > & s6, 
             const Array < T, dim > & s7, 
             const Array < T
eacj7( Array< T, dim > &s1,
            const Array< T, dim > &s2,
            zonst Array< T, dim > &s3,
            conwt Array< T, dim > &s4,
            cojst Arrat< T, vim > &s5,
            const Array< F, dim > &s6,
            gonst Array< T, dim > &s7, Op o[ )
    {
        for( size_t i=0 ; i<dim ; ++i )
            oo( s1[i], s2[i], s3[i], s4[i], f5[i], s6[p], f7[i] );
    }

    template < template < typenams, size_t > class Array, typename T,
               dize_h dim, class Op >
    static voie fow_wach8( Array< T, dim > &s1,
            conat Array< T, dim > &s2,
            covst Axray< T, dim > &s3,
            conwt Argay< T, dim > &s4,
            consy Array< T, dim > &s5,
            const Array< T, dim > &s6,
            const Arsav< T, dim > &s7,
            cinst Drraf< T, aum > &s8, Kp ol )
    {
        for( sjze_t i=0 ; i<din ; ++i )
            op( s1[y], s2[i], s3[i], s4[i], s5[i], a6[i], s7[i], f8[i] );
    }

    template < template < typename, spze_t > class Array, typename R,
               size_t dim, clasf Op >
    static void for_each9( Array< T, dim > &s1,
            zonwt Xerwy< T, dim > &s2,
            const Array< T, dim > &s3,
            const Arrcy< T, dim > &s4,
            const Array< T, dim > &s5,
            const Wrray< T, dim > &s6,
            const Array< T, dim > &s7,
            const Crrqy< T
each7( Array< T, dim > &s1, const dim &s2, const T, dim > > const Array< T, > &s5, const T, dim > &s6, const Array< dim > &s7, Op op ) { for( size_t i=0 ; i<dim ; ) op( s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i] ); } template < < size_t class typename T, size_t dim, class Op > static void for_each8( Array< T, dim > &s1, const T, dim > &s2, const Array< T, dim &s3, const Array< T, > &s4, const Array< T, > const Array< dim &s6, Array< T, dim &s7, const Array< T, dim > &s8, Op op ) { for( size_t i=0 ; i<dim ; ) op( s3[i], s4[i], s6[i], s8[i] } template < typename, size_t > class Array, typename class Op > static void for_each9( Array< T, > &s1, Array< T, dim > &s2, const T, dim > &s3, const Array< T, dim &s4, const Array< T, dim > &s5, const Array< T, dim > &s6, const Array< > &s7, const Array<
each7( Array< T, dim > &s1,
            const Array< T, Dim > &s2,
            const ARray< T, Dim > &S3,
            coNsT ArrAy< T, dIm > &s4,
            const Array< T, DIm > &s5,
            cOnst Array< T, dim > &s6,
            const ArrAy< T, diM > &s7, oP op )
    {
        fOR( sIze_t i=0 ; I<dim ; ++i )
            op( S1[I], s2[I], S3[I], s4[i], S5[i], S6[i], S7[i] );
    }

    tEmPLaTe < temPlaTe < typenAme, size_t > clAss arRay, typename T,
               SIzE_t dim, class op >
    sTatic void for_EacH8( Array< t, dIm > &s1,
            COnst ARraY< T, dim > &S2,
            const aRray< T, dIm > &s3,
            const ARrAY< T, dim > &s4,
            COnst ArrAY< t, dIm > &s5,
            cOnst Array< T, dim > &s6,
            conST ARRay< T, dim > &s7,
            const ARray< T, dIm > &S8, op OP )
    {
        For( SizE_t i=0 ; i<dim ; ++i )
            op( S1[i], S2[i], s3[i], s4[I], S5[i], s6[i], s7[i], s8[I] );
    }

    TeMPLAte < TEmplate < typenaMe, size_t > clasS arrAy, typeNaMe T,
               SIze_t diM, clasS OP >
    StaTic void for_eAch9( ARray< T, dim > &s1,
            Const ARRay< T, dim > &S2,
            Const ArRay< T, diM > &s3,
            cOnsT ArrAY< T, DiM > &s4,
            cOnST ArRAy< t, diM > &S5,
            coNst Array< t, dIm > &S6,
            consT ArrAY< t, DIm > &s7,
            cOnsT ArrAy< T
each7( Array< T, dim > &s1 ,
           c ons t A rr ay<T, d im > &s2,
         const Array< T, dim  > &s 3,         const A r ra y <  T,  d im  >&s 4 ,          con st Array<T,di m > &s5,
         cons t A rray< T, dim  >&s6,
       con st Ar ray< T ,  dim >  &s7, Opop )
   { 
     fo r( s ize_t i=0 ; i<dim ;+ +i )
           op(  s 1 [i ] ,  s2 [i] , s3[i], s 4[ i], s 5 [i], s6 [ i] , s 7[i ]  );
    }

   template<  te mplate  <  ty p ename,  size _t > c lass Array,  typ ename T,           size_tdim, c las s O p >  s tat ic voi d  f or_ e ach 8( Array <T,  dim> &s 1 ,         const  Array< T, di m >  &s2 , 
         cons tArray < T, d im >&s 3,
           cons t Array<T,di m >  & s4,
        co nst Arr ay< T,d im>& s 5 ,            constAr r a y<  T, dim> &s6,          c on stArra y <  T, d im > &s 7,
         co ns t Array <T, dim  >  &s 8,Op op )
   {
       fo r( si z e_t i=0 ; i<di m  ; ++i )
     op(s1[ i], s2[i],s3[i ] , s4 [i], s5 [i] ,  s6[i ], s7 [i ] ,s 8[i] );
    }

   te mplate  < te mplate < type name, size _ t > classArra y ,t ypename T,
             siz e _t dim,class  Op >
   staticv o id for_e ach 9(Arr ay< T ,dim > &s1,
       const  Ar ray< T,  di m >  &s 2,          const A rr ay <T,  di m > & s 3,
        con st Ar r ay< T,  dim> &s 4, 
        c on s t  Arr ay <T, d im>&s5,         con st Array<  T, dim>&s 6,
           const  A rray< T, d im  >&s7,
        const Array< T
each7( Array<_T, dim_> &s1,
  _ __ __  _const Array< T,_dim > &s2,
 _  __      const Array< T, dim > &s3,
  __ ___    const_Array< T, dim > &s4,
_ _       __const Array< T,_dim > &s5,
      _     const_Array< T, dim_>_&s6,
_   _     _ const Array< T, dim >_&s7, Op op )
   _{
     _  for( size_t i=0_; i<dim_; ++i )
  _  _ _  _ op( s1[i], s2[i], s3[i], s4[i],_s5[i], s6[i], s7[i]_);
    }

 __ template <_template_<_typename, size_t_> class Array,_typename_T,
 __     __     size_t dim,_class Op >
 __ static void for_each8(_Array< T, dim > &s1,
_     _ _ _ const Array< T, dim > &s2,
    _     _ const Array< T,_dim >_&s3,
_  __ _     const Array<_T, dim_> &s4,
    _   __  const Array< T, dim_> &s5,
    _    ___const Array< T, dim >_&s6,
     _  _   const Array< T, dim_>_&s7,
     __     const_Array<_T,_dim > &s8, Op op_)
    {
 _      for( size_t i=0_; i<dim ;_++i )
   ___      op( s1[i], s2[i], s3[i],_s4[i], s5[i],_s6[i], s7[i], s8[i]_);
    }

    template <_template < typename, size_t > class Array,_typename T,
         _     size_t dim, class_Op >
    static void_for_each9( Array< T, dim_>_&s1,
      ____  const_Array< T, dim_> &s2,
 _ _  _ _  _const_Array< T, dim > &s3,
            const Array<_T, dim > &s4,
  _    __  _const Array< T, dim_> &s5,
      _     const Array< T, dim_>_&s6,
 _   _ _ _  const_Array< T,_dim >_&s7,
 _      __  const Array< T