view examples/fortsub.f @ 18588:e315eef4d1e1 draft

Fix uminus op support with scalar type
author LYH <lyh.kernel@gmail.com>
date Fri, 21 Mar 2014 14:59:39 -0400
parents 4295d634797d
children
line wrap: on
line source

      subroutine fortsub (n, a, s)
      implicit none
      character*(*) s
      real*8 a(*)
      integer*4 i, n, ioerr
      do i = 1, n
        if (a(i) .eq. 0d0) then
          call xstopx ('fortsub: divide by zero')
        else
          a(i) = 1d0 / a(i)
        endif
      enddo
      write (unit = s, fmt = '(a,i3,a,a)', iostat = ioerr)
     $       'There are ', n,
     $       ' values in the input vector', char(0)
      if (ioerr .ne. 0) then
        call xstopx ('fortsub: error writing string')
      endif
      return
      end