Skip to content

Commit 8a35f38

Browse files
authored
Merge branch 'fortran-lang:master' into intrinsics
2 parents 65175d7 + 74f5f90 commit 8a35f38

File tree

103 files changed

+562598
-528921
lines changed

Some content is hidden

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

103 files changed

+562598
-528921
lines changed

.github/workflows/CI.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,16 @@ jobs:
2525
- {compiler: gcc, version: 11}
2626
- {compiler: gcc, version: 12}
2727
- {compiler: gcc, version: 13}
28-
- {compiler: intel, version: '2024.1'}
29-
- {compiler: intel-classic, version: '2021.9'}
30-
build: [cmake]
28+
- {compiler: intel, version: '2024.1'}
29+
build: [cmake]
3130
include:
31+
- os: ubuntu-22.04
32+
build: cmake
33+
toolchain: {compiler: intel-classic, version: '2021.10'}
3234
- os: ubuntu-latest
3335
build: cmake-inline
34-
toolchain:
35-
- {compiler: gcc, version: 10}
36+
toolchain: {compiler: gcc, version: 10}
3637
exclude:
37-
- os: macos-13
38-
toolchain: {compiler: intel-classic, version: '2021.9'}
3938
- os: macos-13
4039
toolchain: {compiler: intel, version: '2024.1'}
4140
- os: macos-13
@@ -56,7 +55,7 @@ jobs:
5655
run: pip install --upgrade fypp ninja
5756

5857
- name: Setup Fortran compiler
59-
uses: fortran-lang/setup-fortran@v1.6.1
58+
uses: fortran-lang/setup-fortran@v1.6.2
6059
id: setup-fortran
6160
with:
6261
compiler: ${{ matrix.toolchain.compiler }}

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: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -88,24 +88,14 @@ set(fppFiles
8888
# Preprocessed files to contain preprocessor directives -> .F90
8989
set(cppFiles
9090
stdlib_linalg_constants.fypp
91+
9192
stdlib_linalg_blas.fypp
92-
stdlib_linalg_blas_aux.fypp
93-
stdlib_linalg_blas_s.fypp
94-
stdlib_linalg_blas_d.fypp
95-
stdlib_linalg_blas_q.fypp
96-
stdlib_linalg_blas_c.fypp
97-
stdlib_linalg_blas_z.fypp
98-
stdlib_linalg_blas_w.fypp
9993
stdlib_linalg_lapack.fypp
100-
stdlib_linalg_lapack_aux.fypp
101-
stdlib_linalg_lapack_s.fypp
102-
stdlib_linalg_lapack_d.fypp
103-
stdlib_linalg_lapack_q.fypp
104-
stdlib_linalg_lapack_c.fypp
105-
stdlib_linalg_lapack_z.fypp
106-
stdlib_linalg_lapack_w.fypp
10794
)
10895

96+
add_subdirectory(blas)
97+
add_subdirectory(lapack)
98+
10999
fypp_f90("${fyppFlags}" "${fppFiles}" outFiles)
110100
fypp_f90pp("${fyppFlags}" "${cppFiles}" outPreprocFiles)
111101

src/blas/CMakeLists.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
####
2+
3+
set(dir "${CMAKE_CURRENT_SOURCE_DIR}")
4+
5+
list(APPEND fppFiles
6+
blas/stdlib_blas_constants.fypp
7+
)
8+
9+
list(APPEND cppFiles
10+
blas/stdlib_blas.fypp
11+
blas/stdlib_blas_level1.fypp
12+
blas/stdlib_blas_level2_ban.fypp
13+
blas/stdlib_blas_level2_gen.fypp
14+
blas/stdlib_blas_level2_pac.fypp
15+
blas/stdlib_blas_level2_sym.fypp
16+
blas/stdlib_blas_level2_tri.fypp
17+
blas/stdlib_blas_level3_gen.fypp
18+
blas/stdlib_blas_level3_sym.fypp
19+
blas/stdlib_blas_level3_tri.fypp
20+
blas/stdlib_linalg_blas_aux.fypp
21+
)
22+
23+
set(fppFiles "${fppFiles}" PARENT_SCOPE)
24+
set(cppFiles "${cppFiles}" PARENT_SCOPE)

0 commit comments

Comments
 (0)