Mercurial > octave-nkf
view examples/code/fortransub.f @ 20603:f61c67865d9f
Don't return A for inv (A) when A is a singular Diagonal matrix (bug #46103).
* dDiagMatrix.cc (inverse), fDiagMatrix.cc (inverse): return octave_Inf for the
inverse of a diagonal element whose value is 0.
* test/diag-perm.tst: Add tests for new behavior.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 07 Oct 2015 07:41:44 -0700 |
parents | c8240a60dd01 |
children |
line wrap: on
line source
subroutine fortransub (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 ('fortransub: 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 ('fortransub: error writing string') endif return end