# Fortran contiguous variables

Fortran 2018 `contiguous`

arrays are discussed in pp.139-145 of “Modern Fortran Explained: Incorporating Fortran 2018”.
In general, operating on contiguous arrays is faster than non-contiguous arrays.

Contiguous variables happen by default, so unless using pointers or array striding, the variable is likely to be contiguous for simple Fortran code.
Check contiguous status of a variable with `is_contiguous`

intrinsic function.

A non-contiguous array actual argument into a `contiguous`

subroutine dummy argument is made contiguous by copy-in, copy-out.
This copy-in copy-out as needed is part of the
Fortran 2008
and
Fortran 2018
standard.
GCC ≥ 9,
Intel oneAPI,
IBM Open XL Fortran,
etc. work to Fortran 2008+ standard for `contiguous`

dummy argument copy-in, copy-out for non-contiguous actual argument.

References: Fortran 2008 Contiguity