33submodule (stdlib_linalg) stdlib_linalg_qr
44 use stdlib_linalg_constants
55 use stdlib_linalg_lapack, only: geqrf, orgqr, ungqr
6+ use stdlib_linalg_lapack_aux, only: handle_geqrf_info
67 use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, &
78 LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR
89 implicit none
@@ -64,29 +65,7 @@ submodule (stdlib_linalg) stdlib_linalg_qr
6465 err = linalg_state_type(this,LINALG_INTERNAL_ERROR,'catastrophic error')
6566 end select
6667
67- end subroutine handle_orgqr_info
68-
69- elemental subroutine handle_geqrf_info(info,m,n,lwork,err)
70- integer(ilp), intent(in) :: info,m,n,lwork
71- type(linalg_state_type), intent(out) :: err
72-
73- ! Process output
74- select case (info)
75- case (0)
76- ! Success
77- case (-1)
78- err = linalg_state_type(this,LINALG_VALUE_ERROR,'invalid matrix size m=',m)
79- case (-2)
80- err = linalg_state_type(this,LINALG_VALUE_ERROR,'invalid matrix size n=',n)
81- case (-4)
82- err = linalg_state_type(this,LINALG_VALUE_ERROR,'invalid matrix size a=',[m,n])
83- case (-7)
84- err = linalg_state_type(this,LINALG_ERROR,'invalid input for lwork=',lwork)
85- case default
86- err = linalg_state_type(this,LINALG_INTERNAL_ERROR,'catastrophic error')
87- end select
88-
89- end subroutine handle_geqrf_info
68+ end subroutine handle_orgqr_info
9069
9170 #:for rk,rt,ri in RC_KINDS_TYPES
9271
@@ -113,7 +92,7 @@ submodule (stdlib_linalg) stdlib_linalg_qr
11392 ! QR space
11493 lwork_qr = -1_ilp
11594 call geqrf(m,n,a_dummy,m,tau_dummy,work_dummy,lwork_qr,info)
116- call handle_geqrf_info(info,m,n,lwork_qr,err0)
95+ call handle_geqrf_info(this, info,m,n,lwork_qr,err0)
11796 if (err0%error()) then
11897 call linalg_error_handling(err0,err)
11998 return
@@ -224,7 +203,7 @@ submodule (stdlib_linalg) stdlib_linalg_qr
224203
225204 ! Compute factorization.
226205 call geqrf(m,n,amat,m,tau,work,lwork,info)
227- call handle_geqrf_info(info,m,n,lwork,err0)
206+ call handle_geqrf_info(this, info,m,n,lwork,err0)
228207
229208 if (err0%ok()) then
230209
0 commit comments