Skip to content

Commit

Permalink
Merge branch 'fortran-lang:master' into intrinsics
Browse files Browse the repository at this point in the history
  • Loading branch information
jalvesz authored Jan 29, 2025
2 parents 65175d7 + 74f5f90 commit 8a35f38
Show file tree
Hide file tree
Showing 103 changed files with 562,598 additions and 528,921 deletions.
15 changes: 7 additions & 8 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,16 @@ jobs:
- {compiler: gcc, version: 11}
- {compiler: gcc, version: 12}
- {compiler: gcc, version: 13}
- {compiler: intel, version: '2024.1'}
- {compiler: intel-classic, version: '2021.9'}
build: [cmake]
- {compiler: intel, version: '2024.1'}
build: [cmake]
include:
- os: ubuntu-22.04
build: cmake
toolchain: {compiler: intel-classic, version: '2021.10'}
- os: ubuntu-latest
build: cmake-inline
toolchain:
- {compiler: gcc, version: 10}
toolchain: {compiler: gcc, version: 10}
exclude:
- os: macos-13
toolchain: {compiler: intel-classic, version: '2021.9'}
- os: macos-13
toolchain: {compiler: intel, version: '2024.1'}
- os: macos-13
Expand All @@ -56,7 +55,7 @@ jobs:
run: pip install --upgrade fypp ninja

- name: Setup Fortran compiler
uses: fortran-lang/[email protected].1
uses: fortran-lang/[email protected].2
id: setup-fortran
with:
compiler: ${{ matrix.toolchain.compiler }}
Expand Down
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
18 changes: 4 additions & 14 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,24 +88,14 @@ set(fppFiles
# Preprocessed files to contain preprocessor directives -> .F90
set(cppFiles
stdlib_linalg_constants.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
)

add_subdirectory(blas)
add_subdirectory(lapack)

fypp_f90("${fyppFlags}" "${fppFiles}" outFiles)
fypp_f90pp("${fyppFlags}" "${cppFiles}" outPreprocFiles)

Expand Down
24 changes: 24 additions & 0 deletions src/blas/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
####

set(dir "${CMAKE_CURRENT_SOURCE_DIR}")

list(APPEND fppFiles
blas/stdlib_blas_constants.fypp
)

list(APPEND cppFiles
blas/stdlib_blas.fypp
blas/stdlib_blas_level1.fypp
blas/stdlib_blas_level2_ban.fypp
blas/stdlib_blas_level2_gen.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
blas/stdlib_linalg_blas_aux.fypp
)

set(fppFiles "${fppFiles}" PARENT_SCOPE)
set(cppFiles "${cppFiles}" PARENT_SCOPE)
Loading

0 comments on commit 8a35f38

Please sign in to comment.