aboutsummaryrefslogtreecommitdiff
path: root/src/matdet.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/matdet.F90')
-rw-r--r--src/matdet.F9013
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