Hugendubel.info - Die B2B Online-Buchhandlung 

Merkliste
Die Merkliste ist leer.
Bitte warten - die Druckansicht der Seite wird vorbereitet.
Der Druckdialog öffnet sich, sobald die Seite vollständig geladen wurde.
Sollte die Druckvorschau unvollständig sein, bitte schliessen und "Erneut drucken" wählen.
E-BookPDF1 - PDF WatermarkE-Book
713 Seiten
Englisch
Springer Londonerschienen am18.09.20082009
The Fortran 2003 Handbook is a definitive and comprehensive guide to Fortran 2003 and its use. Fortran 2003, the latest standard version of Fortran, has many excellent features that assist the programmer in writing efficient, portable and maintainable programs. This all-inclusive volume offers a reader-friendly, easy-to-follow and informal description of Fortran 2003, and has been developed to provide not only a readable explanation of features, but also some rationale for the inclusion of features and their use. This highly versatile handbook is intended for anyone who wants a comprehensive survey of Fortran 2003.mehr
Verfügbare Formate
BuchGebunden
EUR246,09
E-BookPDF1 - PDF WatermarkE-Book
EUR171,19

Produkt

KlappentextThe Fortran 2003 Handbook is a definitive and comprehensive guide to Fortran 2003 and its use. Fortran 2003, the latest standard version of Fortran, has many excellent features that assist the programmer in writing efficient, portable and maintainable programs. This all-inclusive volume offers a reader-friendly, easy-to-follow and informal description of Fortran 2003, and has been developed to provide not only a readable explanation of features, but also some rationale for the inclusion of features and their use. This highly versatile handbook is intended for anyone who wants a comprehensive survey of Fortran 2003.
Details
Weitere ISBN/GTIN9781846287466
ProduktartE-Book
EinbandartE-Book
FormatPDF
Format Hinweis1 - PDF Watermark
FormatE107
Erscheinungsjahr2008
Erscheinungsdatum18.09.2008
Auflage2009
Seiten713 Seiten
SpracheEnglisch
IllustrationenXII, 713 p.
Artikel-Nr.1442275
Rubriken
Genre9200

Inhalt/Kritik

Inhaltsverzeichnis
1;Contents;5
2;Preface;11
2.1;Target Audience;11
2.2;Organization;11
2.3;Style of the Programming Examples;12
2.4;Jeanne Adams;12
3;1 Introduction;13
3.1;1.1 History;13
3.1.1;1.1.1 Initial Development of Fortran;13
3.1.2;1.1.2 Standardization;13
3.1.2.1;1.1.2.1 Fortran 66;14
3.1.2.2;1.1.2.2 Fortran 77;14
3.1.2.3;1.1.2.3 Fortran 90;14
3.1.2.4;1.1.2.4 Fortran 95;15
3.1.2.5;1.1.2.5 Fortran 2003;15
3.2;1.2 The Fortran 2003 Language Standard;16
3.2.1;1.2.1 Program Conformance to the Standard;17
3.2.2;1.2.2 Processor Conformance to the Standard;17
3.2.3;1.2.3 Portability;18
3.2.4;1.2.4 A Permissive Standard;18
3.3;1.3 Notation Used in this Book;18
3.4;1.4 Approximations to Real and Complex Values;20
3.5;1.5 References;20
4;2 Fortran Concepts and Terms;23
4.1;2.1 Program Organization;24
4.1.1;2.1.1 Program Units;24
4.1.1.1;2.1.1.1 Main Program;25
4.1.1.2;2.1.1.2 Module;26
4.1.1.3;2.1.1.3 External Subprogram;27
4.1.1.4;2.1.1.4 Block Data Program Unit;27
4.1.1.5;2.1.1.5 Compilation;27
4.1.2;2.1.2 Procedures;27
4.1.2.1;2.1.2.1 Internal Procedures;27
4.1.2.2;2.1.2.2 Procedure Interfaces;28
4.1.2.3;2.1.2.3 Generic Procedures;28
4.1.2.4;2.1.2.4 Procedures Defined by Other Languages;28
4.2;2.2 Data Environment;29
4.2.1;2.2.1 Data Type;29
4.2.2;2.2.2 Type Parameters;29
4.2.3;2.2.3 Dimensionality;30
4.2.4;2.2.4 Dynamic Data;31
4.2.5;2.2.5 Packaging and Encapsulation;33
4.3;2.3 Program Execution;34
4.3.1;2.3.1 Execution Sequence;34
4.3.2;2.3.2 Definition and Undefinition;35
4.3.3;2.3.3 Scope;36
4.3.4;2.3.4 Association;36
4.4;2.4 Terms;36
4.5;2.5 High-Level Syntax Forms;42
4.5.1;2.5.1 Fortran Program Units;43
4.5.2;2.5.2 The Specification Part;44
4.5.3;2.5.3 The Execution Part;49
4.6;2.6 Ordering Requirements;51
4.7;2.7 Example Fortran Program;52
5;3 Language Elements and Source Form;55
5.1;3.1 The Processor Character Set;56
5.1.1;3.1.1 The Fortran Character Set;56
5.1.2;3.1.2 Other Characters;58
5.1.3;3.1.3 The Tab Character;58
5.2;3.2 Lexical Tokens;59
5.2.1;3.2.1 Statement Keywords;59
5.2.2;3.2.2 Names;60
5.2.3;3.2.3 Constants;60
5.2.4;3.2.4 Operators;61
5.2.5;3.2.5 Statement Labels;61
5.3;3.3 Source Form;62
5.3.1;3.3.1 Free Source Form;63
5.3.1.1;3.3.1.1 Blanks as Separators;66
5.3.1.2;3.3.1.2 Sample Program, Free Source Form;67
5.3.2;3.3.2 Fixed Source Form;67
5.3.2.1;3.3.2.1 Sample Program, Fixed Source Form;69
5.3.3;3.3.3 Rules for Fixed/Free Source Form;69
5.3.3.1;3.3.3.1 Sample Program, Use with Either Source Form;69
5.4;3.4 The INCLUDE Line;70
6;4 Data Types;73
6.1;4.1 Data Type Selection;74
6.1.1;4.1.1 Kinds of Intrinsic Types;75
6.1.2;4.1.2 Derived Types;77
6.1.3;4.1.3 Classes;77
6.2;4.2 What Is Meant by Type in Fortran?;78
6.2.1;4.2.1 Type Names;78
6.2.2;4.2.2 Type Parameters;78
6.2.3;4.2.3 Type Specifier;79
6.2.4;4.2.4 Type Values;79
6.2.5;4.2.5 Type Operations and Procedures;79
6.2.6;4.2.6 Forms for Constants;80
6.3;4.3 Intrinsic Types;80
6.3.1;4.3.1 Integer Type;81
6.3.1.1;4.3.1.1 Name, Type Parameters, and Type Specifier;81
6.3.1.2;4.3.1.2 Values;81
6.3.1.3;4.3.1.3 Operators;82
6.3.1.4;4.3.1.4 Form for Constant Values;82
6.3.2;4.3.2 Real Type;83
6.3.2.1;4.3.2.1 Name, Type Parameters, and Type Specifier;83
6.3.2.2;4.3.2.2 Values;84
6.3.2.3;4.3.2.3 Operators;85
6.3.2.4;4.3.2.4 Forms for Constants;85
6.3.3;4.3.3 Complex Type;86
6.3.3.1;4.3.3.1 Name, Type Parameters, and Type Specifier;86
6.3.3.2;4.3.3.2 Values;86
6.3.3.3;4.3.3.3 Operators;86
6.3.3.4;4.3.3.4 Form for Constants;87
6.3.4;4.3.4 Logical Type;87
6.3.4.1;4.3.4.1 Name, Type Parameters, and Type Specifier;87
6.3.4.2;4.3.4.2 Values;88
6.3.4.3;4.3.4.3 Operators;88
6.3.4.4;4.3.4.4 Form for Constants;88
6.3.5;4.3.5 Character Type;88
6.3.5.1;4.3.5.1 Name, Type Parameters, and Type Specifier;88
6.3.5.2;4.3.5.2 Values;90
6.3.5.3;4.3.5.3 Collating Sequence;90
6.3.5.4;4.3.5.4 Operators;91
6.3.5.5;4.3.5.5 Form for Constants;91
6.4;4.4 Derived Types;92
6.4.1;4.4.1 A Simple Example of a Derived-Type Definition;92
6.4.2;4.4.2 Derived-Type Definition Overview;93
6.4.3;4.4.3 Type Parameters;93
6.4.4;4.4.4 Type Specifier;95
6.4.5;4.4.5 Accessibility;96
6.4.6;4.4.6 Data Component Definition;97
6.4.7;4.4.7 Procedure Component Definition;99
6.4.8;4.4.8 The Passed-Object Dummy Argument;101
6.4.9;4.4.9 Default Initialization;103
6.4.10;4.4.10 Sequence Types and Type Equivalence;104
6.4.11;4.4.11 Procedure Type Bindings;107
6.4.11.1;4.4.11.1 Specific Bindings;107
6.4.11.2;4.4.11.2 Generic Bindings;109
6.4.11.3;4.4.11.3 Final Bindings;110
6.4.12;4.4.12 Type Extension and Inheritance;112
6.4.12.1;4.4.12.1 Type Extension Versus its Alternatives;113
6.4.12.2;4.4.12.2 Overriding Procedure Bindings;115
6.4.12.3;4.4.12.3 Abstract Types and Deferred Procedure Bindings;116
6.4.12.4;4.4.12.4 Example of Inheriting and Overriding Bindings;116
6.4.13;4.4.13 Values;119
6.4.14;4.4.14 Operators;119
6.4.15;4.4.15 Structure Constructor;120
6.5;4.5 Array Constructors;123
6.6;4.6 Enumerations;125
7;5 Declarations;127
7.1;5.1 Type Declaration Statements;130
7.2;5.2 Polymorphism;132
7.3;5.3 Implicit Typing;134
7.4;5.4 Array Properties;136
7.4.1;5.4.1 Array Specifications;136
7.4.1.1;5.4.1.1 Explicit-Shape Arrays;136
7.4.1.2;5.4.1.2 Assumed-Shape Arrays;137
7.4.1.3;5.4.1.3 Deferred-Shape Arrays;138
7.4.1.4;5.4.1.4 Assumed-Size Arrays;139
7.4.1.5;5.4.1.5 Limitations on Whole Arrays;140
7.4.2;5.4.2 The DIMENSION Attribute;141
7.5;5.5 The ALLOCATABLE Attribute;142
7.6;5.6 Pointer Properties;143
7.6.1;5.6.1 The POINTER Attribute;144
7.6.2;5.6.2 The TARGET Attribute;145
7.7;5.7 Value Definition Properties;145
7.7.1;5.7.1 The PARAMETER Attribute;146
7.7.2;5.7.2 Explicit Initialization;147
7.7.3;5.7.3 The DATA Statement;149
7.7.4;5.7.4 The SAVE Attribute;151
7.7.5;5.7.5 The ASYNCHRONOUS Attribute;153
7.7.6;5.7.6 The VOLATILE Attribute;154
7.8;5.8 Module Entity Properties;156
7.8.1;5.8.1 PUBLIC and PRIVATE Accessibility;156
7.8.2;5.8.2 The PROTECTED Attribute;158
7.8.3;5.8.3 The BIND Attribute;160
7.9;5.9 Dummy Argument Properties;161
7.9.1;5.9.1 The INTENT Attribute;162
7.9.2;5.9.2 The VALUE Attribute;164
7.9.3;5.9.3 The OPTIONAL Attribute;165
7.10;5.10 Procedure Properties;166
7.10.1;5.10.1 The EXTERNAL Attribute;166
7.10.2;5.10.2 The INTRINSIC Attribute;168
7.11;5.11 The Procedure Declaration Statement;169
7.12;5.12 Attribute Compatibility;171
7.13;5.13 The NAMELIST Statement;173
7.14;5.14 Storage Association;174
7.14.1;5.14.1 The EQUIVALENCE Statement;175
7.14.2;5.14.2 The COMMON Statement;177
8;6 Using Data;183
8.1;6.1 Constants and Variables;185
8.2;6.2 Designators;185
8.3;6.3 Type Parameter Inquiry;187
8.4;6.4 Substrings;188
8.5;6.5 Structure Components;190
8.6;6.6 Arrays;192
8.6.1;6.6.1 Array Terminology;192
8.6.2;6.6.2 Whole Arrays;193
8.6.3;6.6.3 Array Elements;193
8.6.4;6.6.4 Array Sections;194
8.6.4.1;6.6.4.1 Subscripts;195
8.6.4.2;6.6.4.2 Subscript Triplets;195
8.6.4.3;6.6.4.3 Vector Subscripts;196
8.6.5;6.6.5 Examples of Array Elements and Array Sections;196
8.6.6;6.6.6 Array Element Order;198
8.7;6.7 Pointers and Allocatable Variables;199
8.7.1;6.7.1 ALLOCATE Statement;200
8.7.1.1;6.7.1.1 Allocation of Allocatable Variables;203
8.7.1.2;6.7.1.2 Allocation of Pointers;205
8.7.2;6.7.2 NULLIFY Statement;206
8.7.3;6.7.3 DEALLOCATE Statement;206
8.7.3.1;6.7.3.1 Deallocation of Allocatable Variables;208
8.7.3.2;6.7.3.2 Deallocation of Pointers;209
9;7 Expressions and Assignment;211
9.1;7.1 Formation of Expressions;212
9.1.1;7.1.1 Operators and Operations;213
9.1.1.1;7.1.1.1 Operators;213
9.1.1.2;7.1.1.2 Operations;214
9.1.2;7.1.2 Rules for Forming Expressions;215
9.2;7.2 Interpretation of Expressions;218
9.2.1;7.2.1 Precedence of Operators;219
9.2.2;7.2.2 Data Type and Type Parameters of an Expression;221
9.2.2.1;7.2.2.1 Data Type and Type Parameters of a Primary;221
9.2.2.2;7.2.2.2 Data Type and Type Parameters of an Operation;222
9.2.3;7.2.3 Shape of an Expression;225
9.2.4;7.2.4 Bounds of an Expression;226
9.2.5;7.2.5 Elemental Operations and Functions;226
9.2.6;7.2.6 Value of a Primary;227
9.2.7;7.2.7 Value of an Operation;227
9.2.7.1;7.2.7.1 Value of Intrinsic Operations;227
9.2.7.2;7.2.7.2 Value of Defined Operations;230
9.3;7.3 Evaluation of Expressions;231
9.3.1;7.3.1 Equivalent Expressions;231
9.3.2;7.3.2 Side Effects and Partial Evaluation;233
9.4;7.4 Special Expressions;235
9.4.1;7.4.1 Initialization Expressions;235
9.4.2;7.4.2 Specification Expressions;237
9.4.2.1;7.4.2.1 Specification Inquiry;240
9.4.2.2;7.4.2.2 Specification Functions;240
9.4.3;7.4.3 Differences Between Specification and Initialization Expressions;240
9.4.4;7.4.4 Uses of Specification and Initialization Expressions;241
9.5;7.5 Assignment;243
9.5.1;7.5.1 The Assignment Statement;244
9.5.2;7.5.2 Intrinsic Assignment;244
9.5.3;7.5.3 Defined Assignment;248
9.5.4;7.5.4 Polymorphic Assignment;249
9.5.5;7.5.5 Pointer Assignment;250
9.5.5.1;7.5.5.1 Data Pointer Assignment;251
9.5.5.2;7.5.5.2 Procedure Pointer Assignment;255
9.5.6;7.5.6 Masked Array Assignment-WHERE;256
9.5.6.1;7.5.6.1 Form of the WHERE Construct;257
9.5.6.2;7.5.6.2 Execution of a WHERE Construct;258
9.5.6.3;7.5.6.3 WHERE Statement;260
9.5.7;7.5.7 Indexed Parallel Array Assignment-FORALL;261
9.5.7.1;7.5.7.1 Form of the FORALL Construct;263
9.5.7.2;7.5.7.2 Execution of a FORALL Construct;265
9.5.7.3;7.5.7.3 FORALL Statement;268
10;8 Block Constructs and Execution Control;269
10.1;8.1 Blocks and Construct Names;270
10.2;8.2 The ASSOCIATE Construct;271
10.2.1;8.2.1 Form of the ASSOCIATE Construct;271
10.2.2;8.2.2 Execution of the ASSOCIATE Construct;272
10.3;8.3 Controlling Execution;273
10.4;8.4 The IF Construct and the IF Statement;274
10.4.1;8.4.1 The IF Construct;274
10.4.1.1;8.4.1.1 Form of the IF Construct;274
10.4.1.2;8.4.1.2 Execution of the IF Construct;274
10.4.2;8.4.2 The IF Statement;275
10.4.2.1;8.4.2.1 Form of the IF Statement;276
10.4.2.2;8.4.2.2 Execution of the IF Statement;276
10.5;8.5 The CASE Construct;276
10.5.1;8.5.1 Form of the CASE Construct;276
10.5.2;8.5.2 Execution of the CASE Construct;278
10.6;8.6 The SELECT TYPE Construct;279
10.6.1;8.6.1 Form of the SELECT TYPE Construct;279
10.6.2;8.6.2 Execution of the SELECT TYPE Construct;280
10.7;8.7 The DO Construct;283
10.7.1;8.7.1 Form of the Block DO Construct;284
10.7.2;8.7.2 Execution of DO Constructs;285
10.7.2.1;8.7.2.1 Execution of the DO Construct with an Iteration Count;286
10.7.2.2;8.7.2.2 Execution of the DO Construct with WHILE Control;287
10.7.2.3;8.7.2.3 Execution of the Simple DO Construct;288
10.7.3;8.7.3 Altering the Execution Sequence within the DO Block;288
10.7.3.1;8.7.3.1 The EXIT Statement;288
10.7.3.2;8.7.3.2 The CYCLE Statement;289
10.7.4;8.7.4 Terminating a DO Construct;290
10.7.5;8.7.5 Form of the Nonblock DO;291
10.7.6;8.7.6 Conversion from the Nonblock to the Block Form;292
10.8;8.8 Branching;292
10.8.1;8.8.1 Use of Labels in Branching;294
10.8.2;8.8.2 The GO TO Statement;294
10.8.2.1;8.8.2.1 Form of the GO TO Statement;294
10.8.2.2;8.8.2.2 Execution of the GO TO Statement;294
10.8.3;8.8.3 The CONTINUE Statement;294
10.8.4;8.8.4 The Arithmetic IF Statement;295
10.8.5;8.8.5 The Computed GO TO Statement;295
10.9;8.9 The STOP Statement;296
11;9 Input and Output Processing;297
11.1;9.1 Basic Input/Output Concepts;298
11.1.1;9.1.1 Record Files;299
11.1.2;9.1.2 Stream Files;301
11.1.3;9.1.3 External and Internal Files;302
11.1.3.1;9.1.3.1 External Files;303
11.1.3.2;9.1.3.2 Internal Files;303
11.1.3.3;9.1.3.3 Existence of Files;303
11.1.4;9.1.4 File Position;304
11.1.5;9.1.5 File Access Methods;306
11.1.5.1;9.1.5.1 Sequential Access;307
11.1.5.2;9.1.5.2 Direct Access;307
11.1.5.3;9.1.5.3 Stream Access;308
11.1.6;9.1.6 Units;309
11.1.6.1;9.1.6.1 Unit Existence;310
11.1.6.2;9.1.6.2 Establishing a Connection to a Unit;310
11.2;9.2 Input/Output Statement Specifier Lists;311
11.2.1;9.2.1 General form of an Input/Output Statement;311
11.2.1.1;9.2.1.1 Abbreviated Form of Input/Output Statements;313
11.2.1.2;9.2.1.2 Recursive Input/Output Statements;313
11.2.2;9.2.2 The UNIT Specifier;314
11.2.3;9.2.3 Error and Exception Handling Specifiers;316
11.2.4;9.2.4 Changeable Connection Mode Specifiers;317
11.3;9.3 The OPEN Statement;321
11.3.1;9.3.1 Connecting a File to a Unit;321
11.3.2;9.3.2 Form of the OPEN Statement;321
11.3.3;9.3.3 The Connection Specifiers;322
11.4;9.4 Data Transfer Statements;328
11.4.1;9.4.1 General Form for Data Transfer Statements;328
11.4.2;9.4.2 The Input/Output Control Specifiers;328
11.4.3;9.4.3 Specifiers for Data Transfer Statements;329
11.4.4;9.4.4 The Input/Output Item List;334
11.4.5;9.4.5 General Data Transfer Restrictions;338
11.4.6;9.4.6 Printing of Formatted Records;338
11.5;9.5 Execution Model for Data Transfer Statements;338
11.5.1;9.5.1 Data Transfer;340
11.5.1.1;9.5.1.1 Unformatted Data Transfer;341
11.5.1.2;9.5.1.2 Formatted Data Transfer;342
11.5.1.3;9.5.1.3 Asynchronous Data Transfer;342
11.5.1.4;9.5.1.4 Defined Input/Output;343
11.5.1.5;9.5.1.5 Transfer on Internal Files;349
11.5.2;9.5.2 File Position Prior to Data Transfer;350
11.5.3;9.5.3 File Position After Data Transfer;351
11.5.4;9.5.4 Termination of Data Transfer;351
11.6;9.6 Error and Other Conditions in Input/Output Statements;352
11.6.1;9.6.1 Error Conditions;352
11.6.2;9.6.2 End-of-File Condition;353
11.6.3;9.6.3 End-of-Record Condition;353
11.7;9.7 The WAIT Statement;355
11.7.1;9.7.1 The WAIT Operation;356
11.8;9.8 The CLOSE Statement;356
11.8.1;9.8.1 The CLOSE Specifiers;357
11.9;9.9 The INQUIRE Statement;358
11.9.1;9.9.1 Inquire by File or Unit;358
11.9.2;9.9.2 Specifiers for Inquiry by Unit or File Name;360
11.9.3;9.9.3 Inquire by Output List;369
11.9.4;9.9.4 Table of Values Assigned by the INQUIRE Statement;369
11.10;9.10 File Positioning Statements;369
11.10.1;9.10.1 Specifiers for File Position Statements;372
11.10.2;9.10.2 The BACKSPACE Statement;372
11.10.3;9.10.3 The REWIND Statement;373
11.10.4;9.10.4 The ENDFILE Statement;373
11.11;9.11 The FLUSH Statement;374
11.11.1;9.11.1 Form of the FLUSH Statement;374
11.11.2;9.11.2 Specifiers for the FLUSH Statement;374
11.11.3;9.11.3 Execution of the FLUSH Statement;375
11.12;9.12 Restrictions on Input/Output Specifiers, List Items, and Statements;375
12;10 Input and Output Editing;379
12.1;10.1 Explicit Formatting;381
12.1.1;10.1.1 The FORMAT Statement;382
12.1.2;10.1.2 Character Expression Format Specifications;382
12.2;10.2 Format Specifications;383
12.2.1;10.2.1 Data Edit Descriptor Form;384
12.2.2;10.2.2 Control Edit Descriptor Form;385
12.2.3;10.2.3 Character String Edit Descriptor Form;386
12.3;10.3 Formatted Data Transfer;386
12.3.1;10.3.1 Parentheses Usage;387
12.3.2;10.3.2 Correspondence between a Data-Edit Descriptor and a List Item;388
12.4;10.4 File Positioning by Format Control;391
12.5;10.5 Numeric Editing;391
12.5.1;10.5.1 Integer Editing;392
12.5.2;10.5.2 Real Editing;395
12.5.2.1;10.5.2.1 F Editing;396
12.5.2.2;10.5.2.2 E, EN, ES, and D Editing;398
12.5.2.3;10.5.2.3 Generalized Editing of Real Data;400
12.5.2.4;10.5.2.4 IEEE Exceptional Values;402
12.5.3;10.5.3 Complex Editing;403
12.6;10.6 Logical Editing;404
12.7;10.7 Character Editing;405
12.8;10.8 Defined Editing;407
12.9;10.9 Control Edit Descriptors;407
12.9.1;10.9.1 Position Editing;407
12.9.2;10.9.2 Slash Editing;409
12.9.3;10.9.3 Colon Editing;410
12.9.4;10.9.4 Sign Editing;410
12.9.5;10.9.5 Scale Factors;411
12.9.6;10.9.6 Blanks in Numeric Fields;413
12.9.7;10.9.7 Round Edit Descriptors;414
12.9.8;10.9.8 Decimal Edit Descriptors;414
12.9.9;10.9.9 Character String Edit Descriptors;415
12.10;10.10 List-Directed Formatting;416
12.10.1;10.10.1 List-Directed Input;417
12.10.1.1;10.10.1.1 Value Separators;417
12.10.1.2;10.10.1.2 Values;417
12.10.1.3;10.10.1.3 Undelimited Character Strings;419
12.10.1.4;10.10.1.4 Null Values;420
12.10.1.5;10.10.1.5 Repeated Values;420
12.10.2;10.10.2 List-Directed Output;421
12.11;10.11 Namelist Formatting;423
12.11.1;10.11.1 Namelist Input;424
12.11.1.1;10.11.1.1 Names in Name=Value Pairs;424
12.11.1.2;10.11.1.2 Values in Name=Value Pairs;425
12.11.1.3;10.11.1.3 Separators;427
12.11.1.4;10.11.1.4 Namelist Comments;427
12.11.1.5;10.11.1.5 Blanks;428
12.11.1.6;10.11.1.6 Use of Namelist Input;428
12.11.2;10.11.2 Namelist Output;429
12.11.2.1;10.11.2.1 Form of Namelist Output;429
12.11.2.2;10.11.2.2 DELIM Specifier for Character Values;430
13;11 Program Units;431
13.1;11.1 Overview;431
13.1.1;11.1.1 The Specification Part;433
13.1.2;11.1.2 The Execution Part;433
13.1.3;11.1.3 The Subprogram Part;433
13.1.4;11.1.4 Example Program;433
13.2;11.2 Fortran Main Program;434
13.3;11.3 Modules;435
13.3.1;11.3.1 The Form of a Module;435
13.3.2;11.3.2 The Specification Part;436
13.3.3;11.3.3 Module Subprograms;437
13.3.4;11.3.4 Identifiers in a Module;437
13.3.5;11.3.5 Accessibility;438
13.3.6;11.3.6 The PROTECTED Attribute;438
13.3.7;11.3.7 The USE Statement;438
13.3.7.1;11.3.7.1 Form of the USE Statement;438
13.3.7.2;11.3.7.2 Accessing All Public Entities in a Module;439
13.3.7.3;11.3.7.3 Accessing Only Some of the Public Entities;440
13.3.7.4;11.3.7.4 Name Conflicts When Using Modules;441
13.3.8;11.3.8 Use Association;441
13.3.9;11.3.9 Typical Applications of Modules;442
13.3.9.1;11.3.9.1 Global Data;442
13.3.9.2;11.3.9.2 User-Defined Types;443
13.3.9.3;11.3.9.3 User-Defined Operators;444
13.3.9.4;11.3.9.4 Data Abstraction;444
13.3.9.5;11.3.9.5 Procedure Libraries;445
13.4;11.4 External Subprograms;446
13.5;11.5 Block Data Program Units;446
14;12 Using Procedures;449
14.1;12.1 Subroutines;450
14.1.1;12.1.1 Subroutine Subprograms;450
14.1.2;12.1.2 Subroutine References;452
14.2;12.2 Functions;454
14.2.1;12.2.1 Function Subprograms;454
14.2.2;12.2.2 Result Variable;456
14.2.3;12.2.3 Function References;457
14.2.4;12.2.4 Function Side Effects;458
14.3;12.3 RETURN Statement;459
14.4;12.4 Procedure Definition;460
14.4.1;12.4.1 External Procedures;460
14.4.2;12.4.2 Module Procedures;460
14.4.3;12.4.3 Internal Procedures;461
14.4.4;12.4.4 Statement Functions;461
14.4.5;12.4.5 Alternate Entries;464
14.5;12.5 Procedure Declaration;467
14.5.1;12.5.1 Implicit and Explicit Interfaces;468
14.5.1.1;12.5.1.1 Interface Properties;468
14.5.1.2;12.5.1.2 Where an Explicit Interface is Required;469
14.5.2;12.5.2 Interface Bodies;471
14.5.3;12.5.3 Specific Interface Blocks;473
14.5.4;12.5.4 Generic Interface Blocks;473
14.5.4.1;12.5.4.1 Generic Procedure Names;476
14.5.4.2;12.5.4.2 Defined Operations;479
14.5.4.3;12.5.4.3 Defined Assignments;481
14.5.4.4;12.5.4.4 Defined Input/Output;483
14.5.5;12.5.5 Abstract Interface Blocks;484
14.6;12.6 Argument Association;484
14.6.1;12.6.1 Argument Correspondence;486
14.6.2;12.6.2 Optional Arguments;488
14.6.3;12.6.3 Type and Type Parameters;490
14.6.4;12.6.4 Array Arguments;491
14.6.4.1;12.6.4.1 Sequence Association;491
14.6.4.2;12.6.4.2 Noncontiguous Arrays;494
14.6.5;12.6.5 Pointer Arguments;495
14.6.6;12.6.6 Target Arguments;496
14.6.7;12.6.7 Allocatable Arguments;498
14.6.8;12.6.8 Procedure Arguments;498
14.6.9;12.6.9 Alternate Returns;499
14.6.10;12.6.10 Argument Aliasing;500
14.7;12.7 Special Categories of Procedures;501
14.7.1;12.7.1 Pure Procedures;501
14.7.2;12.7.2 Elemental Procedures;503
14.7.3;12.7.3 Recursive Procedures;504
14.7.4;12.7.4 Procedure Pointers;504
14.8;12.8 Resolving Procedure References;505
14.8.1;12.8.1 Resolving Generic Name References;506
14.8.2;12.8.2 Resolving Specific Name References;507
14.9;12.9 Procedure Properties;508
15;13 Intrinsic Procedures and Modules;509
15.1;13.1 Properties of Intrinsic Procedures;510
15.2;13.2 Representation Models;512
15.2.1;13.2.1 The Bit Model;512
15.2.2;13.2.2 The Integer Number System Model;513
15.2.3;13.2.3 The Real Number System Model;513
15.3;13.3 Intrinsic Procedures;514
15.3.1;13.3.1 Inquiry Functions;515
15.3.1.1;13.3.1.1 Character and Bit Inquiry Functions;515
15.3.1.2;13.3.1.2 Kind Functions;515
15.3.1.3;13.3.1.3 Numeric Inquiry Functions;516
15.3.1.4;13.3.1.4 Array Inquiry Functions;516
15.3.1.5;13.3.1.5 Inquiry of Dynamic Properties;516
15.3.2;13.3.2 Numeric Manipulation Functions;517
15.3.3;13.3.3 Conversion Functions;517
15.3.3.1;13.3.3.1 NULL and Transfer Procedures;518
15.3.4;13.3.4 Computation Procedures;518
15.3.4.1;13.3.4.1 Numeric Computation Procedures;518
15.3.4.2;13.3.4.2 Character Computation Functions;520
15.3.4.3;13.3.4.3 Bit Computation Procedures;521
15.3.4.4;13.3.4.4 Array Functions;521
15.3.5;13.3.5 System Environment Procedures;523
15.3.5.1;13.3.5.1 Time and Date Subroutines;523
15.3.5.2;13.3.5.2 Testing Input/Output Status;523
15.3.5.3;13.3.5.3 Command Line Manipulation Procedures;523
15.4;13.4 Specific Names for Generic Intrinsic Procedures;524
15.5;13.5 Alphabetical List of All Intrinsic Procedures;526
15.6;13.6 Standard Intrinsic Modules;526
15.6.1;13.6.1 The Fortran Environment Module;531
16;14 IEEE Exceptions and Arithmetic;533
16.1;14.1 Terms and Concepts;534
16.2;14.2 IEEE Arithmetic and Exceptions-an Introduction;539
16.2.1;14.2.1 Floating-Point Formats;540
16.2.2;14.2.2 Floating-Point Exceptions;541
16.2.3;14.2.3 IEEE Arithmetic;544
16.2.4;14.2.4 Quiet and Signaling NaNs;545
16.2.5;14.2.5 The Programming Approach for the IEEE Standard;545
16.2.6;14.2.6 What If the Processor Is Not Compliant with the IEEE Standard?;545
16.2.7;14.2.7 The Processor´s Floating-Point Status;546
16.2.8;14.2.8 The Modes of the Floating-Point Processor;546
16.3;14.3 Descriptions of the Three Intrinsic Modules;546
16.3.1;14.3.1 The Intrinsic Module IEEE_FEATURES;548
16.3.2;14.3.2 The Intrinsic Module IEEE_EXCEPTIONS;550
16.3.2.1;14.3.2.1 Raising Exceptions from Operations Not To Be Executed;552
16.3.3;14.3.3 The Intrinsic Module IEEE_ARITHMETIC;553
16.3.3.1;14.3.3.1 Module Function IEEE_COPY_SIGN Versus Intrinsic Function SIGN;558
16.3.3.2;14.3.3.2 Module Function IEEE_LOGB Versus Intrinsic Function EXPONENT;558
16.3.3.3;14.3.3.3 Module Function IEEE_NEXT_AFTER Versus Intrinsic Function NEAREST;558
16.3.3.4;14.3.3.4 Module Function IEEE_REM Versus Intrinsic Functions MODULO or MOD;558
16.3.3.5;14.3.3.5 Module Function IEEE_RINT Versus Intrinsic Functions AINT or ANINT;559
16.3.3.6;14.3.3.6 Module Function IEEE_SCALB Versus Intrinsic Function SCALE;559
16.3.3.7;14.3.3.7 Module Function IEEE_SELECTED_REAL_KIND Versus Intrinsic Function SELECTED_REAL_KIND;559
16.3.3.8;14.3.3.8 Details of Returned Results for Module Function IEEE_CLASS;561
16.3.3.9;14.3.3.9 Details of Returned Results for Module Function IEEE_LOGB;561
16.3.3.10;14.3.3.10 Details of Returned Results for Module Function IEEE_NEXT_AFTER;562
16.3.3.11;14.3.3.11 Details of Returned Results for Module Function IEEE_SCALB;562
16.3.3.12;14.3.3.12 Details of Returned Results for Module Function IEEE_SELECTED_REAL_KIND;562
16.4;14.4 Initial and Final Status Requirements Entering and Leaving Any Procedure;563
16.5;14.5 Interoperability Issues for IEEE Arithmetic and Exceptions;565
16.6;14.6 A Summary of the Optional Features;565
16.7;14.7 Examples of the Use of IEEE Features, Arithmetic, and Exceptions Modules;568
16.7.1;14.7.1 Discussion of the Simple Example;569
16.7.2;14.7.2 Computing a Dot Product Carefully;570
17;15 Interoperability with C;573
17.1;15.1 Companion Processors;574
17.2;15.2 Binding Labels;574
17.3;15.3 The ISO_C_BINDING Intrinsic Module;575
17.4;15.4 Interoperability of Types;575
17.4.1;15.4.1 Intrinsic Types;576
17.4.2;15.4.2 C Enum Types;576
17.4.3;15.4.3 C Pointer Types;577
17.4.4;15.4.4 Derived Types;578
17.5;15.5 Interoperation of Data;579
17.5.1;15.5.1 Scalar Variables;580
17.5.2;15.5.2 Array Variables;580
17.5.3;15.5.3 Character Data;581
17.5.4;15.5.4 Pointers;581
17.5.4.1;C_LOC (X) Inquiry Function;582
17.5.4.2;C_FUNLOC (X) Inquiry Function;583
17.5.4.3;C_F_POINTER (CPTR, FPTR [, SHAPE]) Subroutine;583
17.5.4.4;C_F_PROCPOINTER (CPTR, FPTR) Subroutine;583
17.5.4.5;C_ASSOCIATED (C_PTR_1 [, C_PTR_2]) Inquiry Function;583
17.5.5;15.5.5 Global Data;584
17.6;15.6 Interoperation of Procedures;585
17.6.1;15.6.1 Interoperable Fortran Procedures and Interfaces;585
17.6.2;15.6.2 Interoperability of Fortran Interfaces and C Prototypes;586
17.6.3;15.6.3 Interoperable C Functions;587
17.6.4;15.6.4 Restrictions on C Functions;587
17.6.5;15.6.5 Connecting Fortran Procedures and C Functions;589
17.7;15.7 Examples of Interoperation;589
18;16 Scope, Association, and Definition;593
18.1;16.1 Scope;593
18.1.1;16.1.1 Global Identifiers;594
18.1.2;16.1.2 Local Identifiers;595
18.1.2.1;16.1.2.1 Classes of Local Identifiers;597
18.1.2.2;16.1.2.2 Resolution of Generic Identifiers;598
18.1.3;16.1.3 Statement and Construct Identifiers;599
18.2;16.2 Association;600
18.2.1;16.2.1 Name Association;600
18.2.1.1;16.2.1.1 Argument Association;601
18.2.1.2;16.2.1.2 Use Association;601
18.2.1.3;16.2.1.3 Host Association;601
18.2.1.4;16.2.1.4 Linkage Association;604
18.2.1.5;16.2.1.5 Construct Association;604
18.2.2;16.2.2 Pointer Association;605
18.2.2.1;16.2.2.1 Pointer Association Status;605
18.2.2.2;16.2.2.2 Pointer Definition Status;607
18.2.3;16.2.3 Storage Association;607
18.2.3.1;16.2.3.1 Storage Sequence;607
18.2.3.2;16.2.3.2 Association of Storage Sequences;608
18.2.3.3;16.2.3.3 Examples of Storage Association;609
18.2.4;16.2.4 Inheritance Association;610
18.2.5;16.2.5 Establishing Associations;610
18.3;16.3 Definition;611
18.3.1;16.3.1 Variable Definition Contexts;611
18.3.2;16.3.2 Events that Cause Variables to Become Defined;612
18.3.3;16.3.3 Events that Cause Variables to Become Undefined;614
19;A Standard Intrinsic Procedures;617
19.1;ABS (A) Elemental Function;618
19.2;ACHAR (I {, KIND}) Elemental Function;618
19.3;ACOS (X) Elemental Function;619
19.4;ADJUSTL (STRING) Elemental Function;619
19.5;ADJUSTR (STRING) Elemental Function;619
19.6;AIMAG (Z) Elemental Function;619
19.7;AINT (A {, KIND}) Elemental Function;620
19.8;ALL (MASK {, DIM}) Transformational Function;620
19.9;ALLOCATED (ARRAY) or ALLOCATED (SCALAR) Inquiry Function;620
19.10;ANINT (A {, KIND}) Elemental Function;621
19.11;ANY (MASK {, DIM}) Transformational Function;621
19.12;ASIN (X) Elemental Function;621
19.13;ASSOCIATED (POINTER{, TARGET}) Inquiry Function;622
19.14;ATAN (X) Elemental Function;623
19.15;ATAN2 (Y, X) Elemental Function;624
19.16;BIT_SIZE (I) Inquiry Function;624
19.17;BTEST (I, POS) Elemental Function;624
19.18;CEILING (A {, KIND}) Elemental Function;625
19.19;CHAR (I {, KIND}) Elemental Function;625
19.20;CMPLX (X {, Y, KIND}) Elemental Function;625
19.21;COMMAND_ARGUMENT_COUNT () Inquiry Function;626
19.22;CONJG (Z) Elemental Function;626
19.23;COS (X) Elemental Function;627
19.24;COSH (X) Elemental Function;627
19.25;COUNT (MASK {, DIM, KIND}) Transformational Function;627
19.26;CPU_TIME (TIME) Subroutine;628
19.27;CSHIFT (ARRAY, SHIFT {, DIM}) Transformational Function;628
19.28;DATE_AND_TIME ({DATE, TIME, ZONE, VALUES}) Subroutine;629
19.29;DBLE (A) Elemental Function;630
19.30;DIGITS (X) Inquiry Function;631
19.31;DIM (X, Y) Elemental Function;631
19.32;DOT_PRODUCT (VECTOR_A, VECTOR_B) Transformational Function;631
19.33;DPROD (X, Y) Elemental Function;632
19.34;EOSHIFT (ARRAY, SHIFT {, BOUNDARY, DIM}) Transformational Function;632
19.35;EPSILON (X) Inquiry Function;633
19.36;EXP (X) Elemental Function;633
19.37;EXPONENT (X) Elemental Function;633
19.38;EXTENDS_TYPE_OF (A, MOLD) Inquiry Function;634
19.39;FLOOR (A {, KIND}) Elemental Function;634
19.40;FRACTION (X) Elemental Function;635
19.41;GET_COMMAND ({COMMAND, LENGTH, STATUS}) Subroutine;635
19.42;GET_COMMAND_ARGUMENT Subroutine (NUMBER {, VALUE, LENGTH, STATUS});636
19.43;GET_ENVIRONMENT_VARIABLE Subroutine (NAME {, VALUE, LENGTH, STATUS, TRIM_NAME});637
19.44;HUGE (X) Inquiry Function;638
19.45;IACHAR (C {, KIND}) Elemental Function;638
19.46;IAND (I, J) Elemental Function;639
19.47;IBCLR (I, POS) Elemental Function;639
19.48;IBITS (I, POS, LEN) Elemental Function;639
19.49;IBSET (I, POS) Elemental Function;640
19.50;ICHAR (C {, KIND}) Elemental Function;640
19.51;IEOR (I, J) Elemental Function;640
19.52;INDEX (STRING, SUBSTRING {, BACK, KIND}) Elemental Function;641
19.53;INT (A {, KIND}) Elemental Function;641
19.54;IOR (I, J) Elemental Function;642
19.55;ISHFT (I, SHIFT) Elemental Function;642
19.56;ISHFTC (I, SHIFT {, SIZE}) Elemental Function;643
19.57;IS_IOSTAT_END (I) Elemental Function;643
19.58;IS_IOSTAT _EOR (I) Elemental Function;643
19.59;KIND (X) Inquiry Function;643
19.60;LBOUND (ARRAY {, DIM, KIND}) Inquiry Function;644
19.61;LEN (STRING {, KIND}) Inquiry Function;644
19.62;LEN_TRIM (STRING {, KIND}) Elemental Function;645
19.63;LGE (STRING_A, STRING_B) Elemental Function;645
19.64;LGT (STRING_A, STRING_B) Elemental Function;645
19.65;LLE (STRING_A, STRING_B) Elemental Function;646
19.66;LLT (STRING_A, STRING_B) Elemental Function;646
19.67;LOG (X) Elemental Function;646
19.68;LOG10 (X) Elemental Function;647
19.69;LOGICAL (L {, KIND}) Elemental Function;647
19.70;MATMUL (MATRIX_A, MATRIX_B) Transformational Function;647
19.71;MAX (A1, A2 {A3, ... }) Elemental Function;648
19.72;MAXEXPONENT (X) Inquiry Function;649
19.73;MAXLOC (ARRAY, DIM {, MASK, KIND}) or Transformational Function MAXLOC (ARRAY {, MASK, KIND});649
19.74;MAXVAL (ARRAY, DIM {, MASK}) or Transformational Function MAXVAL (ARRAY {, MASK});650
19.75;MERGE (TSOURCE, FSOURCE, MASK) Elemental Function;651
19.76;MIN (A1, A2 {A3, ... }) Elemental Function;651
19.77;MINEXPONENT (X) Inquiry Function;652
19.78;MINLOC (ARRAY, DIM {, MASK, KIND}) or Transformational Function MINLOC (ARRAY {, MASK, KIND});652
19.79;MINVAL (ARRAY, DIM {, MASK}) or Transformational Function MINVAL (ARRAY {, MASK});654
19.80;MOD (A, P) Elemental Function;654
19.81;MODULO (A, P) Elemental Function;655
19.82;MOVE_ALLOC (FROM, TO) Pure Intrinsic Subroutine;655
19.83;MVBITS (FROM, FROMPOS, LEN, TO, TOPOS) Elemental Subroutine;656
19.84;NEAREST (X, S) Elemental Function;656
19.85;NEW_LINE (A) Inquiry Function;657
19.86;NINT (A {, KIND}) Elemental Function;657
19.87;NOT (I) Elemental Function;658
19.88;NULL ({MOLD}) Transformational Function;658
19.89;PACK (ARRAY, MASK {, VECTOR}) Transformational Function;659
19.90;PRECISION (X) Inquiry Function;660
19.91;PRESENT (A) Inquiry Function;660
19.92;PRODUCT (ARRAY, DIM {, MASK}) or Transformational Function PRODUCT (ARRAY {, MASK});661
19.93;RADIX (X) Inquiry Function;661
19.94;RANDOM_NUMBER (HARVEST) Subroutine;662
19.95;RANDOM_SEED ({SIZE, PUT, GET}) Subroutine;662
19.96;RANGE (X) Inquiry Function;663
19.97;REAL (A {, KIND}) Elemental Function;663
19.98;REPEAT (STRING, NCOPIES) Transformational Function;664
19.99;RESHAPE (SOURCE, SHAPE {, PAD, ORDER}) Transformational Function;664
19.100;RRSPACING (X) Elemental Function;665
19.101;SAME_TYPE_AS (A, B) Inquiry Function;665
19.102;SCALE (X, I) Elemental Function;666
19.103;SCAN (STRING, SET {, BACK, KIND}) Elemental Function;666
19.104;SELECTED_CHAR_KIND (NAME) Transformational Function;666
19.105;SELECTED_INT_KIND (R) Transformational Function;667
19.106;SELECTED_REAL_KIND ({P, R}) Transformational Function;667
19.107;SET_EXPONENT (X, I) Elemental Function;668
19.108;SHAPE (SOURCE [, KIND]) Inquiry Function;669
19.109;SIGN (A, B) Elemental Function;669
19.110;SIN (X) Elemental Function;669
19.111;SINH (X) Elemental Function;670
19.112;SIZE (ARRAY {, DIM, KIND}) Inquiry Function;670
19.113;SPACING (X) Elemental Function;671
19.114;SPREAD (SOURCE, DIM, NCOPIES) Transformational Function;671
19.115;SQRT (X) Elemental Function;671
19.116;SUM (ARRAY, DIM {, MASK}) or Transformational Function SUM (ARRAY {, MASK});672
19.117;SYSTEM_CLOCK ({COUNT, COUNT_RATE, COUNT_MAX}) Subroutine;672
19.118;TAN (X) Elemental Function;673
19.119;TANH (X) Elemental Function;673
19.120;TINY (X) Inquiry Function;674
19.121;TRANSFER (SOURCE, MOLD [, SIZE]) Transformational Function;674
19.122;TRANSPOSE (MATRIX) Transformational Function;675
19.123;TRIM (STRING) Transformational Function;675
19.124;UBOUND (ARRAY {, DIM, KIND}) Inquiry Function;675
19.125;UNPACK (VECTOR, MASK, FIELD) Transformational Function;676
19.126;VERIFY (STRING, SET {, BACK, KIND}) Elemental Function;676
20;B IEEE Module Procedures;679
20.1;IEEE_CLASS (X) Elemental Function;679
20.2;IEEE_COPY_SIGN (X, Y) Elemental Function;680
20.3;IEEE_GET_FLAG (FLAG, FLAG_VALUE) Elemental Subroutine;680
20.4;IEEE_GET_HALTING_MODE (FLAG, HALTING) Elemental Subroutine;681
20.5;IEEE_GET_ROUNDING_MODE (ROUND_VALUE) Subroutine;682
20.6;IEEE_GET_STATUS (STATUS_VALUE) Subroutine;682
20.7;IEEE_GET_UNDERFLOW_MODE (GRADUAL) Subroutine;683
20.8;IEEE_IS_FINITE (X) Elemental Function;683
20.9;IEEE_IS_NAN (X) Elemental Function;683
20.10;IEEE_IS_NEGATIVE (X) Elemental Function;684
20.11;IEEE_IS_NORMAL (X) Elemental Function;684
20.12;IEEE_LOGB (X) Elemental Function;684
20.13;IEEE_NEXT_AFTER (X, Y) Elemental Function;685
20.14;IEEE_REM (X, Y) Elemental Function;685
20.15;IEEE_RINT (X) Elemental Function;685
20.16;IEEE_SCALB (X, I) Elemental Function;686
20.17;IEEE_SELECTED_REAL_KIND ({P, R}) Transformational Function;686
20.18;IEEE_SET_FLAG (FLAG, FLAG_VALUE) Pure Subroutine;687
20.19;IEEE_SET_HALTING_MODE (FLAG, HALTING) Pure Subroutine;687
20.20;IEEE_SET_ROUNDING_MODE (ROUND_VALUE) Subroutine;688
20.21;IEEE_SET_STATUS (STATUS_VALUE) Subroutine;688
20.22;IEEE_SET_UNDERFLOW_MODE (GRADUAL) Subroutine;689
20.23;IEEE_SUPPORT_DATATYPE ( ) or Inquiry Function IEEE_SUPPORT_DATATYPE (X);689
20.24;IEEE_SUPPORT_DENORMAL ( ) or Inquiry Function IEEE_SUPPORT_DENORMAL (X);689
20.25;IEEE_SUPPORT_DIVIDE ( ) or IEEE_SUPPORT_DIVIDE (X) Inquiry Function;690
20.26;IEEE_SUPPORT_FLAG (FLAG) or Inquiry Function IEEE_SUPPORT_FLAG (FLAG, X);690
20.27;IEEE_SUPPORT_HALTING (FLAG) Inquiry Function;690
20.28;IEEE_SUPPORT_INF ( ) or IEEE_SUPPORT_INF (X) Inquiry Function;691
20.29;IEEE_SUPPORT_IO ( ) or IEEE_SUPPORT_IO (X) Inquiry Function;691
20.30;IEEE_SUPPORT_NAN ( ) or IEEE_SUPPORT_NAN (X) Inquiry Function;691
20.31;IEEE_SUPPORT_ROUNDING (ROUND_VALUE) or Inquiry Function IEEE_SUPPORT_ROUNDING (ROUND_VALUE, X);692
20.32;IEEE_SUPPORT_SQRT ( ) or IEEE_SUPPORT_SQRT (X) Inquiry Function;692
20.33;IEEE_SUPPORT_STANDARD ( ) or Inquiry Function IEEE_SUPPORT_STANDARD (X);692
20.34;IEEE_SUPPORT_UNDERFLOW_CONTROL ( ) or Inquiry Function IEEE_SUPPORT_UNDERFLOW_CONTROL (X);693
20.35;IEEE_UNORDERED (X, Y) Elemental Function;693
20.36; IEEE_VALUE (X, CLASS) Elemental Function;694
21;C Language Evolution;695
21.1;C.1 New Features;695
21.2;C.2 Obsolescent Features;696
21.3;C.3 Deleted Features;697
21.4;C.4 Other Compatibility Issues;698
22;Index of Examples;699
23;Index;703
mehr
Kritik
From the reviews:"It is a comprehensive treatise of the language that complements the latest incarnation of the Fortran standard. ... It is particularly remarkable to see how much Fortran has changed over the years, while maintaining compatibility with earlier versions. ... The book does a good job of explaining all these in depth, meriting it a place on serious Fortran developers' bookshelves. It will also help non-Fortran developers who want to understand and read Fortran programs ... ." (Panagiotis Louridas, ACM Computing Reviews, June, 2009)mehr