Skip to content

Commit 324e73f

Browse files
authored
Merge pull request #913 from jalvesz/refactor_lapack
linalg: refactor blas/lapack modules
2 parents 8916fc5 + 6d15bb6 commit 324e73f

File tree

99 files changed

+562563
-528912
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+562563
-528912
lines changed

doc/specs/stdlib_linalg.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ for example:
9191
interface axpy
9292
pure subroutine caxpy(n,ca,cx,incx,cy,incy)
9393
import sp,dp,qp,ilp,lk
94-
implicit none(type,external)
94+
implicit none
9595
complex(sp), intent(in) :: ca,cx(*)
9696
integer(ilp), intent(in) :: incx,incy,n
9797
complex(sp), intent(inout) :: cy(*)

example/linalg/example_blas_gemv.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
program example_gemv
22
use stdlib_linalg, only: eye
33
use stdlib_linalg_blas, only: sp,gemv
4-
implicit none(type,external)
4+
implicit none
55
real(sp) :: A(2, 2), B(2), C(2)
66
B = [1.0,2.0]
77
A = eye(2)

example/linalg/example_lapack_getrf.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
program example_getrf
22
use stdlib_linalg, only: eye
33
use stdlib_linalg_lapack, only: dp,ilp,getrf
4-
implicit none(type,external)
4+
implicit none
55
real(dp) :: A(3, 3)
66
integer(ilp) :: ipiv(3),info
77

example/linalg/example_pseudoinverse.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
! Matrix pseudo-inversion example: function, subroutine, and operator interfaces
22
program example_pseudoinverse
33
use stdlib_linalg, only: pinv, pseudoinvert, operator(.pinv.), linalg_state_type
4-
implicit none(type,external)
4+
implicit none
55

66
real :: A(15,5), Am1(5,15)
77
type(linalg_state_type) :: state

example/linalg/example_qr.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
program example_qr
22
use stdlib_linalg, only: qr
3-
implicit none(type,external)
3+
implicit none
44
real :: A(104, 32), Q(104,32), R(32,32)
55

66
! Create a random matrix

example/linalg/example_qr_space.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
program example_qr_space
33
use stdlib_linalg_constants, only: ilp
44
use stdlib_linalg, only: qr, qr_space, linalg_state_type
5-
implicit none(type,external)
5+
implicit none
66
real :: A(104, 32), Q(104,32), R(32,32)
77
real, allocatable :: work(:)
88
integer(ilp) :: lwork

src/CMakeLists.txt

Lines changed: 68 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ set(fppFiles
2121
stdlib_io_npy_load.fypp
2222
stdlib_io_npy_save.fypp
2323
stdlib_kinds.fypp
24+
blas/stdlib_blas_constants.fypp
2425
stdlib_linalg.fypp
2526
stdlib_linalg_diag.fypp
2627
stdlib_linalg_least_squares.fypp
@@ -85,22 +86,75 @@ set(fppFiles
8586
# Preprocessed files to contain preprocessor directives -> .F90
8687
set(cppFiles
8788
stdlib_linalg_constants.fypp
89+
blas/stdlib_blas.fypp
90+
blas/stdlib_linalg_blas_aux.fypp
91+
blas/stdlib_blas_level1.fypp
92+
blas/stdlib_blas_level2_gen.fypp
93+
blas/stdlib_blas_level2_ban.fypp
94+
blas/stdlib_blas_level2_pac.fypp
95+
blas/stdlib_blas_level2_sym.fypp
96+
blas/stdlib_blas_level2_tri.fypp
97+
blas/stdlib_blas_level3_gen.fypp
98+
blas/stdlib_blas_level3_sym.fypp
99+
blas/stdlib_blas_level3_tri.fypp
100+
101+
lapack/stdlib_lapack_base.fypp
102+
lapack/stdlib_lapack_solve.fypp
103+
lapack/stdlib_lapack_others.fypp
104+
lapack/stdlib_lapack_orthogonal_factors.fypp
105+
lapack/stdlib_lapack_eig_svd_lsq.fypp
106+
lapack/stdlib_linalg_lapack_aux.fypp
107+
108+
lapack/stdlib_lapack_auxiliary.fypp
109+
lapack/stdlib_lapack_blas_like_base.fypp
110+
lapack/stdlib_lapack_blas_like_l1.fypp
111+
lapack/stdlib_lapack_blas_like_l2.fypp
112+
lapack/stdlib_lapack_blas_like_l3.fypp
113+
lapack/stdlib_lapack_blas_like_mnorm.fypp
114+
lapack/stdlib_lapack_blas_like_scalar.fypp
115+
lapack/stdlib_lapack_cosine_sine.fypp
116+
lapack/stdlib_lapack_cosine_sine2.fypp
117+
lapack/stdlib_lapack_eigv_comp.fypp
118+
lapack/stdlib_lapack_eigv_comp2.fypp
119+
lapack/stdlib_lapack_eigv_gen.fypp
120+
lapack/stdlib_lapack_eigv_gen2.fypp
121+
lapack/stdlib_lapack_eigv_gen3.fypp
122+
lapack/stdlib_lapack_eigv_std_driver.fypp
123+
lapack/stdlib_lapack_eigv_svd_bidiag_dc.fypp
124+
lapack/stdlib_lapack_eigv_svd_drivers.fypp
125+
lapack/stdlib_lapack_eigv_svd_drivers2.fypp
126+
lapack/stdlib_lapack_eigv_svd_drivers3.fypp
127+
lapack/stdlib_lapack_eigv_sym_comp.fypp
128+
lapack/stdlib_lapack_eigv_sym.fypp
129+
lapack/stdlib_lapack_eigv_tridiag.fypp
130+
lapack/stdlib_lapack_eigv_tridiag2.fypp
131+
lapack/stdlib_lapack_eigv_tridiag3.fypp
132+
lapack/stdlib_lapack_givens_jacobi_rot.fypp
133+
lapack/stdlib_lapack_householder_reflectors.fypp
134+
lapack/stdlib_lapack_lsq.fypp
135+
lapack/stdlib_lapack_lsq_aux.fypp
136+
lapack/stdlib_lapack_lsq_constrained.fypp
137+
lapack/stdlib_lapack_orthogonal_factors_ql.fypp
138+
lapack/stdlib_lapack_orthogonal_factors_qr.fypp
139+
lapack/stdlib_lapack_orthogonal_factors_rz.fypp
140+
lapack/stdlib_lapack_others_sm.fypp
141+
lapack/stdlib_lapack_solve_aux.fypp
142+
lapack/stdlib_lapack_solve_chol_comp.fypp
143+
lapack/stdlib_lapack_solve_chol.fypp
144+
lapack/stdlib_lapack_solve_ldl_comp.fypp
145+
lapack/stdlib_lapack_solve_ldl_comp2.fypp
146+
lapack/stdlib_lapack_solve_ldl_comp3.fypp
147+
lapack/stdlib_lapack_solve_ldl_comp4.fypp
148+
lapack/stdlib_lapack_solve_ldl.fypp
149+
lapack/stdlib_lapack_solve_lu_comp.fypp
150+
lapack/stdlib_lapack_solve_lu.fypp
151+
lapack/stdlib_lapack_solve_tri_comp.fypp
152+
lapack/stdlib_lapack_svd_bidiag_qr.fypp
153+
lapack/stdlib_lapack_svd_comp.fypp
154+
lapack/stdlib_lapack_svd_comp2.fypp
155+
88156
stdlib_linalg_blas.fypp
89-
stdlib_linalg_blas_aux.fypp
90-
stdlib_linalg_blas_s.fypp
91-
stdlib_linalg_blas_d.fypp
92-
stdlib_linalg_blas_q.fypp
93-
stdlib_linalg_blas_c.fypp
94-
stdlib_linalg_blas_z.fypp
95-
stdlib_linalg_blas_w.fypp
96157
stdlib_linalg_lapack.fypp
97-
stdlib_linalg_lapack_aux.fypp
98-
stdlib_linalg_lapack_s.fypp
99-
stdlib_linalg_lapack_d.fypp
100-
stdlib_linalg_lapack_q.fypp
101-
stdlib_linalg_lapack_c.fypp
102-
stdlib_linalg_lapack_z.fypp
103-
stdlib_linalg_lapack_w.fypp
104158
)
105159

106160
fypp_f90("${fyppFlags}" "${fppFiles}" outFiles)

0 commit comments

Comments
 (0)