Jeanne C. Adams, Walter S. Brainerd, Jeanne T. Martin0070004064, 9780070004061
Table of contents :
Preface……Page 3
Style of the Programming Examples……Page 4
Printed Copies……Page 5
Table of Contents……Page 7
Sneak Preview……Page 13
Source Form and Names……Page 14
Numeric Processing……Page 15
Array Processing……Page 16
Pointers……Page 17
Data Structures……Page 18
Procedures……Page 19
Modules……Page 21
Input/ Output Features……Page 22
Language Architecture……Page 23
1.1 History……Page 25
1.2 Why a New Standard?……Page 27
1.3 Why Not Use Another Language?……Page 29
1.4 Development of Fortran 90……Page 30
1.5 Fortran 77 Compatibility……Page 31
1.7 Intrinsic and Standard Modules……Page 32
1.8 The Fortran 90 Language Standard……Page 33
1.9 References……Page 36
2.1 Scope and Association……Page 39
2.2 Program Organization……Page 47
2.3 Data Environment……Page 51
2.4 Program Execution……Page 55
2.5 Terms……Page 58
2.6 Summary of Forms……Page 64
2.7 Ordering Requirements……Page 69
2.9 Summary……Page 71
Language Elements……Page 77
3.1 The Processor Character Set……Page 78
3.2 Lexical Tokens……Page 81
3.3 Source Form……Page 85
3.4 Rules for Fixed/ Free Source Form……Page 94
3.5 The INCLUDE Line……Page 95
3.7 Summary……Page 96
Data Types……Page 101
4.1 Building the Data Environment for a Problem Solution……Page 103
4.2 What Is Meant by “Type” in Fortran?……Page 108
4.3 Intrinsic Data Types……Page 111
4.4 Derived Types……Page 122
4.5 Structure Constructors……Page 133
4.6 Array Constructors……Page 136
4.7 Summary……Page 139
Declarations……Page 143
5.1 Type Declaration Statements……Page 146
5.2 Implicit Typing……Page 154
5.3 Array Properties……Page 156
5.4 Pointer Properties……Page 164
5.5 Value Attributes……Page 167
5.6 Object Accessibility and Use……Page 173
5.7 Procedure Properties……Page 183
5.8 Automatic Data Objects……Page 186
5.9 NAMELIST Statement……Page 187
5.10 Storage Association……Page 188
5.11 Summary……Page 198
Using Data……Page 209
6.1 Constants and Variables……Page 211
6.2 Substrings……Page 213
6.3 Structure Components……Page 215
6.4 Arrays……Page 217
6.5 Pointers and Allocatable Arrays……Page 227
6.6 Summary……Page 234
Expressions and Assignment……Page 239
7.1 Introduction to Fortran 90 Expressions……Page 240
7.2 Formation of Expressions……Page 246
7.3 Interpretation of Expressions……Page 288
7.4 Evaluation of Expressions……Page 296
7.5 Assignment……Page 302
7.6 Summary……Page 315
Controlling Execution……Page 321
8.2 Blocks and Executable Constructs……Page 322
8.3 IF Construct and IF Statement……Page 324
8.4 The CASE Construct……Page 328
8.5 The DO Construct……Page 333
8.6 Branching……Page 345
8.7 Obsolescent Control Statements……Page 349
8.8 Summary……Page 353
Input and Output Processing……Page 357
9.1 Records, Files, Access Methods, and Units……Page 358
9.2 Data Transfer Statements……Page 371
9.3 Execution Model for Data Transfer Statements……Page 401
9.4 Error and Other Conditions in Input/ Output Statements……Page 404
9.5 The OPEN Statement……Page 407
9.6 The CLOSE Statement……Page 417
9.7 Inquiring about Files……Page 420
9.8 File Positioning Statements……Page 429
9.9 Restrictions: I/ O Specifiers, List Items, and Statements……Page 434
9.10 Summary……Page 435
Input and Output Editing……Page 439
10.1 Explicit Formatting……Page 441
10.2 Format Specifications……Page 444
10.3 Character String Edit Descriptor Form……Page 447
10.4 Formatted Data Transfer……Page 448
10.5 File Positioning by Format Control……Page 453
10.6 Numeric Editing……Page 454
10.7 Logical Editing……Page 467
10.8 Character Editing……Page 468
10.9 Control Edit Descriptors……Page 469
10.10 List- Directed Formatting……Page 477
10.11 Namelist Formatting……Page 483
10.12 Summary……Page 492
11.1 Overview……Page 495
11.2 Main Program……Page 497
11.3 Internal Procedures……Page 501
11.4 Host Association……Page 503
11.5 External Subprograms……Page 508
11.6 Modules……Page 510
11.7 Block Data Program Units……Page 527
11.8 Summary……Page 528
Using Procedures……Page 533
12.1 Procedure Terms and Concepts……Page 534
12.2 Subroutines……Page 542
12.3 Functions……Page 547
12.4 Procedure- Related Statements……Page 555
12.5 Argument Association……Page 560
12.6 Procedure Interfaces……Page 585
12.7 Summary……Page 599
Intrinsic Procedures……Page 605
13.1 Intrinsic Procedure Terms and Concepts……Page 606
13.2 Representation Models……Page 608
13.3 Inquiry and Numeric Manipulation Functions……Page 610
13.4 Transfer and Conversion Functions……Page 613
13.5 Computation Functions……Page 614
13.6 Array Functions……Page 616
13.8 Alphabetical List of All Intrinsic Procedures……Page 618
13.9 Specific Names for Generic Intrinsic Procedures……Page 624
13.10 Summary……Page 627
Scope, Association, and Definition……Page 629
14.1 The Use of Names……Page 631
14.2 Scope……Page 632
14.3 Association……Page 641
14.4 Definition Status……Page 649
Intrinsic Procedures……Page 657
A. 2 ACHAR (I)……Page 658
A. 5 ADJUSTR (STRING)……Page 659
A. 7 AINT (A, KIND)……Page 660
A. 8 ALL (MASK, DIM)……Page 661
A. 9 ALLOCATED (ARRAY)……Page 662
A. 11 ANY (MASK, DIM)……Page 663
A. 12 ASIN (X)……Page 664
A. 13 ASSOCIATED (POINTER, TARGET)……Page 665
A. 14 ATAN (X)……Page 666
A. 16 BIT_ SIZE (I)……Page 667
A. 17 BTEST (I, POS)……Page 668
A. 19 CHAR (I, KIND)……Page 669
A. 20 CMPLX (X, Y, KIND)……Page 670
A. 23 COSH (X)……Page 671
A. 24 COUNT (MASK, DIM)……Page 672
A. 25 CSHIFT (ARRAY, SHIFT, DIM)……Page 673
A. 26 DATE_ AND_ TIME (DATE, TIME, ZONE, VALUES)……Page 674
A. 27 DBLE (A)……Page 676
A. 29 DIM (X, Y)……Page 677
A. 30 DOT_ PRODUCT (VECTOR_ A, VECTOR_ B)……Page 678
A. 32 EOSHIFT (ARRAY, SHIFT, BOUNDARY, DIM)……Page 679
A. 33 EPSILON (X)……Page 681
A. 35 EXPONENT (X)……Page 682
A. 38 HUGE (X)……Page 683
A. 40 IAND (I, J)……Page 684
A. 41 IBCLR (I, POS)……Page 685
A. 43 IBSET (I, POS)……Page 686
A. 45 IEOR (I, J)……Page 687
A. 46 INDEX (STRING, SUBSTRING, BACK)……Page 688
A. 47 INT (A, KIND)……Page 689
A. 48 IOR (I, J)……Page 690
A. 50 ISHFTC (I, SHIFT, SIZE)……Page 691
A. 52 LBOUND (ARRAY, DIM)……Page 692
A. 55 LGE (STRING_ A, STRING_ B)……Page 694
A. 56 LGT (STRING_ A, STRING_ B)……Page 695
A. 58 LLT (STRING_ A, STRING_ B)……Page 696
A. 60 LOG10 (X)……Page 697
A. 62 MATMUL (MATRIX_ A, MATRIX_ B)……Page 698
A. 64 MAXEXPONENT (X)……Page 700
A. 65 MAXLOC (ARRAY, MASK)……Page 701
A. 66 MAXVAL (ARRAY, DIM, MASK)……Page 702
A. 67 MERGE (TSOURCE, FSOURCE, MASK)……Page 703
A. 68 MIN (A1, A2, A3, …)……Page 704
A. 70 MINLOC (ARRAY, MASK)……Page 705
A. 71 MINVAL (ARRAY, DIM, MASK)……Page 706
A. 73 MODULO (A, P)……Page 708
A. 74 MVBITS (FROM, FROMPOS, LEN, TO, TOPOS)……Page 709
A. 75 NEAREST (X, S)……Page 710
A. 77 NOT (I)……Page 711
A. 78 PACK (ARRAY, MASK, VECTOR)……Page 712
A. 80 PRESENT (A)……Page 713
A. 81 PRODUCT (ARRAY, DIM, MASK)……Page 714
A. 84 RANDOM_ SEED (SIZE, PUT, GET)……Page 716
A. 85 RANGE (X)……Page 717
A. 86 REAL (A, KIND)……Page 718
A. 88 RESHAPE (SOURCE, SHAPE, PAD, ORDER)……Page 719
A. 89 RRSPACING (X)……Page 720
A. 91 SCAN (STRING, SET, BACK)……Page 721
A. 92 SELECTED_ INT_ KIND (R)……Page 722
A. 93 SELECTED_ REAL_ KIND (P, R)……Page 723
A. 95 SHAPE (SOURCE)……Page 724
A. 98 SINH (X)……Page 725
A. 100 SPACING (X)……Page 726
A. 101 SPREAD (SOURCE, DIM, NCOPIES)……Page 727
A. 103 SUM (ARRAY, DIM, MASK)……Page 728
A. 104 SYSTEM_ CLOCK (COUNT, COUNT_ RATE, COUNT_ MAX)……Page 730
A. 107 TINY (X)……Page 731
A. 108 TRANSFER (SOURCE, MOLD, SIZE)……Page 732
A. 109 TRANSPOSE (MATRIX)……Page 733
A. 111 UBOUND (ARRAY, DIM)……Page 734
A. 112 UNPACK (VECTOR, MASK, FIELD)……Page 735
A. 113 VERIFY (STRING, SET, BACK)……Page 736
B. 1 The Form of the Syntax……Page 739
B. 2 Syntax Rules and Constraints……Page 743
B. 3 Cross References……Page 770
C. 2 Obsolescent Features……Page 789
Index of Examples……Page 793
Index……Page 801
Reviews
There are no reviews yet.