diff options
Diffstat (limited to 'src/matdet.F90')
-rw-r--r-- | src/matdet.F90 | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/matdet.F90 b/src/matdet.F90 index 27d452e..3ac9226 100644 --- a/src/matdet.F90 +++ b/src/matdet.F90 @@ -11,24 +11,27 @@ module matdet contains - subroutine calc_symdet4 (g4, dtg4) - CCTK_REAL, intent(in) :: g4(4,4) - CCTK_REAL, intent(out) :: dtg4 + subroutine calc_symdet4 (g4, dtg4, lerr) + CCTK_REAL, intent(in) :: g4(4,4) + CCTK_REAL, intent(out) :: dtg4 + logical, optional, intent(out) :: lerr CCTK_REAL :: tmp(4,4) integer :: ipiv(4) integer :: info integer :: nperms integer :: i - character :: msg*1000 + character :: msg*100 tmp = g4 call sytrf (4, 4, tmp, 4, ipiv, info) if (info < 0) then write (msg, '("Error in call to SYTRF, info=",i4)') info - call CCTK_WARN (1, trim(msg)) + call CCTK_WARN (1, msg) end if + if (present(lerr)) lerr = info /= 0 + if (info > 0) then dtg4 = 0 return |