\batchmode

\documentstyle[psfig]{book}
\makeatletter



\makeatother
\newenvironment{tex2html_wrap}{}{}
\newwrite\lthtmlwrite
\def\lthtmltypeout#1{{\let\protect\string\immediate\write\lthtmlwrite{#1}}}%
\newbox\sizebox
\begin{document}
\pagestyle{empty}
\stepcounter{chapter}
\stepcounter{chapter}
\stepcounter{section}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{chapter}
\stepcounter{section}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
{\newpage
\clearpage
\samepage \begin{figure}[p]
\small
\begin{verbatim}  class Range {
  public :
    Range() ;
    Range(const Range& x) ;
    ~Range() ;

    Range& operator=(const Range& x) ;

    int size() const ;

    Dimension dim() const ;

    Range tem() const ;
    int bas() const ;
    int str() const ;

    int lev() const ;
    Range ker() const ;
    Range shell() const ;

    Format format() const ;

    Range subrng(const int extent,
                 const int base = 0, const int stride = 1) const ;

    void location(Location* loc, const int glb) const ;

    void block(Block* blk, const int ker_glb) const ;
    int local(int* glb) const ;

    Range subker() const ;

    int volume() const ;
    int offset(const Location& loc) const ;

    int disp(const int sub) const ;
    int step(const int sub_stp) const ;

    Location operator()(const int k) ;
    int idx(const Location& loc) const ;
  } ;\end{verbatim}
\normalsize

\end{figure}
}

\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{chapter}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{section}
\stepcounter{section}
\stepcounter{section}
\stepcounter{chapter}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
{\newpage
\clearpage
\samepage \begin{eqnarray*}\mbox{\tt whi [}r\mbox{\tt]} \le \mbox{\tt whi}_{\mbox{act}} \\ 
\mbox{\tt wlo [}r\mbox{\tt]} \le \mbox{\tt wlo}_{\mbox{act}}
\end{eqnarray*}
}

{\newpage
\clearpage
\samepage \begin{eqnarray*}s \times \mbox{\tt whi [}r\mbox{\tt]} \le \mbox{\tt whi}_{\mbox{act}} \\ 
s \times \mbox{\tt wlo [}r\mbox{\tt]} \le \mbox{\tt wlo}_{\mbox{act}}
\end{eqnarray*}
}

\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{section}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{subsection}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{paragraph}
\stepcounter{chapter}
\stepcounter{chapter}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
{\newpage
\clearpage
\samepage \begin{figure}[p]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;
  Map   u ;

  Index i(x) ;
  OVERALL(i) {
    ... u.offset(i) ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;
  Map   u ;

  LocBlocksIndex i(x) ;

  apgStack.push(&apg) ;
  apg.restrict(i.dim) ;
  for(i.beginLocBlk() ; i.test() ; i.nextLocBlk()) {
    int u_bas = u.offset(i) ;
    int u_stp = u.step(i.sub_stp) ;

    for(int l = 0 ; l < i.count ; l++) {
      ... u_bas + u_stp * l ...
    }
  }
  apgStack.pop(&apg) ;\end{verbatim}
\normalsize

\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[p]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;

  Index i(x) ;
  OVERALL(i) {
    ... x.idx(i) ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;

  LocBlocksIndex i(x) ;

  apgStack.push(&apg) ;
  apg.restrict(i.dim) ;
  for(i.beginLocBlk() ; i.test() ; i.nextLocBlk()) {
    for(int l = 0 ; l < i.count ; l++) {
      ... i.glb_bas + i.glb_stp * l ...
    }
  }
  apgStack.pop(&apg) ;\end{verbatim}
\normalsize

\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[p]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;

  Index i(x) ;
  OVERALL(i) {
    ... p / i ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;

  LocBlocksIndex i(x) ;

  apgStack.push(&apg) ;
  apg.restrict(i.dim) ;
  for(i.beginLocBlk() ; i.test() ; i.nextLocBlk()) {
    for(int l = 0 ; l < i.count ; l++) {
      ... p / i ...
    }
  }
  apgStack.pop(&apg) ;\end{verbatim}
\normalsize

\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[p]
\scriptsize
\begin{verbatim}  LocBlocksIndex i(x), j(y) ;

  apgStack.push(&apg) ;
  apg.restrict(i.dim) ;
  for(i.beginLocBlk() ; i.test() ; i.nextLocBlk()) {
    int a_off0_bas = a.map(0).offset(i) ;
    int a_off0_stp = a.map(0).step(i.sub_stp) ;

    for(int l = 0 ; l < i.count ; l++) {
      apgStack.push(&apg) ;
      apg.restrict(j.dim) ;
      for(j.beginLocBlk() ; j.test() ; j.nextLocBlk()) {
        int a_off1_bas = a.map(1).offset(j) ;
        int a_off1_stp = a.map(1).step(j.sub_stp) ;

        int b_off0_bas = b.map(0).offset(j) ;
        int b_off0_stp = b.map(0).step(j.sub_stp) ;

        for(int m = 0 ; m < j.count ; m++) {
          a_dat [a_off0_bas + a_off0_stp * l +
                 a_off1_bas + a_off1_stp * m] =
                    b_dat [b_off0_bas + b_off0_stp * m] +
                    i.glb_bas + i.glb_stp * l ;
        }
      }
      apgStack.pop(&apg) ;
    }
  }
  apgStack.pop(&apg) ;\end{verbatim}
\normalsize

\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[p]

{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Index i(x) ;
  OVERALL(i) {
    ... u.offset(i) ...
        x.idx(i) ...
        i.tem ...
        p / i ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  LocBlocksIndex i(x) ;

  apgStack.push(&apg) ;
  apg.restrict(i.dim) ;
  for(i.beginLocBlk() ; i.test() ; i.nextLocBlk()) {
    int u_bas = u.offset(i) ;
    int u_stp = u.step(i.sub_stp) ;

    for(int l = 0 ; l < i.count ; l++) {
      ... u_bas + u_stp * l ...
          i.glb_bas + i.glb_stp * l ...
          i.tem_bas + i.tem_stp * l ...
          p / i ...
    }
  }
  apgStack.pop(&apg) ;\end{verbatim}
\normalsize


\end{figure}
}

\stepcounter{section}
{\newpage
\clearpage
\samepage \begin{figure}[btp]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Index i(x) ;
  OVERALL(i) {
    ... u.offset(i) ...
        x.idx(i) ...
        i.tem ...
        p / i ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Index i1(x.ker()) ;
  OVERALL(i1) {
    Block i ;
    x.block(i1.tem, &i) ;

    int u_bas = u.disp(i.sub_bas) + u.ker().offset(i1) ;
    int u_stp = u.step(i.sub_stp) ;

    for(int l = 0 ; l < i_count ; l++) {
      ... u_bas + u_stp * l ...
          i.glb_bas + i.glb_stp * l ...
          i.tem_bas + i.tem_stp * l ...
          p / i1 ...
    }
  } ALLOVER(i1) ;\end{verbatim}
\normalsize


\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[btp]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Index i(x) ;
  OVERALL(i) {
    ... u.offset(i) ...
        x.idx(i) ...
        i.tem ...
        p / i ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Dimension d = x.dim() ;

  apgStack.push(&apg) ;
  apg.restrict(d) ;

  int glb ;
  if(x.local(&glb)) {
    ... 0 ...
        glb ...
        d.crd() ...
        p.restrict(d) ...
  }

  apgStack.pop(&apg) ;\end{verbatim}
\normalsize


\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[p]
\scriptsize
\begin{verbatim}  Index i1(x.ker()), j1(y.ker()) ;
  OVERALL(i1) {
    Block i ;
    x.block(i1.tem, &i) ;

    int a_off0_bas = a.map(0).disp(i.sub_bas) + a.map(0).ker().offset(i1) ;
    int a_off0_stp = a.map(0).step(i.sub_stp) ;

    for(int l = 0 ; l < i.count ; l++) {
      OVERALL(j1) {
        Block j ;
        y.block(j1.tem, &j) ;

        int a_off1_bas = a.map(1).disp(j.sub_bas) + a.map(0).ker().offset(j1) ;
        int a_off1_stp = a.map(1).step(j.sub_stp) ;

        int b_off0_bas = b.map(0).disp(i.sub_bas) + b.map(0).ker().offset(i1) ;
        int b_off0_stp = b.map(0).step(i.sub_stp) ;

        for(int m = 0 ; m < j.count ; m++) {
          a_dat [a_off0_bas + a_off0_stp * l +
                 a_off1_bas + a_off1_stp * m] =
                    b_dat [b_off0_bas + b_off0_stp * m] +
                    i.glb_bas + i.glb_stp * l ;
        }
      } ALLOVER(j1) ;
    }
  } ALLOVER(i1) ;\end{verbatim}
\normalsize

\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[p]
\scriptsize
\begin{verbatim}  Dimension d = x.ker().dim() ;
  apgStack.push(&apg) ;
  apg.restrict(d) ;

  int i1 ;
  if(x.ker().local(&i1) {
    Block i ;
    x.block(i1.tem, &i) ;

    int a_off0_bas = a.map(0).disp(i.sub_bas) + 0 ;
    int a_off0_stp = a.map(0).step(i.sub_stp) ;

    for(int l = 0 ; l < i.count ; l++) {
      Dimension e = y.ker().dim() ;
      apgStack.push(&apg) ;
      apg.restrict(e) ;

      int j1 ;
      if(y.ker().local(&j1) {
        Block j ;
        y.block(j1.tem, &j) ;

        int a_off1_bas = a.map(1).disp(j.sub_bas) + 0 ;
        int a_off1_stp = a.map(1).step(j.sub_stp) ;

        int b_off0_bas = b.map(0).disp(i.sub_bas) + 0 ;
        int b_off0_stp = b.map(0).step(i.sub_stp) ;

        for(int m = 0 ; m < j.count ; m++) {
          a_dat [a_off0_bas + a_off0_stp * l +
                 a_off1_bas + a_off1_stp * m] =
                    b_dat [b_off0_bas + b_off0_stp * m] +
                    i.glb_bas + i.glb_stp * l ;
        }
      }
      apgStack.pop(&apg) ;
    }
  }
  apgStack.pop(&apg) ;\end{verbatim}
\normalsize

\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[p]
\scriptsize
\begin{verbatim}  Dimension d = x.dim() ;

  Block i ;
  x.block(d.crd(), &i) ;

  int a_off0_bas = a.map(0).disp(i.sub_bas) ;
  int a_off0_stp = a.map(0).step(i.sub_stp) ;

  Dimension e = y.dim() ;

  Block j ;
  y.block(e.crd(), &j) ;

  int a_off1_bas = a.map(1).disp(j.sub_bas) ;
  int a_off1_stp = a.map(1).step(j.sub_stp) ;

  int b_off0_bas = b.map(0).disp(i.sub_bas) ;
  int b_off0_stp = b.map(0).step(i.sub_stp) ;

  for(int l = 0 ; l < i.count ; l++) {
    for(int m = 0 ; m < j.count ; m++) {
      a_dat [a_off0_bas + a_off0_stp * l + a_off1_bas + a_off1_stp * m] =
                b_dat [b_off0_bas + b_off0_stp * m] +
                i.glb_bas + i.glb_stp * l ;
    }
  }\end{verbatim}
\normalsize

\end{figure}
}

{\newpage
\clearpage
\samepage \begin{figure}[btp]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Index i(x) ;
  OVERALL(i) {
    ... u.offset(i) ...
        x.idx(i) ...
        i.tem ...
        p / i ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Dimension d = x.dim() ;
  apgStack.push(&apg) ;
  apg.restrict(d) ;

  Block i ;
  x.block(d.crd(), &i) ;

  int u_bas = u.disp(i.sub_bas) ;
  int u_stp = u.step(i.sub_stp) ;

  for(int l = 0 ; l < i.count ; l++) {
    ... u_bas + u_stp * l ...
        i.glb_bas + i.glb_stp * l ...
        i.tem_bas + i.tem_stp * l ...
        p.restrict(d) ...
  }

  apgStack.pop(&apg) ;\end{verbatim}
\normalsize


\end{figure}
}

\stepcounter{section}
{\newpage
\clearpage
\samepage \begin{figure}[btp]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Index i(x) ;
  OVERALL(i) {
    ... u.offset(i) ...
        x.idx(i) ...
        i.tem ...
        p / i ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;
  Map   u ;
  Group p ;

  Index i1(x.subker()) ;
  OVERALL(i1) {
    Block i ;
    x.block(i1.tem, &i) ;

    int u_bas = u.disp(i.sub_bas) + u.ker().offset(i1) ;
    int u_stp = u.step(i.sub_stp) ;

    for(int l = 0 ; l < i.count ; l++) {
      ... u_bas + u_stp * l ...
          i.glb_bas + i.glb_stp * l ...
          i.tem_bas + i.tem_stp * l ...
          p / i1 ...
    }
  } ALLOVER(i1) ;\end{verbatim}
\normalsize


\end{figure}
}

\stepcounter{section}
{\newpage
\clearpage
\samepage \begin{figure}[p]
{\bf SOURCE:}
\small
\begin{verbatim}  Range x ;
  Map   u ;

  Index i(x) ;
  OVERALL(i) {
    ... u.offset(i + s) ...
  } ALLOVER(i) ;\end{verbatim}
\normalsize
{\bf OUTPUT:}
\small
\begin{verbatim}  Range x ;
  Map   u ;

  LocBlocksIndex i(x) ;

  apgStack.push(&apg) ;
  apg.restrict(i.dim) ;
  for(i.beginLocBlk() ; i.test() ; i.nextLocBlk()) {
    int u_bas = u.offset(i) + s * u.str() ;
    int u_stp = u.step(i.sub_stp) ;

    for(int l = 0 ; l < i.count ; l++) {
      ... u_bas + u_stp * l ...
    }
  }
  apgStack.pop(&apg) ;\end{verbatim}
\normalsize

\end{figure}
}

\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{chapter}
\stepcounter{chapter}

\end{document}
