deallocate-GMRES.inc


#ifdef use_allocatable
      if (allocated(w)) deallocate( w )
#else
# if defined(mmsl)
      if (ipw .ne. 0) then
       call MMRELBLK ('w-GMRES', '-GMRES', ipw, memerr)
      endif
# elif defined(mms)
      if (ipw .ne. 0) call RELVAR ('w-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (ipw .ne. 0) call FREE (ipw)
# elif defined(aix)
      if (ipw .ne. 0) call FREE (%val(ipw))
# elif defined(cray)
      if (ipw .ne. 0) call HPDEALLC (ipw, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(c)) deallocate( c )
#else
# if defined(mmsl)
      if (ipc .ne. 0) then
       call MMRELBLK ('c-GMRES', '-GMRES', ipc, memerr)
      endif
# elif defined(mms)
      if (ipc .ne. 0) call RELVAR ('c-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (ipc .ne. 0) call FREE (ipc)
# elif defined(aix)
      if (ipc .ne. 0) call FREE (%val(ipc))
# elif defined(cray)
      if (ipc .ne. 0) call HPDEALLC (ipc, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(s)) deallocate( s )
#else
# if defined(mmsl)
      if (ips .ne. 0) then
       call MMRELBLK ('s-GMRES', '-GMRES', ips, memerr)
      endif
# elif defined(mms)
      if (ips .ne. 0) call RELVAR ('s-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (ips .ne. 0) call FREE (ips)
# elif defined(aix)
      if (ips .ne. 0) call FREE (%val(ips))
# elif defined(cray)
      if (ips .ne. 0) call HPDEALLC (ips, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(r)) deallocate( r )
#else
# if defined(mmsl)
      if (ipr .ne. 0) then
       call MMRELBLK ('r-GMRES', '-GMRES', ipr, memerr)
      endif
# elif defined(mms)
      if (ipr .ne. 0) call RELVAR ('r-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (ipr .ne. 0) call FREE (ipr)
# elif defined(aix)
      if (ipr .ne. 0) call FREE (%val(ipr))
# elif defined(cray)
      if (ipr .ne. 0) call HPDEALLC (ipr, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(rt)) deallocate( rt )
#else
# if defined(mmsl)
      if (iprt .ne. 0) then
       call MMRELBLK ('rt-GMRES', '-GMRES', iprt, memerr)
      endif
# elif defined(mms)
      if (iprt .ne. 0) call RELVAR ('rt-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (iprt .ne. 0) call FREE (iprt)
# elif defined(aix)
      if (iprt .ne. 0) call FREE (%val(iprt))
# elif defined(cray)
      if (iprt .ne. 0) call HPDEALLC (iprt, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(h)) deallocate( h )
#else
# if defined(mmsl)
      if (iph .ne. 0) then
       call MMRELBLK ('h-GMRES', '-GMRES', iph, memerr)
      endif
# elif defined(mms)
      if (iph .ne. 0) call RELVAR ('h-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (iph .ne. 0) call FREE (iph)
# elif defined(aix)
      if (iph .ne. 0) call FREE (%val(iph))
# elif defined(cray)
      if (iph .ne. 0) call HPDEALLC (iph, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(v)) deallocate( v )
#else
# if defined(mmsl)
      if (ipv .ne. 0) then
       call MMRELBLK ('v-GMRES', '-GMRES', ipv, memerr)
      endif
# elif defined(mms)
      if (ipv .ne. 0) call RELVAR ('v-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (ipv .ne. 0) call FREE (ipv)
# elif defined(aix)
      if (ipv .ne. 0) call FREE (%val(ipv))
# elif defined(cray)
      if (ipv .ne. 0) call HPDEALLC (ipv, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(xold)) deallocate( xold )
#else
# if defined(mmsl)
      if (ipxold .ne. 0) then
       call MMRELBLK ('xold-GMR', '-GMRES', ipxold, memerr)
      endif
# elif defined(mms)
      if (ipxold .ne. 0) call RELVAR ('xold-GMR', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (ipxold .ne. 0) call FREE (ipxold)
# elif defined(aix)
      if (ipxold .ne. 0) call FREE (%val(ipxold))
# elif defined(cray)
      if (ipxold .ne. 0) call HPDEALLC (ipxold, memerr, 0)
# endif
#endif
#ifdef use_allocatable
      if (allocated(xt)) deallocate( xt )
#else
# if defined(mmsl)
      if (ipxt .ne. 0) then
       call MMRELBLK ('xt-GMRES', '-GMRES', ipxt, memerr)
      endif
# elif defined(mms)
      if (ipxt .ne. 0) call RELVAR ('xt-GMRES', memerr)
# elif defined(sun) || defined(hpux) || defined(irix) || defined(osf1)
      if (ipxt .ne. 0) call FREE (ipxt)
# elif defined(aix)
      if (ipxt .ne. 0) call FREE (%val(ipxt))
# elif defined(cray)
      if (ipxt .ne. 0) call HPDEALLC (ipxt, memerr, 0)
# endif
#endif