Skip to content

Commit

Permalink
Merge pull request #913 from jalvesz/refactor_lapack
Browse files Browse the repository at this point in the history
linalg: refactor blas/lapack modules
  • Loading branch information
jalvesz authored Jan 24, 2025
2 parents 8916fc5 + 6d15bb6 commit 324e73f
Show file tree
Hide file tree
Showing 99 changed files with 562,563 additions and 528,912 deletions.
2 changes: 1 addition & 1 deletion doc/specs/stdlib_linalg.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ for example:
interface axpy
pure subroutine caxpy(n,ca,cx,incx,cy,incy)
import sp,dp,qp,ilp,lk
implicit none(type,external)
implicit none
complex(sp), intent(in) :: ca,cx(*)
integer(ilp), intent(in) :: incx,incy,n
complex(sp), intent(inout) :: cy(*)
Expand Down
2 changes: 1 addition & 1 deletion example/linalg/example_blas_gemv.f90
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
program example_gemv
use stdlib_linalg, only: eye
use stdlib_linalg_blas, only: sp,gemv
implicit none(type,external)
implicit none
real(sp) :: A(2, 2), B(2), C(2)
B = [1.0,2.0]
A = eye(2)
Expand Down
2 changes: 1 addition & 1 deletion example/linalg/example_lapack_getrf.f90
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
program example_getrf
use stdlib_linalg, only: eye
use stdlib_linalg_lapack, only: dp,ilp,getrf
implicit none(type,external)
implicit none
real(dp) :: A(3, 3)
integer(ilp) :: ipiv(3),info

Expand Down
2 changes: 1 addition & 1 deletion example/linalg/example_pseudoinverse.f90
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
! Matrix pseudo-inversion example: function, subroutine, and operator interfaces
program example_pseudoinverse
use stdlib_linalg, only: pinv, pseudoinvert, operator(.pinv.), linalg_state_type
implicit none(type,external)
implicit none

real :: A(15,5), Am1(5,15)
type(linalg_state_type) :: state
Expand Down
2 changes: 1 addition & 1 deletion example/linalg/example_qr.f90
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
program example_qr
use stdlib_linalg, only: qr
implicit none(type,external)
implicit none
real :: A(104, 32), Q(104,32), R(32,32)

! Create a random matrix
Expand Down
2 changes: 1 addition & 1 deletion example/linalg/example_qr_space.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
program example_qr_space
use stdlib_linalg_constants, only: ilp
use stdlib_linalg, only: qr, qr_space, linalg_state_type
implicit none(type,external)
implicit none
real :: A(104, 32), Q(104,32), R(32,32)
real, allocatable :: work(:)
integer(ilp) :: lwork
Expand Down
82 changes: 68 additions & 14 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ set(fppFiles
stdlib_io_npy_load.fypp
stdlib_io_npy_save.fypp
stdlib_kinds.fypp
blas/stdlib_blas_constants.fypp
stdlib_linalg.fypp
stdlib_linalg_diag.fypp
stdlib_linalg_least_squares.fypp
Expand Down Expand Up @@ -85,22 +86,75 @@ set(fppFiles
# Preprocessed files to contain preprocessor directives -> .F90
set(cppFiles
stdlib_linalg_constants.fypp
blas/stdlib_blas.fypp
blas/stdlib_linalg_blas_aux.fypp
blas/stdlib_blas_level1.fypp
blas/stdlib_blas_level2_gen.fypp
blas/stdlib_blas_level2_ban.fypp
blas/stdlib_blas_level2_pac.fypp
blas/stdlib_blas_level2_sym.fypp
blas/stdlib_blas_level2_tri.fypp
blas/stdlib_blas_level3_gen.fypp
blas/stdlib_blas_level3_sym.fypp
blas/stdlib_blas_level3_tri.fypp

lapack/stdlib_lapack_base.fypp
lapack/stdlib_lapack_solve.fypp
lapack/stdlib_lapack_others.fypp
lapack/stdlib_lapack_orthogonal_factors.fypp
lapack/stdlib_lapack_eig_svd_lsq.fypp
lapack/stdlib_linalg_lapack_aux.fypp

lapack/stdlib_lapack_auxiliary.fypp
lapack/stdlib_lapack_blas_like_base.fypp
lapack/stdlib_lapack_blas_like_l1.fypp
lapack/stdlib_lapack_blas_like_l2.fypp
lapack/stdlib_lapack_blas_like_l3.fypp
lapack/stdlib_lapack_blas_like_mnorm.fypp
lapack/stdlib_lapack_blas_like_scalar.fypp
lapack/stdlib_lapack_cosine_sine.fypp
lapack/stdlib_lapack_cosine_sine2.fypp
lapack/stdlib_lapack_eigv_comp.fypp
lapack/stdlib_lapack_eigv_comp2.fypp
lapack/stdlib_lapack_eigv_gen.fypp
lapack/stdlib_lapack_eigv_gen2.fypp
lapack/stdlib_lapack_eigv_gen3.fypp
lapack/stdlib_lapack_eigv_std_driver.fypp
lapack/stdlib_lapack_eigv_svd_bidiag_dc.fypp
lapack/stdlib_lapack_eigv_svd_drivers.fypp
lapack/stdlib_lapack_eigv_svd_drivers2.fypp
lapack/stdlib_lapack_eigv_svd_drivers3.fypp
lapack/stdlib_lapack_eigv_sym_comp.fypp
lapack/stdlib_lapack_eigv_sym.fypp
lapack/stdlib_lapack_eigv_tridiag.fypp
lapack/stdlib_lapack_eigv_tridiag2.fypp
lapack/stdlib_lapack_eigv_tridiag3.fypp
lapack/stdlib_lapack_givens_jacobi_rot.fypp
lapack/stdlib_lapack_householder_reflectors.fypp
lapack/stdlib_lapack_lsq.fypp
lapack/stdlib_lapack_lsq_aux.fypp
lapack/stdlib_lapack_lsq_constrained.fypp
lapack/stdlib_lapack_orthogonal_factors_ql.fypp
lapack/stdlib_lapack_orthogonal_factors_qr.fypp
lapack/stdlib_lapack_orthogonal_factors_rz.fypp
lapack/stdlib_lapack_others_sm.fypp
lapack/stdlib_lapack_solve_aux.fypp
lapack/stdlib_lapack_solve_chol_comp.fypp
lapack/stdlib_lapack_solve_chol.fypp
lapack/stdlib_lapack_solve_ldl_comp.fypp
lapack/stdlib_lapack_solve_ldl_comp2.fypp
lapack/stdlib_lapack_solve_ldl_comp3.fypp
lapack/stdlib_lapack_solve_ldl_comp4.fypp
lapack/stdlib_lapack_solve_ldl.fypp
lapack/stdlib_lapack_solve_lu_comp.fypp
lapack/stdlib_lapack_solve_lu.fypp
lapack/stdlib_lapack_solve_tri_comp.fypp
lapack/stdlib_lapack_svd_bidiag_qr.fypp
lapack/stdlib_lapack_svd_comp.fypp
lapack/stdlib_lapack_svd_comp2.fypp

stdlib_linalg_blas.fypp
stdlib_linalg_blas_aux.fypp
stdlib_linalg_blas_s.fypp
stdlib_linalg_blas_d.fypp
stdlib_linalg_blas_q.fypp
stdlib_linalg_blas_c.fypp
stdlib_linalg_blas_z.fypp
stdlib_linalg_blas_w.fypp
stdlib_linalg_lapack.fypp
stdlib_linalg_lapack_aux.fypp
stdlib_linalg_lapack_s.fypp
stdlib_linalg_lapack_d.fypp
stdlib_linalg_lapack_q.fypp
stdlib_linalg_lapack_c.fypp
stdlib_linalg_lapack_z.fypp
stdlib_linalg_lapack_w.fypp
)

fypp_f90("${fyppFlags}" "${fppFiles}" outFiles)
Expand Down
Loading

0 comments on commit 324e73f

Please sign in to comment.