Pros:
- Terse, reuses actual procedure declaration
- All argument attributes are visible
Cons:
module day4 | |
use fortran202x_split, only: split | |
!! The `fortran202x_split` module can be downloaded from: | |
!! https://github.com/milancurcic/fortran202x_split | |
implicit none | |
private | |
public :: count_passports |
module quadtree | |
! Adapted from the tutorial at https://scipython.com/blog/quadtrees-2-implementation-in-python/ | |
implicit none | |
integer, parameter :: wp = kind(1.0d0) | |
type :: qtnode | |
real(wp) :: c(2) |
module nheap_mod | |
implicit none | |
private | |
public :: nheap | |
integer, parameter :: wp = kind(1.0d0) | |
! Sparse BLAS matrix-vector product example | |
! | |
! The following code demonstrates the creation of | |
! a CSR matrix, and the sparse matrix-vector product | |
! using the sparse BLAS functions in Intel MKL. | |
! | |
! For linking options for your specific platform see | |
! the Intel MKL link line advisor located at: | |
! https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl/link-line-advisor.html | |
! |
! | |
! PCG Random Number Generation for Fortran | |
! Ported from the minimal C version by Melissa O'Neill | |
! | |
! Copyright 2020 Ivan Pribec <[email protected]> | |
! | |
! | |
! Copyright 2014 Melissa O'Neill <[email protected]> | |
! |
!> Check Endianess | |
!> | |
!> Inspect the endianess of the platform. | |
!> | |
!> Based on a program posted by @urbanjost ([email protected]) | |
!> posted at https://github.com/fortran-lang/stdlib/issues/323. The original | |
!> program was based on ideas from the Code Tuning co-guide, 1998 Lahey Fortran | |
!> Users' Conference. | |
!> | |
!> Author: Ivan Pribec ([email protected]) |
module integer_list_mod | |
implicit none | |
private | |
public :: integer_list | |
type :: index_t | |
private | |
integer :: idx |
module pad_mod | |
implicit none | |
interface padl | |
module procedure padl_blank | |
module procedure padl_char | |
end interface | |
interface padr |
module lapack | |
implicit none | |
interface | |
subroutine sgetrf(m,n,a,lda,ipiv,info) | |
integer, intent(in) :: m, n, lda | |
real, intent(inout) :: a(lda,*) | |
integer, intent(out) :: ipiv(*) | |
integer, intent(out) :: info |