Cart
Free US shipping over $10
Proud to be B-Corp

Upgrading to Fortran 90 Cooper Redwine

Upgrading to Fortran 90 By Cooper Redwine

Upgrading to Fortran 90 by Cooper Redwine


$137.99
Condition - Very Good
Out of stock

Summary

A comprehensive tutorial that relies mainly on a large number of short, but complete programming examples to illustrate the differences between the new language and traditional Fortran. Readers are assumed to have a working knowledge of one of the earlier versions of Fortran, but otherwise no prior knowledge of Fortran 90 is assumed.

Upgrading to Fortran 90 Summary

Upgrading to Fortran 90 by Cooper Redwine

A comprehensive tutorial that relies mainly on a large number of short, but complete programming examples to illustrate the differences between the new language and traditional Fortran. The author gives thorough explanations of terminology and concepts which were not in general use before the release of the new standard. Readers are assumed to have a working knowledge of one of the earlier versions of Fortran, but otherwise no prior knowledge of Fortran 90 is assumed.

Table of Contents

1 Getting Ready.- 1.1 Overview of the Chapter.- 1.2 FORTRAN, FORTRAN 77, Fortran 90, Fortran.- 1.3 Fortran 90 Compared with FORTRAN 77.- 1.4 Fortran 90 Version of the Hello, World Program.- 1.5 Preview: Simple Extensions of FORTRAN 77.- 1.6 Preview: Array Operations.- 1.7 Preview: Sharing Data by Way of a Module.- 1.8 Preview: Module Subprograms.- 1.9 Preview: Derived Types.- 1.10 Preview: Pointers.- 1.11 Preview: Interface Blocks.- 1.12 Preview: Scoping Units.- 1.13 Terminology: Constant, Variable, Array.- 1.14 Conventions Used in Specifying Syntax.- 2 Laying the Foundation.- 2.1 Overview of the Chapter.- 2.2 Programmer-Chosen Names.- 2.3 Free Source Form.- 2.4 The General Form of a Main Program.- 2.5 Simple Type Declarations for Intrinsic Types.- 2.6 Specifying Initial Values in a Type Declaration.- 2.7 Attribute List in a Type Declaration.- 2.8 The Fortran 90 Concept of Kind.- 2.9 Syntax of the Type Declaration Statement.- 2.10 Attribute Specification Statements.- 3 Control Constructs.- 3.1 Overview of Fortran Control Structures.- 3.2 Logical Expressions.- 3.3 The IF Construct.- 3.4 Introduction to the CASE Construct.- 3.5 A More General Example of the CASE Construct.- 3.6 CASE Selector of Type CHARACTER.- 3.7 The General Form of the CASE Construct.- 3.8 DO Construct with Loop Index.- 3.9 DO WHILE Construct.- 3.10 The Simple DO and the EXIT.- 3.11 The CYCLE Statement.- 3.12 Choosing the Right Control Structure.- 4 Arrays.- 4.1 Overview of Array Features.- 4.2 Introduction to Fortran 90 Arrays.- 4.3 Intrinsic Operators and Functions Used with Arrays.- 4.4 Masked Array Assignment.- 4.5 Array Constants.- 4.6 Array Sections.- 4.7 Array Constructors.- 4.8 The RESHAPE Intrinsic Function.- 4.9 Zero-Sized Arrays.- 4.10 Allocatable Arrays.- 4.11 Inverting a Matrix.- 5 Derived Types.- 5.1 Introduction to Derived Types and Structures.- 5.2 Defining a Derived Type and Using Structures.- 5.3 Components Need Not Be of Different Types.- 5.4 Assignment to Variables of a Derived Type.- 5.5 Structure Constructors.- 5.6 Components May Be of Derived Types.- 5.7 A Structure Component Can Be an Array.- 5.8 An Element of an Array Can Be a Structure.- 5.9 A Variable Name May Duplicate a Component Name.- 5.10 Derived-Type Definitions and Host Association.- 5.11 The SEQUENCE Statement.- 5.12 General Syntax of a Derived-Type Definition.- 5.13 Sorting an Array of Derived Type.- 6 External Subprograms.- 6.1 Background.- 6.2 Elementary Aspects of Subprograms.- 6.3 Array Arguments: A First Look.- 6.4 The INTENT Attribute.- 6.5 Automatic Data Objects.- 6.6 The SAVE Attribute.- 6.7 The RESULT Option in the FUNCTION Statement.- 6.8 Recursion.- 6.9 Syntax of SUBROUTINE and FUNCTION Statements.- 6.10 External Subprograms and Scope.- 6.11 Terminology: Subprograms and Procedures.- 7 Introduction to the Module.- 7.1 Overview of the Module.- 7.2 Module Containing Related Named Constants.- 7.3 A Module Containing a Derived-Type Definition.- 7.4 A Module May Use Another Module.- 7.5 Modules Facilitate Data Sharing.- 7.6 Global Allocatable Arrays.- 7.7 The SAVE Attribute for Variables in a Module.- 7.8 Initialization May Be Performed in a Module.- 7.9 A Module May Contain Subprograms.- 7.10 The Assumed-Shape Array.- 7.11 Function Result of Derived Type.- 7.12 A Function Can Return an Array-Valued Result.- 7.13 Elementary Language Rules Related to Modules.- 8 Internal Subprograms.- 8.1 Overview of Internal Subprograms.- 8.2 Example of an Internal Subroutine.- 8.3 Example of an Internal Function.- 8.4 Example of a Host Containing Four Internal Subprograms.- 8.5 The Scope of Variable Names.- 8.6 The Scope of Statement Labels.- 8.7 An Internal Function Whose Result Is of a Derived Type.- 8.8 An Internal Function Whose Result Is an Array.- 8.9 An Internal Subprogram May Be Recursive.- 8.10 A Module Subprogram May Contain Internal Subprograms.- 8.11 Internal Subprograms and Scoping Units.- 8.12 Language Rules Related to Internal Subprograms.- 9 Overloading and Defined Operations.- 9.1 Introduction to Generic Identifiers.- 9.2 A Programmer-Defined Generic Name.- 9.3 Intrinsic Operators.- 9.4 A First Example of Operator Overloading.- 9.5 Defined Operations Are Not Automatically Commutative.- 9.6 Overloading a Relational Operator.- 9.7 Programmer-Defined Operators.- 9.8 Precedence of Operators.- 9.9 Defined Assignment: Overloading the Equal Sign.- 9.10 Rules Applying to Generic Identifiers.- 10 Pointers to Arrays.- 10.1 Introduction to Fortran 90 Pointers.- 10.2 Pointer Assignment.- 10.3 Pointer to a Declared Array.- 10.4 An Array Section May Be the Target of a Pointer.- 10.5 Pointer Association Status.- 10.6 Dynamically Allocated Targets.- 10.7 Swapping Pointers Instead of Swapping Arrays.- 10.8 Array Pointer as a Component of a Derived Type.- 10.9 Achieving the Effect of an Array of Pointers.- 10.10 A Dummy Argument May Have the POINTER Attribute.- 10.11 A Dummy Argument May Have the TARGET Attribute.- 10.12 A Function May Return a Result That Is a Pointer.- 11 Pointers to Structures.- 11.1 Introduction to Pointers to Structures.- 11.2 Pointer to a Declared Structure.- 11.3 Pointer to a Dynamically Allocated Structure.- 11.4 Introduction to the Queue.- 11.5 Queue Operations Broken out into Subprograms.- 11.6 Stacks as Linked Lists.- 11.7 Binary Trees.- 12 Accessibility of Identifiers in a Module.- 12.1 Overview of Module Access.- 12.2 Using PRIVATE to Make Names Inaccessible.- 12.3 Using PUBLIC to Make Names Accessible.- 12.4 A Derived Type May Be Entirely Inaccessible.- 12.5 A PUBLIC Derived Type with Inaccessible Components.- 12.6 Generic Identifiers Are Not Automatically Accessible.- 12.7 Rules for Accessibility Statements.- 12.8 The Rename Capability in the USE Statement.- 12.9 The ONLY Option of the USE Statement.- 12.10 Rules Applicable to the USE Statement.- 13 Interface Bodies.- 13.1 General Remarks about the Interface Body.- 13.2 Elementary Aspects of Interface Bodies.- 13.3 Placing an Interface Block in a Module.- 13.4 Variable Names of a Derived Type in an Interface Body.- 13.5 When an Interface Body Is Mandatory.- 13.6 External Subprogram with Assumed-Shape Argument.- 13.7 External Function Returning Array of Values as Result.- 13.8 CHARACTER Function Result of Nonconstant Length.- 13.9 Argument Keywords.- 13.10 Optional Arguments.- 13.11 Generic Name Implemented Using External Procedures.- 13.12 Issues of Scope Related to Interface Bodies.- 14 Input/Output.- 14.1 Overview of New I/O Features.- 14.2 The STATUS = REPLACE Specifier in the OPEN.- 14.3 The POSITION= Specifier in the OPEN.- 14.4 The ACTION= Specifier in the OPEN.- 14.5 The PAD= Specifier in the OPEN.- 14.6 The DELIM= Specifier in the OPEN.- 14.7 Nonadvancing I/O.- 14.8 The SIZE= Specifier in a Nonadvancing READ.- 14.9 ES and EN Data Edit Descriptors.- 14.10 Namelist I/O.- 14.11 The New Specifiers in the INQUIRE Statement.- 14.12 Inquire-by-Output-List Form of the INQUIRE Statement.- Appendix A Fortran 90 Standard Statement Keywords.- Appendix B Order of Statements.- Appendix C Fortran 90 Standard Generic Intrinsic Procedures.- Appendix D Fixed Source Form.- Appendix E Binary, Octal, and Hexadecimal Values.- Appendix F Obsolescent Features.- F.1 The Nature of Obsolescent Features.- F.2 DO Control Variable of Type REAL.- F.3 DO Termination Other Than END DO or CONTINUE.- F.4 Shared DO Termination.- F.5 Arithmetic IF Statement.- F.6 Branch to END IF from Outside IF Construct.- F.7 H Edit Descriptor.- F.8 PAUSE Statement.- F.9 The ASSIGN Statement and the Assigned GO TO Statement.- F.10 Assigned Format.- F.11 Alternate Return.- Appendix G Special-Purpose Varieties of Procedures.- G.1 Overview of the Appendix.- G.2 Statement Functions.- G.3 Multiple-Entry Subprograms.- G.4 Dummy Procedures.- G.5 Intrinsic Procedure Name as an Actual Argument.

Additional information

GOR013874764
9780387979953
0387979956
Upgrading to Fortran 90 by Cooper Redwine
Used - Very Good
Paperback
Springer-Verlag New York Inc.
1995-08-10
502
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Upgrading to Fortran 90