Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Fortran
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Fortran 95=== {{Redirect|F95|the Düsseldorf-based football club nicknamed "F95"|Fortuna Düsseldorf}} {{Main|Fortran 95 language features}} ''Fortran 95'', published officially as ISO/IEC 1539-1:1997, was a minor revision, mostly to resolve some outstanding issues from the Fortran 90 standard. Nevertheless, Fortran 95 also added a number of extensions, notably from the [[High Performance Fortran]] specification: * {{code|FORALL}} and nested {{code|WHERE}} constructs to aid vectorization * User-defined [[pure function|{{code|PURE}} and {{code|ELEMENTAL}} procedures]] * Default initialization of derived type components, including pointer initialization * Expanded the ability to use initialization expressions for data objects * Initialization of pointers to {{code|NULL()}} * Clearly defined that {{code|ALLOCATABLE}} arrays are automatically deallocated when they go out of scope. A number of intrinsic functions were extended (for example a {{code|dim}} argument was added to the {{code|maxloc}} intrinsic). Several features noted in Fortran 90 to be "obsolescent" were removed from Fortran 95: * {{code|DO}} statements using {{code|REAL}} and {{code|DOUBLE PRECISION}} index variables * Branching to an {{code|END IF}} statement from outside its block * {{code|PAUSE}} statement * {{code|ASSIGN}} and assigned {{code|GO TO}} statement, and assigned format specifiers * {{code|H}} Hollerith edit descriptor. An important supplement to Fortran 95 was the [[International Organization for Standardization|ISO technical report]] ''TR-15581: Enhanced Data Type Facilities'', informally known as the ''Allocatable TR.'' This specification defined enhanced use of {{code|ALLOCATABLE}} arrays, prior to the availability of fully Fortran 2003-compliant Fortran compilers. Such uses include {{code|ALLOCATABLE}} arrays as derived type components, in procedure dummy argument lists, and as function return values. ({{code|ALLOCATABLE}} arrays are preferable to {{code|POINTER}}-based arrays because {{code|ALLOCATABLE}} arrays are guaranteed by Fortran 95 to be deallocated automatically when they go out of scope, eliminating the possibility of [[memory leak]]age. In addition, elements of allocatable arrays are contiguous, and [[aliasing (computing)|aliasing]] is not an issue for optimization of array references, allowing compilers to generate faster code than in the case of pointers.<ref>{{cite web|title=Fortran 95 Reference|url=https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gfortran/|publisher=Gnu.Org|access-date=May 10, 2014}}</ref>) Another important supplement to Fortran 95 was the [[International Organization for Standardization|ISO]] technical report ''TR-15580: Floating-point exception handling'', informally known as the ''IEEE TR.'' This specification defined support for [[IEEE 754-2008|IEEE floating-point arithmetic]] and [[floating-point arithmetic|floating-point]] [[exception handling]]. ====Conditional compilation and varying length strings==== In addition to the mandatory "Base language" (defined in ISO/IEC 1539-1 : 1997), the Fortran 95 language also included two optional modules: * Varying length character strings (ISO/IEC 1539-2 : 2000) * Conditional compilation (ISO/IEC 1539-3 : 1998) which, together, compose the multi-part International Standard (ISO/IEC 1539). According to the standards developers, "the optional parts describe self-contained features which have been requested by a substantial body of users and/or implementors, but which are not deemed to be of sufficient generality for them to be required in all standard-conforming Fortran compilers." Nevertheless, if a standard-conforming Fortran does provide such options, then they "must be provided in accordance with the description of those facilities in the appropriate Part of the Standard".
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Fortran
(section)
Add topic