NOTE: Some Fortran compilers let you read NaN and Infinity from a character string (an extension to F95 but standard in F2003) but may not have the F2003 IEEE_ARITHMETIC intrinsic module. The values you get may differ from the IEEE values (especially NaN). Only one program below, kinds03.f90, uses that module. It also uses the F2003 intrinsic module ISO_FORTRAN_ENV. Programs below that involve NaN and Infinity try to read them but continue without them if the reading fails. Reading them may succeed even if calculations like 0.0/0.0 or 1.0/0.0 would fail.

. . The latest version (3 November 2021) of my notes on Fortran 95 for Fortran 77 users. PDF file f95f77.pdf: here
. . G95 tgz files:
. . . . Source code here
. . . . Binary for x86_64 Linux here
. . . . Binary for Sparc Solaris here
. . . . Binary for x86 Solaris here
. . Additional index entries for the Fortran 2003 Handbook here
. . Notes on compilers available to SMS and SECS at VUW here
. . Programs illustrating features of Fortran and its compilers
. . . . Combining finite rotations by using quaternions: here
. . . . Printing properties of the various real and integer kinds
. . . . . . without the ISO or IEEE intrinsic modules, kinds.f90: here
. . . . . . with those Fortran 2003 intrinsic modules, kinds03.f90: here
. . . . Showing 19 different uses of * in Fortran 95, test19stars.f: here
. . . . Showing 20 different uses of * in Fortran 2008, test20stars.f: here
. . . . Showing 29 different uses of * in Fortran 2018, test29stars.f: here
. . . . Printing hexcodes for NaN and Infinity without using IEEE modules, testnaninf.f: here
. . Fortran 95/2003 module with test programs to simulate F0.n format with various options
. . . . For compilers supporting exceptional values NaN and Infinity, f0withNaNInf.f90: here
. . . . For compilers not supporting those exceptional values, f0noNaNInf.f90: here
. . Programs that exposed bugs (some now fixed) in some Fortran compilers
. . . . Six unfixed bugs in g95: here
. . . . Two programs using ADVANCE='NO' that different compilers treat differently: here and here
. . . . Using a generic function that has two specific forms, one of which invokes the other: here
. . . . Using a FORALL statement with a character array: here
. . . . Printing an enormous number in F0.0 format: here
. . . . Using a public generic function with specific functions of private types (valid F2003 but bad F95): here
. . . . Printing the value of a public generic function with specific functions of private types: here