@@ -13,8 +13,9 @@ submodule (stdlib_linalg) stdlib_linalg_determinant
13
13
14
14
contains
15
15
16
+ ! BLAS/LAPACK backends do not currently support xdp
16
17
#:for rk,rt in RC_KINDS_TYPES
17
- #:if rk!="xdp" ! BLAS/LAPACK backends do not currently support xdp
18
+ #:if rk!="xdp"
18
19
module function stdlib_linalg_pure_${rt[0]}$${rk}$determinant(a) result(det)
19
20
!!### Summary
20
21
!! Compute determinant of a real square matrix (pure interface).
@@ -54,8 +55,8 @@ submodule (stdlib_linalg) stdlib_linalg_determinant
54
55
if (m/=n .or. .not.min(m,n)>=0) then
55
56
err0 = linalg_state_type(this,LINALG_VALUE_ERROR,'invalid or non-square matrix: a=[',m,',',n,']')
56
57
det = 0.0_${rk}$
57
- ! Process output and return
58
- call linalg_error_handling(err0)
58
+ ! Process output and return
59
+ call linalg_error_handling(err0)
59
60
return
60
61
end if
61
62
@@ -110,7 +111,7 @@ submodule (stdlib_linalg) stdlib_linalg_determinant
110
111
end select
111
112
112
113
! Process output and return
113
- 1 call linalg_error_handling(err0)
114
+ call linalg_error_handling(err0)
114
115
115
116
end function stdlib_linalg_pure_${rt[0]}$${rk}$determinant
116
117
@@ -161,9 +162,9 @@ submodule (stdlib_linalg) stdlib_linalg_determinant
161
162
if (m/=n .or. .not.min(m,n)>=0) then
162
163
err0 = linalg_state_type(this,LINALG_VALUE_ERROR,'invalid or non-square matrix: a=[',m,',',n,']')
163
164
det = 0.0_${rk}$
164
- ! Process output and return
165
- call linalg_error_handling(err0)
166
- return
165
+ ! Process output and return
166
+ call linalg_error_handling(err0,err )
167
+ return
167
168
end if
168
169
169
170
! Can A be overwritten? By default, do not overwrite
@@ -228,7 +229,7 @@ submodule (stdlib_linalg) stdlib_linalg_determinant
228
229
end select
229
230
230
231
! Process output and return
231
- 1 call linalg_error_handling(err0,err)
232
+ call linalg_error_handling(err0,err)
232
233
233
234
end function stdlib_linalg_${rt[0]}$${rk}$determinant
234
235
0 commit comments