Modern Fortran: Style and Usage

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Fortran is one of the oldest high-level languages and remains the premier language for writing code for science and engineering applications. Modern Fortran: Style and Usage is a book for anyone who uses Fortran, from the novice learner to the advanced expert. It describes best practices for programmers, scientists, engineers, computer scientists, and researchers who want to apply good style and incorporate rigorous usage in their own Fortran code or to establish guidelines for a team project. The presentation concentrates primarily on the characteristics of Fortran 2003, while also describing methods in Fortran 90/95 and valuable new features in Fortran 2008. The authors draw on more than a half century of experience writing production Fortran code to present clear succinct guidelines on formatting, naming, documenting, programming, and packaging conventions and various programming paradigms such as parallel processing (including OpenMP, MPI, and coarrays), OOP, generic programming, and C language interoperability. Programmers working with legacy code will especially appreciate the section on updating old programs.

Author(s): Norman S. Clerman; Walter Spector
Edition: 1st Edition, Kindle Edition
Publisher: Cambridge University Press
Year: 2012

Language: English
Pages: 352

Source Code Listings
Preface
Audience
General Considerations
Organization

1. Introduction
1.1 Acknowledgments
1.2 Typographical Conventions
1.3 Source Code Listings

2. General Principles

3. Formatting Conventions
3.1 Source Form
3.2 Case
3.3 Indentation
3.4 White Space
3.5 Statements and Expressions
3.6 Symbols and Numbers

4. Naming Conventions
4.1 Modules, Procedures, and Types
4.2 Supplemental Notation
4.3 Data Objects
4.4 Construct Blocks

5. Documentation Conventions

6. Programming Principles
6.1 Standards Conformance
6.2 Module Design
6.3 Procedure Arguments
6.4 Argument Verification
6.5 Recursive Procedure Design
6.6 State, Side Effects, and Thread Safety

7. Programming Conventions
7.1 Declaration and Initialization of Data Objects
7.2 Allocatable and Pointer Attributes
7.3 Dynamic Data Attributes
7.4 Control Flow
7.5 Character String Expressions

8. Input and Output
8.1 General I/O Operations
8.2 Formatted, Unformatted, and Stream I/O
8.3 Messages

9. Packaging Conventions
9.1 Files
9.2 External Procedures
9.3 Submodules

10. Generic Programming
10.1 Generic Code Techniques
10.2 Preprocessor Replication

11. Object Orientation
11.1 Type and Class Design
11.2 Creation, Construction, Initialization, and Assignment
11.3 Type-Bound Procedures and Procedure Pointer Components
11.4 Inheritance
11.5 Polymorphism

12. Parallel Processing
12.1 Preliminary Considerations
12.2 Parallel Program Patterns
12.3 Fortran 2008 Parallel Processing

13. Numerical Types, Kinds, and Operations
13.1 The Concept of KIND
13.2 Floating-Point Operations
13.3 Floating-Point Exceptions
13.4 BitManipulation

14. C Interoperability

15. Updating Old Programs
15.1 Statements
15.2 Techniques
15.3 Nonstandard Features

Appendix A. Source Code
A.1 Type bound demo
A.2 Unlimited demo

Appendix B. Rule List

Bibliography
Index