Fortran Intrinsics#
This is a collection of extended descriptions of the Fortran intrinsics based on the reference document « Current F2018 Working Document as of April 2018 ». Vendor-specific extensions are not included.
☛Array Operations#
Properties and attributes of arrays#
☛Mathematics#
General mathematical functions#
☛Type and Kind#
☛Numeric#
Manipulation and properties of numeric values#
☛Transformational#
Matrix multiplication, Dot product, array shifts,#
☛General State#
General and miscellaneous intrinsics on state of variables and I/O#
☛Character#
basic procedures specifically for manipulating character variables#
☛System Environment#
accessing external system information such as environmental variables, command line arguments, date and timing data …#
☛C Interface#
procedures useful for binding to C interfaces#
☛Bit-level#
bit-level manipulation and inquiry of values0#
☛Parallel Programming#
Parallel programming using co-arrays and co-indexing#
☛Numeric Model#
numeric compiler-specific numeric model information#
☛Compiler Information#
information about compiler version and compiler options used for building#
Overview#
The standard documents and most vendor-supplied descriptions of the intrinsics are often very brief and concise to the point of the functionality of the intrinsics being obscure, particularly to someone unfamiliar with the procedure.
By describing the procedures here
in greater detail
with a working example
providing links to additional resources (including additional documents at fortran-lang.org and related discussions in Fortran Discourse)
these documents strive to be a valuable asset for Fortran programmers.
This is a community-driven resource and everyone is encouraged to contribute to the documents. For contribution guidelines see MINIBOOKS and the following Copyright guidelines.
See Also#
The Fortran stdlib project
fpm(1) packages, many of which are general-purpose libraries/modules
Experimental#
fman(1) A self-contained Fortran program that lets you view the non-graphical plain ASCII portions of the documentation from a terminal interface. Compile the program and enter « ./fman –help » for directions.
man pages A gzipped tar(1) file containing early versions of man-pages derived from the markdown documents.
Typical installation on a Linux platform as an administrator ( but it varies) :
# as the administrator
cd /usr/share
tar xvfz /tmp/fortran.tgz
cd man
mandb -c
then anyone on that plaform can enter commands like
man sinh.3fortran # specifically show Fortran sinh(3) documentation
man -k . -s 3fortran # list all fortran pages
man -s 3fortran --regex '.*' |col -b # show all Fortran intrinsics
See man(1) (ie. enter "man man") for more information.
If you can only install the pages on your own ID, try
# as a user, placing the files in ~/man:
cd
tar xvfz /tmp/fortran.tgz
cd man
mandb -c
export MANPATH="$MANPATH:$HOME/man"
export MANWIDTH=80
Still debating whether having to keep the document limited to ANSI
characters is worth-while so these formats can be generated, and
still having issues converting the markdown to the proper formats.
Text Content Copyrights#
Many of the documents presented here are modified versions of man-pages from the Fortran Wiki and as such are available under the terms of the GNU Free Documentation License GFDL with no invariant sections, front-cover texts, or back-cover texts.
If you contribute to this site by modifying the files marked as GFDL, you thereby agree to license the contributed material to the public under the GFDL (version 1.2 or any later version published by the Free Software Foundation, with no invariant sections, front-cover texts, or back-cover texts).
If you contribute new material you thereby agree to release it under the MIT license, and should indicate this by placing MIT on the specially-formatted last line. For example, change
###### fortran-lang intrinsic descriptions
to
###### fortran-lang intrinsic descriptions (Iicense: MIT) @urbanjost