SlideShare a Scribd company logo
Modern Fortran Explained Numerical Mathematics and
Scientific Computation 4th Edition Metcalf -
Downloadable PDF 2025
https://ebookfinal.com/download/modern-fortran-explained-numerical-
mathematics-and-scientific-computation-4th-edition-metcalf/
Visit ebookfinal.com today to download the complete set of
ebooks or textbooks
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Modern Fortran Explained Incorporating Fortran 2023 6th
Edition Mr Michael Metcalf
https://ebookfinal.com/download/modern-fortran-explained-
incorporating-fortran-2023-6th-edition-mr-michael-metcalf/
GCSE Mathematics Instant Revision Paul Metcalf
https://ebookfinal.com/download/gcse-mathematics-instant-revision-
paul-metcalf/
Mathematics in Action An Introduction to Algebraic
Graphical and Numerical Problem Solving 4th Edition
Consortium For Foundation Mathematics
https://ebookfinal.com/download/mathematics-in-action-an-introduction-
to-algebraic-graphical-and-numerical-problem-solving-4th-edition-
consortium-for-foundation-mathematics/
Advanced modern engineering mathematics 4th ed Edition
James
https://ebookfinal.com/download/advanced-modern-engineering-
mathematics-4th-ed-edition-james/
FORTRAN 90 for Scientists and Engineers 4th Edition Brian
Hahn
https://ebookfinal.com/download/fortran-90-for-scientists-and-
engineers-4th-edition-brian-hahn/
Wastewater Engineering Treatment and Reuse 4th edition
Metcalf & Eddy
https://ebookfinal.com/download/wastewater-engineering-treatment-and-
reuse-4th-edition-metcalf-eddy/
Numerical Methods 4th Edition George Lindfield
https://ebookfinal.com/download/numerical-methods-4th-edition-george-
lindfield/
Numerical methods using MATLAB 4th Edition John. H.
Mathews
https://ebookfinal.com/download/numerical-methods-using-matlab-4th-
edition-john-h-mathews/
Discrete Mathematics 4th Edition Nancy Crisler
https://ebookfinal.com/download/discrete-mathematics-4th-edition-
nancy-crisler/
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
Modern Fortran Explained Numerical Mathematics and
Scientific Computation 4th Edition Metcalf Digital Instant
Download
Author(s): Metcalf, Michael, Reid, John, Cohen, Malcolm
ISBN(s): 9780199601424, 0199601429
Edition: 4
File Details: PDF, 1.28 MB
Year: 2011
Language: english
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
NUMERICAL MATHEMATICS AND SCIENTIFIC COMPUTATION
Series Editors
A. M. STUART E. SÜLI
NUMERICAL MATHEMATICS AND SCIENTIFIC COMPUTATION
Books in the series
Monographs marked with an asterisk (∗) appeared in the series ‘Monographs in Numerical Analysis’
which is continued by the current series.
For a full list of titles please visit
http://www.oup.co.uk/academic/science/maths/series/nmsc
∗ J. H. Wilkinson: The algebraic eigenvalue problem
∗ I. Duff, A. Erisman, and J. Reid: Direct methods for sparse matrices
∗ M. J. Baines: Moving finite elements
∗ J. D. Pryce: Numerical solution of Sturm-Liouville problems
C. Schwab: p- and hp- finite element methods: theory and applications in solid and fluid mechanics
J. W. Jerome: Modelling and computation for applications in mathematics, science, and engineering
A. Quarteroni and A. Valli: Domain decomposition methods for partial differential equations
G. Em Karniadakis and S. J. Sherwin: Spectral/hp element methods for CFD
I. Babuška and T. Strouboulis: The finite element method and its reliability
B. Mohammadi and O. Pironneau: Applied shape optimization for fluids
S. Succi: The lattice Boltzmann equation: for fluid dynamics and beyond
P. Monk: Finite element methods for Maxwell’s equations
A. Bellen and M. Zennaro: Numerical methods for delay differential equations
J. Modersitzki: Numerical methods for image registration
M. Feistauer, J. Felcman, and I. Straškraba: Mathematical and computational methods for
compressible flow
W. Gautschi: Orthogonal polynomials: computation and approximation
M. K. Ng: Iterative methods for Toeplitz systems
M. Metcalf, J. Reid, and M. Cohen: Fortran 95/2003 explained
G. Em Karniadakis and S. Sherwin: Spectral/hp element methods for computational fluid dynamics,
second edition
D. A. Bini, G. Latouche, and B. Meini: Numerical methods for structured Markov chains
H. Elman, D. Silvester, and A. Wathen: Finite elements and fast iterative solvers: with applications
in incompressible fluid dynamics
M. Chu and G. Golub: Inverse eigenvalue problems: theory, algorithms, and applications
J.-F. Gerbeau, C. Le Bris, and T. Lelièvre: Mathematical methods for the magnetohydrodynamics of
liquid metals
G. Allaire and A. Craig: Numerical analysis and optimization: an introduction to mathematical
modelling and numerical simulation
K. Urban: Wavelet methods for elliptic partial differential equations
B. Mohammadi and O. Pironneau: Applied shape optimization for fluids, second edition
K. Böhmer: Numerical methods for nonlinear elliptic differential equations: a synopsis
M. Metcalf, J. Reid, and M. Cohen: Modern Fortran Explained
Modern Fortran Explained
Michael Metcalf
Formerly of CERN, Geneva, Switzerland
John Reid
JKR Associates, Oxfordshire
and
Malcolm Cohen
The Numerical Algorithms Group, Oxfordshire
1
3
Great Clarendon Street, Oxford ox2 6dp
Oxford University Press is a department of the University of Oxford.
It furthers the University’s objective of excellence in research, scholarship,
and education by publishing worldwide in
Oxford New York
Auckland Cape Town Dar es Salaam Hong Kong Karachi
Kuala Lumpur Madrid Melbourne Mexico City Nairobi
New Delhi Shanghai Taipei Toronto
With offices in
Argentina Austria Brazil Chile Czech Republic France Greece
Guatemala Hungary Italy Japan Poland Portugal Singapore
South Korea Switzerland Thailand Turkey Ukraine Vietnam
Oxford is a registered trade mark of Oxford University Press
in the UK and in certain other countries
Published in the United States
by Oxford University Press Inc., New York
c
 Michael Metcalf, John Reid, and Malcolm Cohen 2011
The moral rights of the authors have been asserted
Database right Oxford University Press (maker)
First edition published 1987 as Fortran 8x Explained
Second edition published 1989
Third edition published 1990 as Fortran 90 Explained
Fourth edition published 1996 as Fortran 90/95 Explained
Fifth edition published 1999
Sixth edition published 2004 as Fortran 95/2003 Explained
This edition published 2011
All rights reserved. No part of this publication may be reproduced,
stored in a retrieval system, or transmitted, in any form or by any means,
without the prior permission in writing of Oxford University Press,
or as expressly permitted by law, or under terms agreed with the appropriate
reprographics rights organization. Enquiries concerning reproduction
outside the scope of the above should be sent to the Rights Department,
Oxford University Press, at the address above
You must not circulate this book in any other binding or cover
and you must impose the same condition on any acquirer
British Library Cataloguing in Publication Data
Data available
Library of Congress Cataloging in Publication Data
Library of Congress Control Number: 2010941705
Printed in Great Britain
on acid-free paper by
CPI Antony Rowe, Chippenham, Wiltshire
ISBN 978–0–19–960141–7 (Hbk)
978–0–19–960142–4 (Pbk)
1 3 5 7 9 10 8 6 4 2
Preface
Fortran remains one of the principal languages used in the fields of scientific, numerical,
and engineering programming, and a series of revisions to the standard defining successive
versions of the language has progressively enhanced its power and kept it competitive with
several generations of rivals.
Beginning in 1978, the technical committee responsible for the development of Fortran
standards, X3J3 (now PL22.3 but still informally called J3), laboured to produce a new, much-
needed modern version of the language, Fortran 90. Its purpose was to ‘promote portability,
reliability, maintainability, and efficient execution... on a variety of computing systems’.
That standard was published in 1991, and work began in 1993 on a minor revision, known as
Fortran 95. Subsequently, and with the same purpose, a further major upgrade to the language
was prepared by J3 and the international committee, WG5. This revision, which included
object-oriented programming features, is now known as Fortran 2003. This has now been
followed by a further revision, Fortran 2008, and, once again, it seems appropriate to prepare
a definitive informal description of the language that it defines. This continues the series of
editions of this book – the two editions of Fortran 8x Explained that described the two drafts
of the standard (1987 and 1989), Fortran 90 Explained that described the Fortran 90 standard
(1990), two editions of Fortran 90/95 Explained that included Fortran 95 too (1996 and 1999)
and Fortran 95/2003 (2004), with its added chapters on Fortran 2003. In that final endeavour,
a third co-author was welcomed.
In this book, an initial chapter sets out the background to the work on new standards,
and the nine following chapters describe Fortran 95 (less its obsolescent features and the
redundant Fortran 77 features whose use we deprecate) in a manner suitable both for grasping
the implications of its features, and for writing programs. We include the allocatable array
extensions that were originally published as an ISO Technical Report and are now part of
Fortran 2003, since they have been implemented in Fortran 95 compilers for many years.
Some knowledge of programming concepts is assumed. In order to reduce the number of
forward references and also to enable, as quickly as possible, useful programs to be written
based on material already absorbed, the order of presentation does not always follow that of
the standard. In particular, we have chosen to defer to appendices the description of features
that are officially labelled as redundant (some of which were deleted from the Fortran 95
standard) and other features whose use we deprecate. They may be encountered in old
programs, but are not needed in new ones.
Chapter 11 describes another part of Fortran 2003 that was originally defined by an ISO
Technical Report. This is followed, in Chapters 12 to 17, by descriptions of the other features
vi Preface
defined by the Fortran 2003 standard. Chapter 18 describes a part of Fortran 2008 that
was originally defined by an ISO Technical Report and two further chapters describe the
other new features of Fortran 2008. The structure of the book thus allows the reader to
distinguish clearly between Fortran 95 (plus allocatable array extensions), Fortran 2003, and
the new Fortran 2008 features. Note that, apart from a small number of deletions, each of the
languages Fortran 77, Fortran 90, Fortran 95, Fortran 2003, and Fortran 2008 is a subset of
its successor.
In order to make the book a complete reference work, it concludes with seven appendices.
They contain, successively, a list of the intrinsic procedures, a description of various features
whose use we deprecate and do not describe in the body of the book, a description of
obsolescent and deleted features, advice on avoiding compilation cascades, an extended
example illustrating the use of object orientation, a glossary of Fortran terms, and solutions
to most of the exercises.
It is our hope that this book, by providing complete descriptions of Fortran 95, Fortran 2003
and Fortran 2008, will continue the helpful role that earlier editions played for the
corresponding versions of the standard, and that it will serve as a long-term reference work
for the modern Fortran programming language.
∗∗∗
Malcolm Cohen wishes to thank the Numerical Algorithms Group (NAG) for its encour-
agement during the writing of this book.
Conventions used in this book
Fortran displayed text is set in typewriter font:
integer :: i, j
and a line consisting of a colon indicates omitted lines:
subroutine sort
:
end subroutine sort
Informal BNF terms are in italics:
if (scalar-logical-expr) action-stmt
Square brackets in italics indicate optional items:
end if [name]
and an ellipsis represents an arbitrary number of repeated items:
[ case selector [name]]
block] ...
The italic letter b signifies a blank character.
Corrections to any significant errors detected in this book will be made available in the
files edits.ps and edits.pdf at ftp://ftp.numerical.rl.ac.uk/pub/MRandC.
This page intentionally left blank
Contents
1 Whence Fortran? 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Fortran’s early history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 The drive for the Fortran 90 standard . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Language evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Fortran 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Extensions to Fortran 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7 Fortran 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8 Fortran 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.9 Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Language elements 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Fortran character set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Source form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Concept of type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Literal constants of intrinsic type . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6.1 Integer literal constants . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6.2 Real literal constants . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6.3 Complex literal constants . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.4 Character literal constants . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.5 Logical literal constants . . . . . . . . . . . . . . . . . . . . . . . . 19
2.7 Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.8 Scalar variables of intrinsic type . . . . . . . . . . . . . . . . . . . . . . . . 20
2.9 Derived data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10 Arrays of intrinsic type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.11 Character substrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.12 Objects and subobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.13 Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.14 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 Expressions and assignments 33
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
x Contents
3.2 Scalar numeric expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Defined and undefined variables . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Scalar numeric assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5 Scalar relational operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Scalar logical expressions and assignments . . . . . . . . . . . . . . . . . . 39
3.7 Scalar character expressions and assignments . . . . . . . . . . . . . . . . . 41
3.8 Structure constructors and scalar defined operators . . . . . . . . . . . . . . 42
3.9 Scalar defined assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.10 Array expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.11 Array assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.12 Pointers in expressions and assignments . . . . . . . . . . . . . . . . . . . . 48
3.13 The nullify statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.14 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4 Control constructs 55
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 The if construct and statement . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3 The case construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4 The do construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5 The go to statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5 Program units and procedures 67
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2 Main program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.3 The stop statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4 External subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.5 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.6 Internal subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.7 Arguments of procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.7.1 Pointer arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.7.2 Restrictions on actual arguments . . . . . . . . . . . . . . . . . . . . 76
5.7.3 Arguments with the target attribute . . . . . . . . . . . . . . . . . . . 76
5.8 The return statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.9 Argument intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.10 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.10.1 Prohibited side-effects . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.11 Explicit and implicit interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.12 Procedures as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.13 Keyword and optional arguments . . . . . . . . . . . . . . . . . . . . . . . . 83
5.14 Scope of labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.15 Scope of names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.16 Direct recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.17 Indirect recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.18 Overloading and generic interfaces . . . . . . . . . . . . . . . . . . . . . . . 90
Contents xi
5.19 Assumed character length . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.20 The subroutine and function statements . . . . . . . . . . . . . . . . . . . . 95
5.21 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6 Array features 99
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Zero-sized arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3 Assumed-shape arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.4 Automatic objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 Allocation of data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.5.1 The allocatable attribute . . . . . . . . . . . . . . . . . . . . . . . . 102
6.5.2 The allocate statement . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.3 The deallocate statement . . . . . . . . . . . . . . . . . . . . . . . . 104
6.5.4 Allocatable dummy arguments . . . . . . . . . . . . . . . . . . . . . 105
6.5.5 Allocatable functions . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.5.6 Allocatable components . . . . . . . . . . . . . . . . . . . . . . . . 106
6.5.7 Allocatable arrays vs. pointers . . . . . . . . . . . . . . . . . . . . . 109
6.6 Elemental operations and assignments . . . . . . . . . . . . . . . . . . . . . 110
6.7 Array-valued functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.8 The where statement and construct . . . . . . . . . . . . . . . . . . . . . . . 111
6.9 The forall statement and construct . . . . . . . . . . . . . . . . . . . . . . . 114
6.10 Pure procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.11 Elemental procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.12 Array elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.13 Array subobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.14 Arrays of pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.15 Pointers as aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.16 Array constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.17 Mask arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.18 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7 Specification statements 133
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.2 Implicit typing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3 Declaring entities of differing shapes . . . . . . . . . . . . . . . . . . . . . . 134
7.4 Named constants and constant expressions . . . . . . . . . . . . . . . . . . . 134
7.5 Initial values for variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.5.1 Initialization in type declaration statements . . . . . . . . . . . . . . 137
7.5.2 The data statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.5.3 Pointer initialization and the function null . . . . . . . . . . . . . . . 140
7.5.4 Default initialization of components . . . . . . . . . . . . . . . . . . 141
7.6 The public and private attributes . . . . . . . . . . . . . . . . . . . . . . . . 142
7.7 The pointer, target, and allocatable statements . . . . . . . . . . . . . . . . . 144
7.8 The intent and optional statements . . . . . . . . . . . . . . . . . . . . . . . 144
7.9 The save attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
xii Contents
7.10 The use statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.11 Derived-type definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7.12 The type declaration statement . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.13 Type and type parameter specification . . . . . . . . . . . . . . . . . . . . . 152
7.14 Specification expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.14.1 Specification functions . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.15 The namelist statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
7.16 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8 Intrinsic procedures 161
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.1 Keyword calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.2 Categories of intrinsic procedures . . . . . . . . . . . . . . . . . . . 162
8.1.3 The intrinsic statement . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.1.4 Argument intents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.2 Inquiry functions for any type . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.3 Elemental numeric functions . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.3.1 Elemental functions that may convert . . . . . . . . . . . . . . . . . 163
8.3.2 Elemental functions that do not convert . . . . . . . . . . . . . . . . 164
8.4 Elemental mathematical functions . . . . . . . . . . . . . . . . . . . . . . . 165
8.5 Elemental character and logical functions . . . . . . . . . . . . . . . . . . . 166
8.5.1 Character–integer conversions . . . . . . . . . . . . . . . . . . . . . 166
8.5.2 Lexical comparison functions . . . . . . . . . . . . . . . . . . . . . 167
8.5.3 String-handling elemental functions . . . . . . . . . . . . . . . . . . 167
8.5.4 Logical conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
8.6 Non-elemental string-handling functions . . . . . . . . . . . . . . . . . . . . 168
8.6.1 String-handling inquiry function . . . . . . . . . . . . . . . . . . . . 168
8.6.2 String-handling transformational functions . . . . . . . . . . . . . . 168
8.7 Numeric inquiry and manipulation functions . . . . . . . . . . . . . . . . . . 168
8.7.1 Models for integer and real data . . . . . . . . . . . . . . . . . . . . 168
8.7.2 Numeric inquiry functions . . . . . . . . . . . . . . . . . . . . . . . 169
8.7.3 Elemental functions to manipulate reals . . . . . . . . . . . . . . . . 170
8.7.4 Transformational functions for kind values . . . . . . . . . . . . . . 171
8.8 Bit manipulation procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 171
8.8.1 Inquiry function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
8.8.2 Elemental functions . . . . . . . . . . . . . . . . . . . . . . . . . . 172
8.8.3 Elemental subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . 173
8.9 Transfer function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
8.10 Vector and matrix multiplication functions . . . . . . . . . . . . . . . . . . . 174
8.11 Transformational functions that reduce arrays . . . . . . . . . . . . . . . . . 175
8.11.1 Single argument case . . . . . . . . . . . . . . . . . . . . . . . . . . 175
8.11.2 Optional argument dim . . . . . . . . . . . . . . . . . . . . . . . . . 175
8.11.3 Optional argument mask . . . . . . . . . . . . . . . . . . . . . . . . 176
8.12 Array inquiry functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
8.12.1 Allocation status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Contents xiii
8.12.2 Bounds, shape, and size . . . . . . . . . . . . . . . . . . . . . . . . 176
8.13 Array construction and manipulation functions . . . . . . . . . . . . . . . . 177
8.13.1 The merge elemental function . . . . . . . . . . . . . . . . . . . . . 177
8.13.2 Packing and unpacking arrays . . . . . . . . . . . . . . . . . . . . . 177
8.13.3 Reshaping an array . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
8.13.4 Transformational function for replication . . . . . . . . . . . . . . . 178
8.13.5 Array shifting functions . . . . . . . . . . . . . . . . . . . . . . . . 178
8.13.6 Matrix transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
8.14 Transformational functions for geometric location . . . . . . . . . . . . . . . 179
8.15 Transformational function for pointer disassociation . . . . . . . . . . . . . . 179
8.16 Non-elemental intrinsic subroutines . . . . . . . . . . . . . . . . . . . . . . 180
8.16.1 Real-time clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
8.16.2 CPU time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.16.3 Random numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.17 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
9 Data transfer 185
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
9.2 Number conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
9.3 I/O lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.4 Format definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9.5 Unit numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
9.6 Internal files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
9.7 Formatted input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
9.8 Formatted output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
9.9 List-directed I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
9.10 Namelist I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
9.11 Non-advancing I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
9.12 Edit descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.12.1 Repeat counts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.12.2 Data edit descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . 201
9.12.3 Character string edit descriptor . . . . . . . . . . . . . . . . . . . . . 205
9.12.4 Control edit descriptors . . . . . . . . . . . . . . . . . . . . . . . . . 205
9.13 Unformatted I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
9.14 Direct-access files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
9.15 Execution of a data transfer statement . . . . . . . . . . . . . . . . . . . . . 210
9.16 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10 Operations on external files 213
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
10.2 Positioning statements for sequential files . . . . . . . . . . . . . . . . . . . 214
10.2.1 The backspace statement . . . . . . . . . . . . . . . . . . . . . . . . 214
10.2.2 The rewind statement . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.2.3 The endfile statement . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.2.4 Data transfer statements . . . . . . . . . . . . . . . . . . . . . . . . 215
xiv Contents
10.3 The open statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.4 The close statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
10.5 The inquire statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
11 Floating-point exception handling 223
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
11.2 The IEEE standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
11.3 Access to the features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
11.4 The Fortran flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
11.5 Halting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
11.6 The rounding mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
11.7 The underflow mode (Fortran 2003 only) . . . . . . . . . . . . . . . . . . . . 229
11.8 The module ieee_exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . 229
11.8.1 Derived types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
11.8.2 Inquiry functions for IEEE exceptions . . . . . . . . . . . . . . . . . 230
11.8.3 Subroutines for the flags and halting modes . . . . . . . . . . . . . . 230
11.8.4 Subroutines for the whole of the floating-point status . . . . . . . . . 231
11.9 The module ieee_arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . 232
11.9.1 Derived types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
11.9.2 Inquiry functions for IEEE arithmetic . . . . . . . . . . . . . . . . . 232
11.9.3 Elemental functions . . . . . . . . . . . . . . . . . . . . . . . . . . 234
11.9.4 Non-elemental subroutines . . . . . . . . . . . . . . . . . . . . . . . 235
11.9.5 Transformational function for kind value . . . . . . . . . . . . . . . 236
11.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
11.10.1 Dot product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
11.10.2 Calling alternative procedures . . . . . . . . . . . . . . . . . . . . . 237
11.10.3 Calling alternative in-line code . . . . . . . . . . . . . . . . . . . . 238
11.10.4 Reliable hypotenuse function . . . . . . . . . . . . . . . . . . . . . 238
11.10.5 Access to IEEE arithmetic values . . . . . . . . . . . . . . . . . . . 239
12 Interoperability with C 243
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
12.2 Interoperability of intrinsic types . . . . . . . . . . . . . . . . . . . . . . . . 243
12.3 Interoperability with C pointer types . . . . . . . . . . . . . . . . . . . . . . 245
12.4 Interoperability of derived types . . . . . . . . . . . . . . . . . . . . . . . . 246
12.5 Interoperability of variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
12.6 The value attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
12.7 Interoperability of procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.8 Interoperability of global data . . . . . . . . . . . . . . . . . . . . . . . . . 250
12.9 Invoking a C function from Fortran . . . . . . . . . . . . . . . . . . . . . . . 251
12.10 Invoking Fortran from C . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
12.11 Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Contents xv
13 Type parameters and procedure pointers 255
13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
13.2 Deferred type parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
13.3 Type parameter enquiry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
13.4 Parameterized derived types . . . . . . . . . . . . . . . . . . . . . . . . . . 256
13.4.1 Defining a parameterized derived type . . . . . . . . . . . . . . . . . 256
13.4.2 Assumed and deferred type parameters . . . . . . . . . . . . . . . . 258
13.4.3 Default type parameter values . . . . . . . . . . . . . . . . . . . . . 258
13.4.4 Derived type parameter enquiry . . . . . . . . . . . . . . . . . . . . 259
13.5 Abstract interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
13.6 Procedure pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13.6.1 Procedure pointer variables . . . . . . . . . . . . . . . . . . . . . . . 261
13.6.2 Procedure pointer components . . . . . . . . . . . . . . . . . . . . . 261
13.6.3 The pass attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
14 Object-oriented programming 265
14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
14.2 Type extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
14.2.1 Type extension and type parameters . . . . . . . . . . . . . . . . . . 267
14.3 Polymorphic entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
14.3.1 Establishing the dynamic type . . . . . . . . . . . . . . . . . . . . . 268
14.3.2 Limitations on the use of a polymorphic variable . . . . . . . . . . . 269
14.3.3 Polymorphic arrays and scalars . . . . . . . . . . . . . . . . . . . . 269
14.3.4 Unlimited polymorphic entities . . . . . . . . . . . . . . . . . . . . 269
14.3.5 Polymorphic entities and generic resolution . . . . . . . . . . . . . . 270
14.4 The associate construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
14.5 The select type construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
14.6 Type-bound procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
14.6.1 Specific type-bound procedures . . . . . . . . . . . . . . . . . . . . 274
14.6.2 Generic type-bound procedures . . . . . . . . . . . . . . . . . . . . 277
14.6.3 Type extension and type-bound procedures . . . . . . . . . . . . . . 279
14.7 Deferred bindings and abstract types . . . . . . . . . . . . . . . . . . . . . . 280
14.8 Finalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
14.8.1 Type extension and final subroutines . . . . . . . . . . . . . . . . . . 284
14.9 Procedure encapsulation example . . . . . . . . . . . . . . . . . . . . . . . . 284
14.10 Type inquiry functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
15 Establishing and moving data 289
15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
15.2 Mixed component accessibility . . . . . . . . . . . . . . . . . . . . . . . . . 289
15.3 Structure constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
15.4 The allocate statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
15.4.1 Typed allocation and deferred type parameters . . . . . . . . . . . . 291
15.4.2 Polymorphic variables and typed allocation . . . . . . . . . . . . . . 292
15.4.3 Sourced allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
xvi Contents
15.5 Allocatable entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
15.5.1 Allocatable scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
15.5.2 Assignment to an allocatable array . . . . . . . . . . . . . . . . . . . 294
15.5.3 Transferring an allocation . . . . . . . . . . . . . . . . . . . . . . . 295
15.6 Pointer assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
15.7 More control of access from a module . . . . . . . . . . . . . . . . . . . . . 296
15.8 Renaming operators on the use statement . . . . . . . . . . . . . . . . . . . 297
15.9 Array constructor syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
15.10 Specification and constant expressions . . . . . . . . . . . . . . . . . . . . 298
16 Miscellaneous enhancements 301
16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
16.2 Pointer intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
16.3 The volatile attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
16.3.1 Volatile semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
16.3.2 Volatile scoping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
16.3.3 Volatile arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
16.4 The import statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
16.5 Intrinsic modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
16.6 Access to the computing environment . . . . . . . . . . . . . . . . . . . . . 307
16.6.1 Environment variables . . . . . . . . . . . . . . . . . . . . . . . . . 307
16.6.2 Information about the program invocation . . . . . . . . . . . . . . . 308
16.7 Support for internationalization . . . . . . . . . . . . . . . . . . . . . . . . . 308
16.7.1 Character sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
16.7.2 ASCII character set . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
16.7.3 ISO 10646 character set . . . . . . . . . . . . . . . . . . . . . . . . 310
16.7.4 UTF-8 files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
16.7.5 Decimal comma for input/output . . . . . . . . . . . . . . . . . . . . 311
16.8 Lengths of names and statements . . . . . . . . . . . . . . . . . . . . . . . . 312
16.9 Binary, octal, and hexadecimal constants . . . . . . . . . . . . . . . . . . . . 312
16.10 Other changes to intrinsic procedures . . . . . . . . . . . . . . . . . . . . . 313
16.11 Error message retrieval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
16.12 Enhanced complex constants . . . . . . . . . . . . . . . . . . . . . . . . . 314
16.13 Interface block extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
16.14 Public entities of private type . . . . . . . . . . . . . . . . . . . . . . . . . 315
17 Input/output enhancements 317
17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
17.2 Non-default derived-type input/output . . . . . . . . . . . . . . . . . . . . . 317
17.3 Asynchronous input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
17.4 The asynchronous attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
17.5 Input and output of IEEE exceptional values . . . . . . . . . . . . . . . . . . 323
17.6 Stream access input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
17.7 Recursive input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
17.8 The flush statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Contents xvii
17.9 Comma after a P edit descriptor . . . . . . . . . . . . . . . . . . . . . . . . 324
17.10 The iomsg= specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
17.11 The round= specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
17.12 The sign= specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
17.13 Kind type parameters of integer and logical specifiers . . . . . . . . . . . . 325
17.14 More specifiers in read and write statements . . . . . . . . . . . . . . . . . 326
17.15 Intrinsic functions for I/O status testing . . . . . . . . . . . . . . . . . . . . 326
17.16 Some inquire statement enhancements . . . . . . . . . . . . . . . . . . . . 326
17.17 Namelist enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
18 Enhanced module facilities 329
18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
18.2 Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
18.2.1 Separate module procedures . . . . . . . . . . . . . . . . . . . . . . 330
18.2.2 Submodules of submodules . . . . . . . . . . . . . . . . . . . . . . 331
18.2.3 Submodule entities . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
18.2.4 Submodules and use association . . . . . . . . . . . . . . . . . . . . 332
18.3 The advantages of submodules . . . . . . . . . . . . . . . . . . . . . . . . . 332
19 Coarrays 333
19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
19.2 Referencing images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
19.3 The properties of coarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
19.4 Accessing coarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
19.5 The sync all statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
19.6 Coarrays in procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
19.7 Allocatable coarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.8 Coarrays with allocatable or pointer components . . . . . . . . . . . . . . . 341
19.8.1 Data components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
19.8.2 Procedure pointer components . . . . . . . . . . . . . . . . . . . . . 342
19.9 Coarray components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
19.10 References to polymorphic subobjects . . . . . . . . . . . . . . . . . . . . 343
19.11 Volatile and asynchronous attributes . . . . . . . . . . . . . . . . . . . . . 343
19.12 Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
19.13 Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
19.13.1 Execution segments . . . . . . . . . . . . . . . . . . . . . . . . . . 343
19.13.2 The sync images statement . . . . . . . . . . . . . . . . . . . . . . 344
19.13.3 The lock and unlock statements . . . . . . . . . . . . . . . . . . . . 345
19.13.4 Critical sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
19.13.5 The sync memory statement and atomic subroutines . . . . . . . . . 347
19.13.6 The stat= and errmsg= specifiers in synchronization statements . . . 348
19.13.7 The image control statements . . . . . . . . . . . . . . . . . . . . . 348
19.14 Program termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
19.15 Input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
19.16 Intrinsic procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
xviii Contents
19.16.1 Inquiry functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
19.16.2 Transformational functions . . . . . . . . . . . . . . . . . . . . . . 351
20 Other Fortran 2008 enhancements 353
20.1 Trivial syntactic conveniences . . . . . . . . . . . . . . . . . . . . . . . . . 353
20.1.1 Implied-shape arrays . . . . . . . . . . . . . . . . . . . . . . . . . . 353
20.1.2 Implied-do loops in data statements . . . . . . . . . . . . . . . . . . 353
20.1.3 Type-bound procedures . . . . . . . . . . . . . . . . . . . . . . . . . 354
20.1.4 Structure constructors . . . . . . . . . . . . . . . . . . . . . . . . . 354
20.1.5 Semicolons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
20.1.6 The stop statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
20.1.7 Exit from nearly any construct . . . . . . . . . . . . . . . . . . . . . 355
20.2 Limitation changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
20.2.1 64-bit integer support . . . . . . . . . . . . . . . . . . . . . . . . . . 356
20.2.2 Maximum array rank . . . . . . . . . . . . . . . . . . . . . . . . . . 356
20.3 Data expressiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
20.3.1 Allocatable components of recursive type . . . . . . . . . . . . . . . 356
20.3.2 Initial pointer association . . . . . . . . . . . . . . . . . . . . . . . . 358
20.4 Performance-oriented features . . . . . . . . . . . . . . . . . . . . . . . . . 359
20.4.1 The do concurrent construct . . . . . . . . . . . . . . . . . . . . . . 359
20.4.2 The contiguous attribute . . . . . . . . . . . . . . . . . . . . . . . . 361
20.4.3 Simply contiguous array designators . . . . . . . . . . . . . . . . . . 364
20.5 Computational expressiveness . . . . . . . . . . . . . . . . . . . . . . . . . 365
20.5.1 Accessing parts of complex variables . . . . . . . . . . . . . . . . . 365
20.5.2 Pointer functions denoting variables . . . . . . . . . . . . . . . . . . 366
20.5.3 The block construct . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
20.5.4 Impure elemental procedures . . . . . . . . . . . . . . . . . . . . . . 368
20.5.5 Internal procedures as actual arguments . . . . . . . . . . . . . . . . 370
20.5.6 Specifying the kind of a forall index variable . . . . . . . . . . . . . 370
20.5.7 Generic resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
20.6 Data usage and computation . . . . . . . . . . . . . . . . . . . . . . . . . . 372
20.6.1 Enhancements to the allocate statement . . . . . . . . . . . . . . . . 372
20.6.2 Automatic reallocation . . . . . . . . . . . . . . . . . . . . . . . . . 373
20.6.3 Elemental subprogram restrictions . . . . . . . . . . . . . . . . . . . 373
20.7 Input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
20.7.1 Recursive input/output . . . . . . . . . . . . . . . . . . . . . . . . . 374
20.7.2 The newunit= specifier . . . . . . . . . . . . . . . . . . . . . . . . . 374
20.7.3 Writing comma-separated values . . . . . . . . . . . . . . . . . . . . 375
20.8 Intrinsic procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
20.9 Mathemetical intrinsic functions . . . . . . . . . . . . . . . . . . . . . . . . 376
20.9.1 Changes to trigonometric functions . . . . . . . . . . . . . . . . . . 376
20.9.2 New hyperbolic trigonometic functions . . . . . . . . . . . . . . . . 376
20.9.3 New special mathematical functions . . . . . . . . . . . . . . . . . . 377
20.9.4 Euclidean norms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
20.10 Bit manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Contents xix
20.10.1 Bitwise (unsigned) comparison . . . . . . . . . . . . . . . . . . . . 378
20.10.2 Double-width shifting . . . . . . . . . . . . . . . . . . . . . . . . . 379
20.10.3 Bitwise reductions . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
20.10.4 Counting bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
20.10.5 Producing bitmasks . . . . . . . . . . . . . . . . . . . . . . . . . . 380
20.10.6 Merging bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
20.10.7 Additional shift operations . . . . . . . . . . . . . . . . . . . . . . . 381
20.11 Miscellaneous intrinsic procedures . . . . . . . . . . . . . . . . . . . . . . 382
20.11.1 Procedures supporting coarrays . . . . . . . . . . . . . . . . . . . . 382
20.11.2 Executing another program . . . . . . . . . . . . . . . . . . . . . . 382
20.11.3 Character comparison . . . . . . . . . . . . . . . . . . . . . . . . . 383
20.11.4 Array searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
20.11.5 Logical parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
20.11.6 Decimal arithmetic support . . . . . . . . . . . . . . . . . . . . . . 384
20.11.7 Size of an object in memory . . . . . . . . . . . . . . . . . . . . . . 384
20.12 Additions to the iso_fortran_env module . . . . . . . . . . . . . . . . . . . 385
20.12.1 Compilation information . . . . . . . . . . . . . . . . . . . . . . . . 385
20.12.2 Names for common kinds . . . . . . . . . . . . . . . . . . . . . . . 385
20.12.3 Kind arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
20.12.4 Coarray support facilities . . . . . . . . . . . . . . . . . . . . . . . 386
20.13 Changes to other standard intrinsic modules . . . . . . . . . . . . . . . . . 387
20.13.1 The iso_c_binding module . . . . . . . . . . . . . . . . . . . . . . . 387
20.13.2 The ieee_arithmetic module . . . . . . . . . . . . . . . . . . . . . . 387
20.14 Programs and procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
20.14.1 Saved module entities . . . . . . . . . . . . . . . . . . . . . . . . . 388
20.14.2 Automatic pointer targetting . . . . . . . . . . . . . . . . . . . . . . 388
20.14.3 Denoting absent arguments . . . . . . . . . . . . . . . . . . . . . . 389
A Intrinsic procedures 393
B Deprecated features 399
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
B.2 Storage association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
B.2.1 Storage units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
B.2.2 The equivalence statement . . . . . . . . . . . . . . . . . . . . . . . 400
B.2.3 The common block . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
B.2.4 The block data program unit . . . . . . . . . . . . . . . . . . . . . . 404
B.2.5 Coarrays and storage association . . . . . . . . . . . . . . . . . . . . 405
B.3 Shape and character length disagreement . . . . . . . . . . . . . . . . . . . . 405
B.4 The include line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
B.5 Other forms of loop control . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
B.5.1 The labelled do construct . . . . . . . . . . . . . . . . . . . . . . . . 407
B.5.2 The do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
B.6 Double precision real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
B.7 The dimension, codimension, and parameter statements . . . . . . . . . . . . 409
Another Random Scribd Document
with Unrelated Content
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
This book was produced in EPUB format by the Internet Archive.
The book pages were scanned and converted to EPUB format
automatically. This process relies on optical character recognition,
and is somewhat susceptible to errors. The book may not offer the
correct reading sequence, and there may be weird characters, non-
words, and incorrect guesses at structure. Some page numbers and
headers or footers may remain from the scanned page. The process
which identifies images might have found stray marks on the page
which are not actually images from the book. The hidden page
numbering which may be available to your ereader corresponds to
the numbered pages in the print edition, but is not an exact match;
page numbers will increment at the same rate as the corresponding
print edition, but we may have started numbering before the print
book's visible page numbers. The Internet Archive is working to
improve the scanning process and resulting books, but in the
meantime, we hope that this book will be useful to you.
The Internet Archive was founded in 1996 to build an Internet
library and to promote universal access to all knowledge. The
Archive's purposes include offering permanent access for
researchers, historians, scholars, people with disabilities, and the
general public to historical collections that exist in digital format. The
Internet Archive includes texts, audio, moving images, and software
as well as archived web pages, and provides specialized services for
information access for the blind and other persons with disabilities.
Created with hocr-to-epub (v.1.0.0)
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
The text on this page is estimated to be only 4.99%
accurate
,1 ' ■•* , »'■ ^V i.-t. '!:.i'rttv^;;M :H;....,;; M' ''■(,/ 1^
K«J'.ri S^f: f; f l: .'■. '.h:[ '■■'- :k. i:,-' r .j^;;:;.''-^;^:'?
';;,:■:• •: :, •. •■s- . -I :■■■ ,•■ , ;/ ; .-I-.' ■■!. W^-^-^' ■■:■■■
■•.;!.:!•■; Btt; t - ■ .■ ' BRt j. ■ 1 ..•' ■ ■ ', 1 / i ■ : -'•'■'. Hh'' .[
I V ■ , -'' ■/ ^
Digitized by the Internet Archive in 2009 with funding from
Ontario Council of University Libraries
http://www.archive.org/details/s1werkediedeutsc07luth
The text on this page is estimated to be only 0.75%
accurate
^ ,A A 4^'
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf
The text on this page is estimated to be only 0.00%
accurate
SR 330
The text on this page is estimated to be only 1.93%
accurate
D. Munin %nt^n§ Deutfd)c 3ibel (€utl?ers Drucfteftc)
Siebenter 3an6 Das Heue Ceftament ((Epifteln niib ö^ffcnbaning)
The text on this page is estimated to be only 3.67%
accurate
Prlntod in Germany
The text on this page is estimated to be only 18.92%
accurate
as 0 r to 0 r t. er öortiegcnbe 7. SBonb, ber ben ^toeiten
3^etl be§ 5^eucn Seftomcntg (Stömexbrief bi§ Offenbarung
;^iot}nnm§) nm= fa^t, fe^t bie 9leuQU§gabe ber Xejtbtbel fort.
§aupt= Bearbeiter toax tcieberum D. Dr. 5llbre(^t, ben bei ber
fd^trierigen ^orre!tur D. 5t. ÜHfd^ unb Dr. §. »olä gleic^ertoeife
iüie bei SSanb 6 unterftü^ten. äBeiter^^in fteuerten bei:
^ilbegarb3intntermann eine !un[tgefc^ic^tU(5§e äßürbigung ber
6rana(!^bilber, D. g. ßo'^rg ha§ Ütegifter ber ©pifteln unb
©öangelien, D. 51. f^reltag ejegetifcfje unb !ritif(^e 5tnmer!ungen
unb Erläuterungen, Ujobci er oud^ bo§ ^öer'^ältni^ öon
2utf)erbibel unb i^aimikict erneut über= prüfte. S)ie
germaniftifc^cn ©rüärungen, bie nur bai 9iötigfte bieten, lieferte Dr.
§. 2) reger. äßegen ber !ritif(^en ©runbfd^e, hk auä) für biefen
S5anb angehjanbt tüurben, fei auf bie 5tu§fü^rungen im 23ortüort
gum G. SBibelbanb öerhjiefen. 5ll§ 5lu§gabe le^ter §anb tourbe
iuieberum bie SBibel öon 1546 augrunbe gc= legt, toeil nur fie,
jumal für ben 9tömer= unb 1. ßorint^erbrief, hk getuid^tigen legten
SSefferungen £ut^er§ in autl^entifd^er Überlieferung cntplt. gür
ba» 5llte leftament, tro nad^ meiner Einfielt unb Überaeugung bie
5lu§gabe öon 1545 al§ le^te aut^entifd^e 3U gelten l^at, mu^
biefe iJragc noc§ enbgüUig entfd^ieben tuerben. ^ä) 'iabe öor
längerer ^eit ber £ut^er!ommiffion ein öorläufigc» ©utad^ten
erftattet unb injh^ifd^en ouf @runb auggebe^nter te5t= tritifd^er
Unterfud)ungcn eine S)en!fd^rift ausgearbeitet. 6obalb bie @nt=
The text on this page is estimated to be only 15.96%
accurate
VI IBorhJort. jc^cibung getroffen ift, tütrb ber S)ru(f be§
Otiten Xeftamentg fortgefc^t, Don bem td^ felbft ben erften Xeil
übernommen ^ahe. 9ieben^er fc^reitet bie 5trbeit on ber 5lbteilung
„SSriefe rüftig fort, unb tüerben bie legten ßürfen in ber 3lu§gQbe
ber ©(^riften ausgefüllt. i)ie ©rgön^ungSbänbe toerben u. a. üu(i)
bie erft fpdt cntbeäten unb an anbrer ©teile Bereits t)cröffentli(^ten
23ortefungen ber f^rüfi^eit (9tömer=, ®atater= unb .^ebrdcrbrief)
enthalten. 5lucf) ha^ ©efamtregifter fonnte ban! ber bon ber
9totgemeinfd)aft ber S)eutf(^en äBiffenfc^aft gelnd^rten §ilfe burd)
mel^rere ^Bearbeiter energifc^ geförbert lüerben. 2)ie gur
Verfügung fte^enben 5JHtteI ermöglichen, tuie f(j^on in ben legten
Sa'^ren burc^gefü^rt, bie jä^rlic^e 5lu§gabe oon jl^ei SBänben.
Um ben Se= 3ie!^ern entgcgen3u!ommen, fott öcrfuc^t tüerbcn,
bie SBdnbe mi3g(id§ft in f)albjähriger ^olge l^erauS^ubringen. %U
nö(^fter SBanb Inirb im .'perbft 1931 ber 2. 5öanb ber SSriefe
erfc^einen. ^it biefem ^anbe tüirb ha§ 9iegifter 3U SBb. 40 ^
nadigeliefert. 3:übingen, im ^pril 1931. ^rofcffor Dr. (^.
23e6cnne^cr*
The text on this page is estimated to be only 19.99%
accurate
3 » Ö a 1 1. edtc 93oilüort. 33on ©. SBeberme^er V— VI
3fn^Qtt VII-VIII einteitung. 23on D. ?(tbrec^t IX— XLIV JA.
93oiftücfe: grgäii^ungen ju ^Uetf^ö 33iMiograp^te (11.31. 5Bibel
2) IX IB. ^i^ovftücEe (^oitfe^ung): Übeifid)t über 9tövev§
^^poftfationen in ben iöibeln 1540-1546 XII II. i?iitifc^e
SBteberl^Dluiig unb ©rgänpng bet t)i[tDrtj(i)=tt)eoIogiy(^en
©iuleitung ^u 33ibel 6 XX III. Überfielt über ßutl^erS ißorreben
XXXI IV. SSemertungen ju Sutfjerö ©loffen XXXV V. 58erfc^iebene§
bie S)ru(Ieinrid§tung 33etreffenbe§ XLI S)ru(ftei-te be§ «Heuen
2;eftament§ (3n?eite plfte) [1522/1546] . . 1-478 5ßorrebe auf bie
dpiftel ©. ^auU an bie 3fiömer . . . . 2-27 5£)ie epiftel ©. 5ßauli an
bie 9t5mer 28-79 5^orrebe ber ©piftel an bie (Jorintl^er 80 — 82
^orrebe auf bie 1. 6piftel an hk ßorintl^er toon 1530 . . 82—87 S)ie
1. gpiftet ©. ^auU an bie gorint^er 88-137 ä^orrebe auf bie anber
©piftel an bie ßorinf^er 138 — 139 S)ie anber (Spiftel ^auli an bie
ßorinffier 140 — 171 33orrebe auf bie epiftel ©. ^auti an bie
©atater .... 172—173 S)ie epiftel ©. ^Pauli an bie ©alater 174—191
3Jorrebe auf bie gpiftet ©. ^:pauli an bie (Sp^efer . . . . 190-191
5Die epiftet ©. ^auti an bie (Spl^efer 192—209 5Jorrebe auf bie 6-
piftet ©. ^auli an bie ^l^itipper . . . 210—211 S)ie epiftel ©. 5pauti
an bie 5p|ilipper 212—225 «orrebe auf bie ßpiftel ©. ^auti an bie
ßoloffer .... 224-225 S)ie gpiftel 6. ^auli an bie ßoloffer 226—237
5)orrebe auf bie 1. gpiftel ©. ^auti an bie 31^ effato nieder . 238—
239 S)ie 1. gpiftet ©. $auli an bie X^effalonic^er 240-249 5Borrebe
auf bie anber ßpiftel ©. 5pauli an bie S'^effalonidier 250—251 Sic
anber gpiftet ©. ^auli nn bie Xf)ef|alonic^er .... 252—257
The text on this page is estimated to be only 22.49%
accurate
VIII 3nf)aa. ©citc ^üori-ebe auf bie 1. epiftel ©. ^auü an
Ximof^eum . . . 258-259 2)te 1. epiftel ©. ^auli an 2imotf)eum
260-273 93orrebe auf bie anber ßpiftel 6. ^auti an 2;imotf)eum . .
272—273 S)te anber gptftel ©. 5pault an 3:imot:^eum 274—283
üyotrebe auf bie (Spiftel ©. 5pauli an Xitum 284-285 S)ie epiftel ©.
^auti an 2:itum 286-291 5öorrebe auf bie epiftet ©. ^auli an
^^J^ilemon 292-293 Sie epiftel ©. ^auU an ^p^itemon 294-297
iBonebe auf bie 1. epiftel S. 5peter§ 298-299 2)ie 1. epiftel @.
^eter§ 300—313 5}otrebc auf bie onber (Jptftel
The text on this page is estimated to be only 12.79%
accurate
(ätticitc .^^älftc.) D.Dr. Duo 3«6rer^t. mjc^nitt lA: ?
lbid^nitt I B : 3lbf(^nitt TT: mfdjnitt [II: 3lbfd)nitt IV:
tudfeintic^tung SJetteffenbe^. 5lbf(^nitt TA. (in U. %. 33ibel 2). 5p.
5pietfd) l^atte in feiner großen Sibliograp'fiie, toie fein SSorniort in
W. 31. SöiBel 2, VII anbeutet, anfangt bie 9lb[tci)t, bie
'§od)beutfd}en 5lu§gaben ber Sut^er= bibet über 1546 {)inau§ Ui
1551 ^ bor^ulegen, aufeerbem auc^ bie niebeibeutfc^en S)ru(ie
einjube^ietien. 2lber er f)at au[ bieje Srtoeiterungen mit SSebad)!
öer.^id^tet, unb njir liatten im 9tal§men unjrer 2lu§gabe erft red^t
nic^t bie 5ieigung p jotd^en Srgänäungcn. 1) 3llfo nid^t bt§ äum
3oI)te 1581, 3ut Sogenannten „©ädjfijdjcn 9lotmaIbtbeI, bie
©c^ott (©. 157) unb 9leftle (^916. =• 33b. 3, 74, 41 f.) oll joldjc
^etöotl)cben, n)ä{)tenb 5Jl5n(febetg, »eittägc (1855) ©. 1 bieje
2Bettf(%ä^ung bet Süittenbetget ÜBibel to. ^. 1581 füt einen
I)i|toiifc^en Sftttum etflätt.
The text on this page is estimated to be only 18.49%
accurate
X :^utt)et§ Überlegung be§ 9ieuen 3;cftamcnt§. (Stoeitc
§älfte.) 3tüar '^abcn toir früher in ben S8iBliogTQpt)ien gu ßutl^erS
Siebern unb 311 feinen ^atedjiemen aud) nieberbeutfdie (unb
lateinifdje) StuSgaben auf9e= nonnnen (Unjic Slu^S- ^i- 30  504
ff., 666 ff. unb 23b. 35, 390f. 394ff.). mer bei bei- 23ibcl i^utl)cre
tüäre eine berartigc ungeheure ©itt)eiterung ber SStbüograpl^ie
faum ettt)a§ ^Jibglic^eg gewcfen, ja, tüir bürfen fagen, ouc^ ettoaö
Unnötige^, ba e§ fid) ^ier um ein äöerf ^anbelt, ba§ fetbft au§
fremben (Sprachen in§ S)eutfd§e überfe^t ift. Seiläufig aber
erinnern toir an bic ©efd^id^te unb S5ibliograp'f)ie ber nieber =
beutfd)en a3ibel in beni SBer! öoii ^JJletd^ior ©oe^e: ^erfuc^
einer ^iftorie ber gebrudtcn ^JUeberfäd)fifd^en SSibetn t)om
^ai)xe 1470 bi§ 1621 (|)amburg 1775); Quf ©. 202 f. nennt er aU
ßutt)erbibeln in nieberfä^fifc^er ©prad)e au§ bem 16.
3EQl;rt)unbert fotgenbe in feinem 33efi^ befinblic^e 2lu§gaben
(totfädilic^ nur eine ^lustta^l ber toirftid^ öorl^anbenen) ^ : 1.
Sübed, S. Sie^ 1534 (f. § 21-24). 2. OHagbeburg, Wiä). eottljev
1536 (f. § 25-27). 3. äüittenbetg, ^ani ?itfft 1541 (f. § 28-31). 4.
aKagbeburg, §quö Sßaltl^ev 1545 (f. § 32). 5. aßittenbetg, ®c.
9lf)utDen (itben 1561 (f. § 50). 6. SBtttenberg, bei bemfelben 1568
(f. § 51). 7. SBittenbetg, C^an§ Mt 1569 (f. § 52). 8. Söittenbetg, bei
bemfelben 1574 (f. § 53). 9. 3JtQgbeburg, Söolfg. Äitc^ncr 1578 (f.
§ 55). 10. Sßittenberg, §on§ Sufft 1579 (f. § 54). 11. Ütoftocf, 3af.
Ündus, 1580 (f. § 56). 12. Sattt), §anä 2ßittc 1588 (f. § 57). 13.
Sütttenberg, Saä). Sei)mann 1590 (f. § 58). 14. §ambutg, ^of.
2uciu§ b. Süngete 1596 (f. § 59). 15. SlBittcnberg, Soren^ ©überlief
-1599 (f. § 60). fjerner fei noc^ errcäl)nt bie unter ben Slufpijien ber
äßittenberger £l)eologi= fd)en gofultöt lieranögegebene Biblia
Germanico-Latina: „UJff 6t)urfürft(ic^en ©ädjfifc^en sBefe^l
gebrudt ju 2Bittenbetg Anno M.D.LXV. OKit U]otlDotten Uon 5paul
(Sber 156.') unb 1566 (Sßibmungen an ^et.jog Sllejanbet unb an
^uxfütft 2luguft). 10 abe. in Quart. (Sgl. in 5p3ig.» »b. 3, 45, 1 ff .
ben 3lrtifel „ßateinifdje SJibeluberfe^nngen Don Dieftle, unb in
5ß9ie.=' »b. 5, 120, 15 ff. ben Slrttfct „gbet öon Älattjerau.) —
Sonad^ ift eine jtüeite bon ^aul Grell berbefferte 91uftoge biefer
Biblia Germanico-Latina in 2Bittenberg noc^ 1574
t)erau§gefommen. 5)ie alte Sßulgata ift in biefer boppelfprac^igen
iöibet nad) ber mitabgebrudten beutfd^en Überfe^ung ßut^er»
geänbert (Dgl. baju U. ?l. Jöibcl 51. 2)aä Sllte ieftament :^ierin ^at
gber bearbeitet, baä 9ieue 2:eftamcnt ober ®. aJinjor. %ncij
ßut^er§ Söorreben unb ©loffen finb mit inö Soteinifd^c übertragen.
2;aö ©ejamtrcgifter t)at ^|5. grell angefertigt. [(Sriunert fei tiier^u
an 55aul grell» 23erid)t üon D. £utf)cri beutjc^cr 93ibel:6orrcctur
unb unterfc^iebenem 3)rucE berfelbcn ü. ^. 1577, ber aber erft in
ben Consilia Theolog. Witeberg. 1664 jum 2lbbrud gelangte. SSgl.
eine ^robe barauä in ben Itieol. ©tub. u. Ärit. 1930, ©. 188. J ')
*Äuf ©. 296ff. gibt ©oe^e einen bead^ten^toerten @j:fur§ über
bie nad) ßut^erS 2:ob in bie oberfädjfijdjen ßutt)erbibetu 1546-1556
eingefloffcnen Söerönbcrungen unb über bie ©treit: jc^riftcn, bie
bestocgcn jföifdjen firafft unb 9teinecciu§ getoec^felt finb. ®oeae
felbft betont mit einjcitiger ©djarfe bi-n Üüett ber Söibet 1545 im
93ergleic^ ju ber Don 1546.
The text on this page is estimated to be only 14.93%
accurate
ßinleitung. XI Unfere Üeinen ©rgan^ungen 311 ^ tetf($§
Sibtiogra^j'^te, bie borau§= fidjtlii^ im XII. (Sd)IuB=) S5anb
unfereö hitifd)en ^ieubtiidEs ber l'uKjcrbibel noc^ üermet)tt lücrben,
betreffen t)auptfä(i)li(^ nur bie eingaben ber ^Junborte, bic
5|3tetfd) a. a. €1. bei feiner 33cfd)reibung ber 3Iii§gaben I)at geben
fönnen. ©tnjetne 5ßerid)tigungen ^n ^ietfd)§ 33ibliograpl)ie boten
njir in U. 21. 33ibet 6, 5. 93. ©. XLIff. (betreffenb ba§
Septcnibeiteftanient) unb aud) in Unfrer 2tugg. y3b. 48
(|)erboi'^ebung einiger 33ibetejemptare, in n^etdie ßntl^er einen
©tannnbudieintrag gefd)rieben t;at). S^erner toevttjeifen roir auf
ben Katalog ber 2tu§fteUung jur Jubelfeier be§ ßuti)erfd)en ^Reuen
Icftamentg 1522 (am 21. September 19 22), öeranftaltet öon ber
6taat§= unb Uniöerfitätöbibltotl^ef ^n Hamburg (.giamburg 1922).
S)a btefev Katalog im 2)rucE ,^ugänglid) ift, genüge ber ^»intüeiö
auf ©. 11 f. 14 ff. 18 ff. äBic^tiger finb bie förgänpngen, bie D. 3^.
Joi^i'an im Jafltbud) ber i3utf)et= gcfellfd^oft l (1919)
The text on this page is estimated to be only 18.11%
accurate
XII ßutf)er§ Übcrfc^ung be§ «Reuen 3:eftament§. (3tocite
.^älfte.) 1. bn^ a3ieti|be teljl bc§ alten || ÜeftamentS, ^lOc
$top()ctc | auij || ebräifc^et ]pxaä), mit gu' II ten trenhjcn önb
^ot)cin fleijfä, || bnrd) bie ^kebiconten jn 3ü= || tic^, tnn %iütä)
)exioU II mdtjd^ct. || ©ettudt 3U 3ürtc^ bc^ || Christoliel
Froschauer, im jar so || man zalt. M.D.||XXIX. 3uerft *8a« (=
Sorrebe), bann ?.41 gejö^lte 331. Sluf bem näc^ften SBl. (nad)
341): gnb aüer ^:ptop^e || ten, fo Dil bl) bcn (gbteern, || tinnb
bel^ ben alteren tonbet || Sibti?d)c gcfc^rifftH gesctt finb. |i
©etrndt ä 3ürid), in bem || »atfufjer ßloltet, butc^ 6t)riftof= || fei
^tofc^ouer, ön tiolenbet om || erften tag be§ ^ht^enä, II im 3ar m.
S5. || XXIX. || ?Iuf bet giüdjeite gtofd)auet§ 3)rudEer3etd^en ;
bann nod^ ätoei leere SBlätter. 2. ®if3 finb bie bud^er || 3)ie bei)
ben olten tinber || 33iblif(%e gfd^rifft mit gejelt || finb, aud) bei
ben ©breern || nit gefunden. Neüwlich wider- 1| umb durch Leo Jud
|| verteutschet. || 1 ( Die zwey letsten bücher Ezra. II Tobias. III
Judith. IUI Baruch. • V ' Das Buch der Weyßheit. VT Der weiß man,
Ecclesiasticus. VII Die zwey Bücher Machabeorum. ViII Die Hi.stori
von Susanah. IX { Die Histori vom Bei zu Babel. Getruckt zu Zürich
bey Chri- 1| stofFel Froschouer. 287 ge3. SBl. - Sluf 331. 287 v
unten: getrucft 3U 3ürtd^ be^ 6t)ri=|| stoffel Froschouer. 2tBf(^nttt
IB. 58orftüc!e (^ortfel^unci): Überftd)t über bie ^oftfattonen
9iörer§ in ben 33ibe(n 1540—1546. S)a§ ^flac^tüort mxex§ jur
SBtbet 46 ift in U. 31. S3tbel 6, Llilf. bollftönbig abgebrudft. [5rül)ete
Slbbrucfe beSfelben finben fid^ bei ^panjer, ©nttourf (1783), S.
395f.; »erttam, |)iftor. Slb^anbtungen I (1780), ©.262-269; ©d^ott
(1835), ©. 153 f.] @g ftanb im ^ittelpunü unferer Unterfu(i)ung
über ben SGßert ber 5ßibet )o.% 1546. SSinbfeil bagegen, ber in ber
^bel M. ^. 1545 hk „le^te Criginolauggabc fo^, l^otte bie Sibet
1546 unb il^r 9lad^tt?ort in feinem fritifd^en ?ieubru(f ber
ßutt)erfd)en Sibelüberfe^ung (1845—1855) au§ ^ifetrauen gegen
9iDrer öbüig ignoriert. SSir menben unfere 2lufmer!famfeit in Mrje
noc^ ben frü'^eren ^ad^toorten i}i5rerä ju, bie ^ietfd^ in feiner
großen SßibtiograJ)t)ie (U. 91. 58ibel 2) nur Qn= gebeutet, ißinbfeil
aber in feinem 7. Sibelteil faft tioUftänbig abgebrudCt l^at. 6§
t)QnbeIt ftd) um bie 33ibelau§gaben, bie SSrenner in feiner ^Tabelle
U. 31. 35ibel 6, XXII f. pfammengefteüt ^ot (40^, 41, 43 S 43^,
45). 1. Jöibel 1540, üon S3inbfei[ benonnt r, bon 5ßietf(^ *68, in
Unfrer ?lu§g. 40' (bgl. aibel 2, ü35) ; ba5 ^tadjmort ift neugebrudt
bei 33 i n b f e i l 7, ginleitung ©. XVIII f., oud) bei und unten @.
XUI.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookfinal.com

More Related Content

PDF
Modern Fortran Explained 4th Edition Michael Metcalf John Reid
PDF
Modern Fortran Explained: Incorporating Fortran 2018 Michael Metcalf
PDF
Modern Fortran Explained 4th Edition Michael Metcalf
PDF
System Analysis And Modeling 4th International Sdl And Msc Workshop Sam 2004 ...
DOCX
Abstract An overview of the whole report and what it is about..docx
PDF
Fib 42 Constitutive Modelling Of High Strengthhigh Performance Concrete
PDF
Mathematics For Engineers 5th Edition Anthony Croft Robert Davison
PDF
Software Engineering Update 8th Edition Ian Sommerville
Modern Fortran Explained 4th Edition Michael Metcalf John Reid
Modern Fortran Explained: Incorporating Fortran 2018 Michael Metcalf
Modern Fortran Explained 4th Edition Michael Metcalf
System Analysis And Modeling 4th International Sdl And Msc Workshop Sam 2004 ...
Abstract An overview of the whole report and what it is about..docx
Fib 42 Constitutive Modelling Of High Strengthhigh Performance Concrete
Mathematics For Engineers 5th Edition Anthony Croft Robert Davison
Software Engineering Update 8th Edition Ian Sommerville

Similar to Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf (20)

PDF
Software Engineering Update 8th Edition Ian Sommerville
PDF
PDF
Lectures On The Fourier Transform And Its Applications Brad Osgood
PDF
Finite Fields And Their Applications Character Sums And Polynomials
PDF
Channel Coding Theory Algorithms And Applications 1st Edition David Declercq ...
PDF
Software Engineering 8ed. Edition Sommerville I.
PDF
Web Services And Formal Methods 8th International Workshop Wsfm 2011 Clermont...
PDF
Parallel Computational Fluid Dynamics 2002 New Frontiers And Multidisciplinar...
PDF
Microwave Devices Circuits And Subsystems For Communications Engineering Glover
PDF
Europar 2005 Parallel Processing 11th International Europar Conference Lisbon...
PDF
Quality Of Context First International Workshop Quacon 2009 Stuttgart Germany...
PDF
Fundamental Approaches To Software Engineering 13th International Conference ...
PDF
Microprocessors and Microcomputers: Hardware and Software 4th Edition Ronald ...
PDF
Channel Coding Theory Algorithms and Applications 1st Edition David Declercq ...
PDF
Software Engineering 8ed. Edition Sommerville I.
PDF
Performance Evaluation And Benchmarking First Tpc Technology Conference Tpctc...
PDF
Modelling Foundations And Applications 10th European Conference Ecmfa 2014 He...
PDF
Linear Systems and Signals Third Edition B. P. Lathi
PDF
Time Frequency Signal Analysis and Processing A Comprehensive Reference 1st E...
PDF
Wideband Circuit Design First Edition Carlin Herbert J
Software Engineering Update 8th Edition Ian Sommerville
Lectures On The Fourier Transform And Its Applications Brad Osgood
Finite Fields And Their Applications Character Sums And Polynomials
Channel Coding Theory Algorithms And Applications 1st Edition David Declercq ...
Software Engineering 8ed. Edition Sommerville I.
Web Services And Formal Methods 8th International Workshop Wsfm 2011 Clermont...
Parallel Computational Fluid Dynamics 2002 New Frontiers And Multidisciplinar...
Microwave Devices Circuits And Subsystems For Communications Engineering Glover
Europar 2005 Parallel Processing 11th International Europar Conference Lisbon...
Quality Of Context First International Workshop Quacon 2009 Stuttgart Germany...
Fundamental Approaches To Software Engineering 13th International Conference ...
Microprocessors and Microcomputers: Hardware and Software 4th Edition Ronald ...
Channel Coding Theory Algorithms and Applications 1st Edition David Declercq ...
Software Engineering 8ed. Edition Sommerville I.
Performance Evaluation And Benchmarking First Tpc Technology Conference Tpctc...
Modelling Foundations And Applications 10th European Conference Ecmfa 2014 He...
Linear Systems and Signals Third Edition B. P. Lathi
Time Frequency Signal Analysis and Processing A Comprehensive Reference 1st E...
Wideband Circuit Design First Edition Carlin Herbert J
Ad

Recently uploaded (20)

PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Cell Types and Its function , kingdom of life
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Lesson notes of climatology university.
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
01-Introduction-to-Information-Management.pdf
PPTX
master seminar digital applications in india
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
RMMM.pdf make it easy to upload and study
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Cell Types and Its function , kingdom of life
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Supply Chain Operations Speaking Notes -ICLT Program
Lesson notes of climatology university.
102 student loan defaulters named and shamed – Is someone you know on the list?
Chinmaya Tiranga quiz Grand Finale.pdf
Microbial disease of the cardiovascular and lymphatic systems
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
O7-L3 Supply Chain Operations - ICLT Program
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Final Presentation General Medicine 03-08-2024.pptx
Final Presentation General Medicine 03-08-2024.pptx
01-Introduction-to-Information-Management.pdf
master seminar digital applications in india
Microbial diseases, their pathogenesis and prophylaxis
RMMM.pdf make it easy to upload and study
STATICS OF THE RIGID BODIES Hibbelers.pdf
Ad

Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf

  • 1. Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf - Downloadable PDF 2025 https://ebookfinal.com/download/modern-fortran-explained-numerical- mathematics-and-scientific-computation-4th-edition-metcalf/ Visit ebookfinal.com today to download the complete set of ebooks or textbooks
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Modern Fortran Explained Incorporating Fortran 2023 6th Edition Mr Michael Metcalf https://ebookfinal.com/download/modern-fortran-explained- incorporating-fortran-2023-6th-edition-mr-michael-metcalf/ GCSE Mathematics Instant Revision Paul Metcalf https://ebookfinal.com/download/gcse-mathematics-instant-revision- paul-metcalf/ Mathematics in Action An Introduction to Algebraic Graphical and Numerical Problem Solving 4th Edition Consortium For Foundation Mathematics https://ebookfinal.com/download/mathematics-in-action-an-introduction- to-algebraic-graphical-and-numerical-problem-solving-4th-edition- consortium-for-foundation-mathematics/ Advanced modern engineering mathematics 4th ed Edition James https://ebookfinal.com/download/advanced-modern-engineering- mathematics-4th-ed-edition-james/
  • 3. FORTRAN 90 for Scientists and Engineers 4th Edition Brian Hahn https://ebookfinal.com/download/fortran-90-for-scientists-and- engineers-4th-edition-brian-hahn/ Wastewater Engineering Treatment and Reuse 4th edition Metcalf & Eddy https://ebookfinal.com/download/wastewater-engineering-treatment-and- reuse-4th-edition-metcalf-eddy/ Numerical Methods 4th Edition George Lindfield https://ebookfinal.com/download/numerical-methods-4th-edition-george- lindfield/ Numerical methods using MATLAB 4th Edition John. H. Mathews https://ebookfinal.com/download/numerical-methods-using-matlab-4th- edition-john-h-mathews/ Discrete Mathematics 4th Edition Nancy Crisler https://ebookfinal.com/download/discrete-mathematics-4th-edition- nancy-crisler/
  • 5. Modern Fortran Explained Numerical Mathematics and Scientific Computation 4th Edition Metcalf Digital Instant Download Author(s): Metcalf, Michael, Reid, John, Cohen, Malcolm ISBN(s): 9780199601424, 0199601429 Edition: 4 File Details: PDF, 1.28 MB Year: 2011 Language: english
  • 7. NUMERICAL MATHEMATICS AND SCIENTIFIC COMPUTATION Series Editors A. M. STUART E. SÜLI
  • 8. NUMERICAL MATHEMATICS AND SCIENTIFIC COMPUTATION Books in the series Monographs marked with an asterisk (∗) appeared in the series ‘Monographs in Numerical Analysis’ which is continued by the current series. For a full list of titles please visit http://www.oup.co.uk/academic/science/maths/series/nmsc ∗ J. H. Wilkinson: The algebraic eigenvalue problem ∗ I. Duff, A. Erisman, and J. Reid: Direct methods for sparse matrices ∗ M. J. Baines: Moving finite elements ∗ J. D. Pryce: Numerical solution of Sturm-Liouville problems C. Schwab: p- and hp- finite element methods: theory and applications in solid and fluid mechanics J. W. Jerome: Modelling and computation for applications in mathematics, science, and engineering A. Quarteroni and A. Valli: Domain decomposition methods for partial differential equations G. Em Karniadakis and S. J. Sherwin: Spectral/hp element methods for CFD I. Babuška and T. Strouboulis: The finite element method and its reliability B. Mohammadi and O. Pironneau: Applied shape optimization for fluids S. Succi: The lattice Boltzmann equation: for fluid dynamics and beyond P. Monk: Finite element methods for Maxwell’s equations A. Bellen and M. Zennaro: Numerical methods for delay differential equations J. Modersitzki: Numerical methods for image registration M. Feistauer, J. Felcman, and I. Straškraba: Mathematical and computational methods for compressible flow W. Gautschi: Orthogonal polynomials: computation and approximation M. K. Ng: Iterative methods for Toeplitz systems M. Metcalf, J. Reid, and M. Cohen: Fortran 95/2003 explained G. Em Karniadakis and S. Sherwin: Spectral/hp element methods for computational fluid dynamics, second edition D. A. Bini, G. Latouche, and B. Meini: Numerical methods for structured Markov chains H. Elman, D. Silvester, and A. Wathen: Finite elements and fast iterative solvers: with applications in incompressible fluid dynamics M. Chu and G. Golub: Inverse eigenvalue problems: theory, algorithms, and applications J.-F. Gerbeau, C. Le Bris, and T. Lelièvre: Mathematical methods for the magnetohydrodynamics of liquid metals G. Allaire and A. Craig: Numerical analysis and optimization: an introduction to mathematical modelling and numerical simulation K. Urban: Wavelet methods for elliptic partial differential equations B. Mohammadi and O. Pironneau: Applied shape optimization for fluids, second edition K. Böhmer: Numerical methods for nonlinear elliptic differential equations: a synopsis M. Metcalf, J. Reid, and M. Cohen: Modern Fortran Explained
  • 9. Modern Fortran Explained Michael Metcalf Formerly of CERN, Geneva, Switzerland John Reid JKR Associates, Oxfordshire and Malcolm Cohen The Numerical Algorithms Group, Oxfordshire 1
  • 10. 3 Great Clarendon Street, Oxford ox2 6dp Oxford University Press is a department of the University of Oxford. It furthers the University’s objective of excellence in research, scholarship, and education by publishing worldwide in Oxford New York Auckland Cape Town Dar es Salaam Hong Kong Karachi Kuala Lumpur Madrid Melbourne Mexico City Nairobi New Delhi Shanghai Taipei Toronto With offices in Argentina Austria Brazil Chile Czech Republic France Greece Guatemala Hungary Italy Japan Poland Portugal Singapore South Korea Switzerland Thailand Turkey Ukraine Vietnam Oxford is a registered trade mark of Oxford University Press in the UK and in certain other countries Published in the United States by Oxford University Press Inc., New York c Michael Metcalf, John Reid, and Malcolm Cohen 2011 The moral rights of the authors have been asserted Database right Oxford University Press (maker) First edition published 1987 as Fortran 8x Explained Second edition published 1989 Third edition published 1990 as Fortran 90 Explained Fourth edition published 1996 as Fortran 90/95 Explained Fifth edition published 1999 Sixth edition published 2004 as Fortran 95/2003 Explained This edition published 2011 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, without the prior permission in writing of Oxford University Press, or as expressly permitted by law, or under terms agreed with the appropriate reprographics rights organization. Enquiries concerning reproduction outside the scope of the above should be sent to the Rights Department, Oxford University Press, at the address above You must not circulate this book in any other binding or cover and you must impose the same condition on any acquirer British Library Cataloguing in Publication Data Data available Library of Congress Cataloging in Publication Data Library of Congress Control Number: 2010941705 Printed in Great Britain on acid-free paper by CPI Antony Rowe, Chippenham, Wiltshire ISBN 978–0–19–960141–7 (Hbk) 978–0–19–960142–4 (Pbk) 1 3 5 7 9 10 8 6 4 2
  • 11. Preface Fortran remains one of the principal languages used in the fields of scientific, numerical, and engineering programming, and a series of revisions to the standard defining successive versions of the language has progressively enhanced its power and kept it competitive with several generations of rivals. Beginning in 1978, the technical committee responsible for the development of Fortran standards, X3J3 (now PL22.3 but still informally called J3), laboured to produce a new, much- needed modern version of the language, Fortran 90. Its purpose was to ‘promote portability, reliability, maintainability, and efficient execution... on a variety of computing systems’. That standard was published in 1991, and work began in 1993 on a minor revision, known as Fortran 95. Subsequently, and with the same purpose, a further major upgrade to the language was prepared by J3 and the international committee, WG5. This revision, which included object-oriented programming features, is now known as Fortran 2003. This has now been followed by a further revision, Fortran 2008, and, once again, it seems appropriate to prepare a definitive informal description of the language that it defines. This continues the series of editions of this book – the two editions of Fortran 8x Explained that described the two drafts of the standard (1987 and 1989), Fortran 90 Explained that described the Fortran 90 standard (1990), two editions of Fortran 90/95 Explained that included Fortran 95 too (1996 and 1999) and Fortran 95/2003 (2004), with its added chapters on Fortran 2003. In that final endeavour, a third co-author was welcomed. In this book, an initial chapter sets out the background to the work on new standards, and the nine following chapters describe Fortran 95 (less its obsolescent features and the redundant Fortran 77 features whose use we deprecate) in a manner suitable both for grasping the implications of its features, and for writing programs. We include the allocatable array extensions that were originally published as an ISO Technical Report and are now part of Fortran 2003, since they have been implemented in Fortran 95 compilers for many years. Some knowledge of programming concepts is assumed. In order to reduce the number of forward references and also to enable, as quickly as possible, useful programs to be written based on material already absorbed, the order of presentation does not always follow that of the standard. In particular, we have chosen to defer to appendices the description of features that are officially labelled as redundant (some of which were deleted from the Fortran 95 standard) and other features whose use we deprecate. They may be encountered in old programs, but are not needed in new ones. Chapter 11 describes another part of Fortran 2003 that was originally defined by an ISO Technical Report. This is followed, in Chapters 12 to 17, by descriptions of the other features
  • 12. vi Preface defined by the Fortran 2003 standard. Chapter 18 describes a part of Fortran 2008 that was originally defined by an ISO Technical Report and two further chapters describe the other new features of Fortran 2008. The structure of the book thus allows the reader to distinguish clearly between Fortran 95 (plus allocatable array extensions), Fortran 2003, and the new Fortran 2008 features. Note that, apart from a small number of deletions, each of the languages Fortran 77, Fortran 90, Fortran 95, Fortran 2003, and Fortran 2008 is a subset of its successor. In order to make the book a complete reference work, it concludes with seven appendices. They contain, successively, a list of the intrinsic procedures, a description of various features whose use we deprecate and do not describe in the body of the book, a description of obsolescent and deleted features, advice on avoiding compilation cascades, an extended example illustrating the use of object orientation, a glossary of Fortran terms, and solutions to most of the exercises. It is our hope that this book, by providing complete descriptions of Fortran 95, Fortran 2003 and Fortran 2008, will continue the helpful role that earlier editions played for the corresponding versions of the standard, and that it will serve as a long-term reference work for the modern Fortran programming language. ∗∗∗ Malcolm Cohen wishes to thank the Numerical Algorithms Group (NAG) for its encour- agement during the writing of this book.
  • 13. Conventions used in this book Fortran displayed text is set in typewriter font: integer :: i, j and a line consisting of a colon indicates omitted lines: subroutine sort : end subroutine sort Informal BNF terms are in italics: if (scalar-logical-expr) action-stmt Square brackets in italics indicate optional items: end if [name] and an ellipsis represents an arbitrary number of repeated items: [ case selector [name]] block] ... The italic letter b signifies a blank character. Corrections to any significant errors detected in this book will be made available in the files edits.ps and edits.pdf at ftp://ftp.numerical.rl.ac.uk/pub/MRandC.
  • 15. Contents 1 Whence Fortran? 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Fortran’s early history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 The drive for the Fortran 90 standard . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Language evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Fortran 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 Extensions to Fortran 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.7 Fortran 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.8 Fortran 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.9 Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Language elements 9 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Fortran character set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Source form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 Concept of type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6 Literal constants of intrinsic type . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6.1 Integer literal constants . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6.2 Real literal constants . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6.3 Complex literal constants . . . . . . . . . . . . . . . . . . . . . . . . 17 2.6.4 Character literal constants . . . . . . . . . . . . . . . . . . . . . . . 17 2.6.5 Logical literal constants . . . . . . . . . . . . . . . . . . . . . . . . 19 2.7 Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.8 Scalar variables of intrinsic type . . . . . . . . . . . . . . . . . . . . . . . . 20 2.9 Derived data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.10 Arrays of intrinsic type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.11 Character substrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.12 Objects and subobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.13 Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.14 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3 Expressions and assignments 33 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
  • 16. x Contents 3.2 Scalar numeric expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Defined and undefined variables . . . . . . . . . . . . . . . . . . . . . . . . 37 3.4 Scalar numeric assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.5 Scalar relational operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.6 Scalar logical expressions and assignments . . . . . . . . . . . . . . . . . . 39 3.7 Scalar character expressions and assignments . . . . . . . . . . . . . . . . . 41 3.8 Structure constructors and scalar defined operators . . . . . . . . . . . . . . 42 3.9 Scalar defined assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.10 Array expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.11 Array assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.12 Pointers in expressions and assignments . . . . . . . . . . . . . . . . . . . . 48 3.13 The nullify statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.14 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4 Control constructs 55 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 The if construct and statement . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.3 The case construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.4 The do construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.5 The go to statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5 Program units and procedures 67 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.2 Main program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3 The stop statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.4 External subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.5 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.6 Internal subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.7 Arguments of procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.7.1 Pointer arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.7.2 Restrictions on actual arguments . . . . . . . . . . . . . . . . . . . . 76 5.7.3 Arguments with the target attribute . . . . . . . . . . . . . . . . . . . 76 5.8 The return statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.9 Argument intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.10 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.10.1 Prohibited side-effects . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.11 Explicit and implicit interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.12 Procedures as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.13 Keyword and optional arguments . . . . . . . . . . . . . . . . . . . . . . . . 83 5.14 Scope of labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.15 Scope of names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.16 Direct recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.17 Indirect recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.18 Overloading and generic interfaces . . . . . . . . . . . . . . . . . . . . . . . 90
  • 17. Contents xi 5.19 Assumed character length . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.20 The subroutine and function statements . . . . . . . . . . . . . . . . . . . . 95 5.21 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6 Array features 99 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.2 Zero-sized arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.3 Assumed-shape arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.4 Automatic objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.5 Allocation of data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.5.1 The allocatable attribute . . . . . . . . . . . . . . . . . . . . . . . . 102 6.5.2 The allocate statement . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.5.3 The deallocate statement . . . . . . . . . . . . . . . . . . . . . . . . 104 6.5.4 Allocatable dummy arguments . . . . . . . . . . . . . . . . . . . . . 105 6.5.5 Allocatable functions . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.5.6 Allocatable components . . . . . . . . . . . . . . . . . . . . . . . . 106 6.5.7 Allocatable arrays vs. pointers . . . . . . . . . . . . . . . . . . . . . 109 6.6 Elemental operations and assignments . . . . . . . . . . . . . . . . . . . . . 110 6.7 Array-valued functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.8 The where statement and construct . . . . . . . . . . . . . . . . . . . . . . . 111 6.9 The forall statement and construct . . . . . . . . . . . . . . . . . . . . . . . 114 6.10 Pure procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.11 Elemental procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.12 Array elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.13 Array subobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.14 Arrays of pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.15 Pointers as aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.16 Array constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.17 Mask arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.18 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7 Specification statements 133 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.2 Implicit typing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.3 Declaring entities of differing shapes . . . . . . . . . . . . . . . . . . . . . . 134 7.4 Named constants and constant expressions . . . . . . . . . . . . . . . . . . . 134 7.5 Initial values for variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.5.1 Initialization in type declaration statements . . . . . . . . . . . . . . 137 7.5.2 The data statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 7.5.3 Pointer initialization and the function null . . . . . . . . . . . . . . . 140 7.5.4 Default initialization of components . . . . . . . . . . . . . . . . . . 141 7.6 The public and private attributes . . . . . . . . . . . . . . . . . . . . . . . . 142 7.7 The pointer, target, and allocatable statements . . . . . . . . . . . . . . . . . 144 7.8 The intent and optional statements . . . . . . . . . . . . . . . . . . . . . . . 144 7.9 The save attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
  • 18. xii Contents 7.10 The use statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.11 Derived-type definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 7.12 The type declaration statement . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.13 Type and type parameter specification . . . . . . . . . . . . . . . . . . . . . 152 7.14 Specification expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.14.1 Specification functions . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.15 The namelist statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.16 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8 Intrinsic procedures 161 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 8.1.1 Keyword calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 8.1.2 Categories of intrinsic procedures . . . . . . . . . . . . . . . . . . . 162 8.1.3 The intrinsic statement . . . . . . . . . . . . . . . . . . . . . . . . . 162 8.1.4 Argument intents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 8.2 Inquiry functions for any type . . . . . . . . . . . . . . . . . . . . . . . . . 162 8.3 Elemental numeric functions . . . . . . . . . . . . . . . . . . . . . . . . . . 163 8.3.1 Elemental functions that may convert . . . . . . . . . . . . . . . . . 163 8.3.2 Elemental functions that do not convert . . . . . . . . . . . . . . . . 164 8.4 Elemental mathematical functions . . . . . . . . . . . . . . . . . . . . . . . 165 8.5 Elemental character and logical functions . . . . . . . . . . . . . . . . . . . 166 8.5.1 Character–integer conversions . . . . . . . . . . . . . . . . . . . . . 166 8.5.2 Lexical comparison functions . . . . . . . . . . . . . . . . . . . . . 167 8.5.3 String-handling elemental functions . . . . . . . . . . . . . . . . . . 167 8.5.4 Logical conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 8.6 Non-elemental string-handling functions . . . . . . . . . . . . . . . . . . . . 168 8.6.1 String-handling inquiry function . . . . . . . . . . . . . . . . . . . . 168 8.6.2 String-handling transformational functions . . . . . . . . . . . . . . 168 8.7 Numeric inquiry and manipulation functions . . . . . . . . . . . . . . . . . . 168 8.7.1 Models for integer and real data . . . . . . . . . . . . . . . . . . . . 168 8.7.2 Numeric inquiry functions . . . . . . . . . . . . . . . . . . . . . . . 169 8.7.3 Elemental functions to manipulate reals . . . . . . . . . . . . . . . . 170 8.7.4 Transformational functions for kind values . . . . . . . . . . . . . . 171 8.8 Bit manipulation procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.8.1 Inquiry function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 8.8.2 Elemental functions . . . . . . . . . . . . . . . . . . . . . . . . . . 172 8.8.3 Elemental subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.9 Transfer function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.10 Vector and matrix multiplication functions . . . . . . . . . . . . . . . . . . . 174 8.11 Transformational functions that reduce arrays . . . . . . . . . . . . . . . . . 175 8.11.1 Single argument case . . . . . . . . . . . . . . . . . . . . . . . . . . 175 8.11.2 Optional argument dim . . . . . . . . . . . . . . . . . . . . . . . . . 175 8.11.3 Optional argument mask . . . . . . . . . . . . . . . . . . . . . . . . 176 8.12 Array inquiry functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 8.12.1 Allocation status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
  • 19. Contents xiii 8.12.2 Bounds, shape, and size . . . . . . . . . . . . . . . . . . . . . . . . 176 8.13 Array construction and manipulation functions . . . . . . . . . . . . . . . . 177 8.13.1 The merge elemental function . . . . . . . . . . . . . . . . . . . . . 177 8.13.2 Packing and unpacking arrays . . . . . . . . . . . . . . . . . . . . . 177 8.13.3 Reshaping an array . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.13.4 Transformational function for replication . . . . . . . . . . . . . . . 178 8.13.5 Array shifting functions . . . . . . . . . . . . . . . . . . . . . . . . 178 8.13.6 Matrix transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.14 Transformational functions for geometric location . . . . . . . . . . . . . . . 179 8.15 Transformational function for pointer disassociation . . . . . . . . . . . . . . 179 8.16 Non-elemental intrinsic subroutines . . . . . . . . . . . . . . . . . . . . . . 180 8.16.1 Real-time clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 8.16.2 CPU time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.16.3 Random numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.17 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 9 Data transfer 185 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 9.2 Number conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 9.3 I/O lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 9.4 Format definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 9.5 Unit numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 9.6 Internal files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 9.7 Formatted input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 9.8 Formatted output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9.9 List-directed I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.10 Namelist I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 9.11 Non-advancing I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 9.12 Edit descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 9.12.1 Repeat counts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 9.12.2 Data edit descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . 201 9.12.3 Character string edit descriptor . . . . . . . . . . . . . . . . . . . . . 205 9.12.4 Control edit descriptors . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.13 Unformatted I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 9.14 Direct-access files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 9.15 Execution of a data transfer statement . . . . . . . . . . . . . . . . . . . . . 210 9.16 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 10 Operations on external files 213 10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 10.2 Positioning statements for sequential files . . . . . . . . . . . . . . . . . . . 214 10.2.1 The backspace statement . . . . . . . . . . . . . . . . . . . . . . . . 214 10.2.2 The rewind statement . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.2.3 The endfile statement . . . . . . . . . . . . . . . . . . . . . . . . . . 215 10.2.4 Data transfer statements . . . . . . . . . . . . . . . . . . . . . . . . 215
  • 20. xiv Contents 10.3 The open statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 10.4 The close statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10.5 The inquire statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 10.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 11 Floating-point exception handling 223 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 11.2 The IEEE standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 11.3 Access to the features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 11.4 The Fortran flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 11.5 Halting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 11.6 The rounding mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 11.7 The underflow mode (Fortran 2003 only) . . . . . . . . . . . . . . . . . . . . 229 11.8 The module ieee_exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . 229 11.8.1 Derived types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 11.8.2 Inquiry functions for IEEE exceptions . . . . . . . . . . . . . . . . . 230 11.8.3 Subroutines for the flags and halting modes . . . . . . . . . . . . . . 230 11.8.4 Subroutines for the whole of the floating-point status . . . . . . . . . 231 11.9 The module ieee_arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . 232 11.9.1 Derived types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 11.9.2 Inquiry functions for IEEE arithmetic . . . . . . . . . . . . . . . . . 232 11.9.3 Elemental functions . . . . . . . . . . . . . . . . . . . . . . . . . . 234 11.9.4 Non-elemental subroutines . . . . . . . . . . . . . . . . . . . . . . . 235 11.9.5 Transformational function for kind value . . . . . . . . . . . . . . . 236 11.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 11.10.1 Dot product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 11.10.2 Calling alternative procedures . . . . . . . . . . . . . . . . . . . . . 237 11.10.3 Calling alternative in-line code . . . . . . . . . . . . . . . . . . . . 238 11.10.4 Reliable hypotenuse function . . . . . . . . . . . . . . . . . . . . . 238 11.10.5 Access to IEEE arithmetic values . . . . . . . . . . . . . . . . . . . 239 12 Interoperability with C 243 12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 12.2 Interoperability of intrinsic types . . . . . . . . . . . . . . . . . . . . . . . . 243 12.3 Interoperability with C pointer types . . . . . . . . . . . . . . . . . . . . . . 245 12.4 Interoperability of derived types . . . . . . . . . . . . . . . . . . . . . . . . 246 12.5 Interoperability of variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 12.6 The value attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 12.7 Interoperability of procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 249 12.8 Interoperability of global data . . . . . . . . . . . . . . . . . . . . . . . . . 250 12.9 Invoking a C function from Fortran . . . . . . . . . . . . . . . . . . . . . . . 251 12.10 Invoking Fortran from C . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 12.11 Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
  • 21. Contents xv 13 Type parameters and procedure pointers 255 13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 13.2 Deferred type parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 13.3 Type parameter enquiry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.4 Parameterized derived types . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.4.1 Defining a parameterized derived type . . . . . . . . . . . . . . . . . 256 13.4.2 Assumed and deferred type parameters . . . . . . . . . . . . . . . . 258 13.4.3 Default type parameter values . . . . . . . . . . . . . . . . . . . . . 258 13.4.4 Derived type parameter enquiry . . . . . . . . . . . . . . . . . . . . 259 13.5 Abstract interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 13.6 Procedure pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 13.6.1 Procedure pointer variables . . . . . . . . . . . . . . . . . . . . . . . 261 13.6.2 Procedure pointer components . . . . . . . . . . . . . . . . . . . . . 261 13.6.3 The pass attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 14 Object-oriented programming 265 14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 14.2 Type extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 14.2.1 Type extension and type parameters . . . . . . . . . . . . . . . . . . 267 14.3 Polymorphic entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 14.3.1 Establishing the dynamic type . . . . . . . . . . . . . . . . . . . . . 268 14.3.2 Limitations on the use of a polymorphic variable . . . . . . . . . . . 269 14.3.3 Polymorphic arrays and scalars . . . . . . . . . . . . . . . . . . . . 269 14.3.4 Unlimited polymorphic entities . . . . . . . . . . . . . . . . . . . . 269 14.3.5 Polymorphic entities and generic resolution . . . . . . . . . . . . . . 270 14.4 The associate construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 14.5 The select type construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 14.6 Type-bound procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 14.6.1 Specific type-bound procedures . . . . . . . . . . . . . . . . . . . . 274 14.6.2 Generic type-bound procedures . . . . . . . . . . . . . . . . . . . . 277 14.6.3 Type extension and type-bound procedures . . . . . . . . . . . . . . 279 14.7 Deferred bindings and abstract types . . . . . . . . . . . . . . . . . . . . . . 280 14.8 Finalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 14.8.1 Type extension and final subroutines . . . . . . . . . . . . . . . . . . 284 14.9 Procedure encapsulation example . . . . . . . . . . . . . . . . . . . . . . . . 284 14.10 Type inquiry functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 15 Establishing and moving data 289 15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 15.2 Mixed component accessibility . . . . . . . . . . . . . . . . . . . . . . . . . 289 15.3 Structure constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 15.4 The allocate statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 15.4.1 Typed allocation and deferred type parameters . . . . . . . . . . . . 291 15.4.2 Polymorphic variables and typed allocation . . . . . . . . . . . . . . 292 15.4.3 Sourced allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
  • 22. xvi Contents 15.5 Allocatable entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 15.5.1 Allocatable scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 15.5.2 Assignment to an allocatable array . . . . . . . . . . . . . . . . . . . 294 15.5.3 Transferring an allocation . . . . . . . . . . . . . . . . . . . . . . . 295 15.6 Pointer assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 15.7 More control of access from a module . . . . . . . . . . . . . . . . . . . . . 296 15.8 Renaming operators on the use statement . . . . . . . . . . . . . . . . . . . 297 15.9 Array constructor syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 15.10 Specification and constant expressions . . . . . . . . . . . . . . . . . . . . 298 16 Miscellaneous enhancements 301 16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 16.2 Pointer intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 16.3 The volatile attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 16.3.1 Volatile semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 16.3.2 Volatile scoping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 16.3.3 Volatile arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 16.4 The import statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 16.5 Intrinsic modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 16.6 Access to the computing environment . . . . . . . . . . . . . . . . . . . . . 307 16.6.1 Environment variables . . . . . . . . . . . . . . . . . . . . . . . . . 307 16.6.2 Information about the program invocation . . . . . . . . . . . . . . . 308 16.7 Support for internationalization . . . . . . . . . . . . . . . . . . . . . . . . . 308 16.7.1 Character sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 16.7.2 ASCII character set . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 16.7.3 ISO 10646 character set . . . . . . . . . . . . . . . . . . . . . . . . 310 16.7.4 UTF-8 files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 16.7.5 Decimal comma for input/output . . . . . . . . . . . . . . . . . . . . 311 16.8 Lengths of names and statements . . . . . . . . . . . . . . . . . . . . . . . . 312 16.9 Binary, octal, and hexadecimal constants . . . . . . . . . . . . . . . . . . . . 312 16.10 Other changes to intrinsic procedures . . . . . . . . . . . . . . . . . . . . . 313 16.11 Error message retrieval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 16.12 Enhanced complex constants . . . . . . . . . . . . . . . . . . . . . . . . . 314 16.13 Interface block extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 16.14 Public entities of private type . . . . . . . . . . . . . . . . . . . . . . . . . 315 17 Input/output enhancements 317 17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 17.2 Non-default derived-type input/output . . . . . . . . . . . . . . . . . . . . . 317 17.3 Asynchronous input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 17.4 The asynchronous attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 17.5 Input and output of IEEE exceptional values . . . . . . . . . . . . . . . . . . 323 17.6 Stream access input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 17.7 Recursive input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 17.8 The flush statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
  • 23. Contents xvii 17.9 Comma after a P edit descriptor . . . . . . . . . . . . . . . . . . . . . . . . 324 17.10 The iomsg= specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 17.11 The round= specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 17.12 The sign= specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 17.13 Kind type parameters of integer and logical specifiers . . . . . . . . . . . . 325 17.14 More specifiers in read and write statements . . . . . . . . . . . . . . . . . 326 17.15 Intrinsic functions for I/O status testing . . . . . . . . . . . . . . . . . . . . 326 17.16 Some inquire statement enhancements . . . . . . . . . . . . . . . . . . . . 326 17.17 Namelist enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 18 Enhanced module facilities 329 18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 18.2 Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 18.2.1 Separate module procedures . . . . . . . . . . . . . . . . . . . . . . 330 18.2.2 Submodules of submodules . . . . . . . . . . . . . . . . . . . . . . 331 18.2.3 Submodule entities . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 18.2.4 Submodules and use association . . . . . . . . . . . . . . . . . . . . 332 18.3 The advantages of submodules . . . . . . . . . . . . . . . . . . . . . . . . . 332 19 Coarrays 333 19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 19.2 Referencing images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 19.3 The properties of coarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 19.4 Accessing coarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 19.5 The sync all statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 19.6 Coarrays in procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 19.7 Allocatable coarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 19.8 Coarrays with allocatable or pointer components . . . . . . . . . . . . . . . 341 19.8.1 Data components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 19.8.2 Procedure pointer components . . . . . . . . . . . . . . . . . . . . . 342 19.9 Coarray components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 19.10 References to polymorphic subobjects . . . . . . . . . . . . . . . . . . . . 343 19.11 Volatile and asynchronous attributes . . . . . . . . . . . . . . . . . . . . . 343 19.12 Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 19.13 Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 19.13.1 Execution segments . . . . . . . . . . . . . . . . . . . . . . . . . . 343 19.13.2 The sync images statement . . . . . . . . . . . . . . . . . . . . . . 344 19.13.3 The lock and unlock statements . . . . . . . . . . . . . . . . . . . . 345 19.13.4 Critical sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 19.13.5 The sync memory statement and atomic subroutines . . . . . . . . . 347 19.13.6 The stat= and errmsg= specifiers in synchronization statements . . . 348 19.13.7 The image control statements . . . . . . . . . . . . . . . . . . . . . 348 19.14 Program termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 19.15 Input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 19.16 Intrinsic procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
  • 24. xviii Contents 19.16.1 Inquiry functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 19.16.2 Transformational functions . . . . . . . . . . . . . . . . . . . . . . 351 20 Other Fortran 2008 enhancements 353 20.1 Trivial syntactic conveniences . . . . . . . . . . . . . . . . . . . . . . . . . 353 20.1.1 Implied-shape arrays . . . . . . . . . . . . . . . . . . . . . . . . . . 353 20.1.2 Implied-do loops in data statements . . . . . . . . . . . . . . . . . . 353 20.1.3 Type-bound procedures . . . . . . . . . . . . . . . . . . . . . . . . . 354 20.1.4 Structure constructors . . . . . . . . . . . . . . . . . . . . . . . . . 354 20.1.5 Semicolons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 20.1.6 The stop statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 20.1.7 Exit from nearly any construct . . . . . . . . . . . . . . . . . . . . . 355 20.2 Limitation changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 20.2.1 64-bit integer support . . . . . . . . . . . . . . . . . . . . . . . . . . 356 20.2.2 Maximum array rank . . . . . . . . . . . . . . . . . . . . . . . . . . 356 20.3 Data expressiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 20.3.1 Allocatable components of recursive type . . . . . . . . . . . . . . . 356 20.3.2 Initial pointer association . . . . . . . . . . . . . . . . . . . . . . . . 358 20.4 Performance-oriented features . . . . . . . . . . . . . . . . . . . . . . . . . 359 20.4.1 The do concurrent construct . . . . . . . . . . . . . . . . . . . . . . 359 20.4.2 The contiguous attribute . . . . . . . . . . . . . . . . . . . . . . . . 361 20.4.3 Simply contiguous array designators . . . . . . . . . . . . . . . . . . 364 20.5 Computational expressiveness . . . . . . . . . . . . . . . . . . . . . . . . . 365 20.5.1 Accessing parts of complex variables . . . . . . . . . . . . . . . . . 365 20.5.2 Pointer functions denoting variables . . . . . . . . . . . . . . . . . . 366 20.5.3 The block construct . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 20.5.4 Impure elemental procedures . . . . . . . . . . . . . . . . . . . . . . 368 20.5.5 Internal procedures as actual arguments . . . . . . . . . . . . . . . . 370 20.5.6 Specifying the kind of a forall index variable . . . . . . . . . . . . . 370 20.5.7 Generic resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 20.6 Data usage and computation . . . . . . . . . . . . . . . . . . . . . . . . . . 372 20.6.1 Enhancements to the allocate statement . . . . . . . . . . . . . . . . 372 20.6.2 Automatic reallocation . . . . . . . . . . . . . . . . . . . . . . . . . 373 20.6.3 Elemental subprogram restrictions . . . . . . . . . . . . . . . . . . . 373 20.7 Input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 20.7.1 Recursive input/output . . . . . . . . . . . . . . . . . . . . . . . . . 374 20.7.2 The newunit= specifier . . . . . . . . . . . . . . . . . . . . . . . . . 374 20.7.3 Writing comma-separated values . . . . . . . . . . . . . . . . . . . . 375 20.8 Intrinsic procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 20.9 Mathemetical intrinsic functions . . . . . . . . . . . . . . . . . . . . . . . . 376 20.9.1 Changes to trigonometric functions . . . . . . . . . . . . . . . . . . 376 20.9.2 New hyperbolic trigonometic functions . . . . . . . . . . . . . . . . 376 20.9.3 New special mathematical functions . . . . . . . . . . . . . . . . . . 377 20.9.4 Euclidean norms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 20.10 Bit manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
  • 25. Contents xix 20.10.1 Bitwise (unsigned) comparison . . . . . . . . . . . . . . . . . . . . 378 20.10.2 Double-width shifting . . . . . . . . . . . . . . . . . . . . . . . . . 379 20.10.3 Bitwise reductions . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 20.10.4 Counting bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 20.10.5 Producing bitmasks . . . . . . . . . . . . . . . . . . . . . . . . . . 380 20.10.6 Merging bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 20.10.7 Additional shift operations . . . . . . . . . . . . . . . . . . . . . . . 381 20.11 Miscellaneous intrinsic procedures . . . . . . . . . . . . . . . . . . . . . . 382 20.11.1 Procedures supporting coarrays . . . . . . . . . . . . . . . . . . . . 382 20.11.2 Executing another program . . . . . . . . . . . . . . . . . . . . . . 382 20.11.3 Character comparison . . . . . . . . . . . . . . . . . . . . . . . . . 383 20.11.4 Array searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 20.11.5 Logical parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 20.11.6 Decimal arithmetic support . . . . . . . . . . . . . . . . . . . . . . 384 20.11.7 Size of an object in memory . . . . . . . . . . . . . . . . . . . . . . 384 20.12 Additions to the iso_fortran_env module . . . . . . . . . . . . . . . . . . . 385 20.12.1 Compilation information . . . . . . . . . . . . . . . . . . . . . . . . 385 20.12.2 Names for common kinds . . . . . . . . . . . . . . . . . . . . . . . 385 20.12.3 Kind arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 20.12.4 Coarray support facilities . . . . . . . . . . . . . . . . . . . . . . . 386 20.13 Changes to other standard intrinsic modules . . . . . . . . . . . . . . . . . 387 20.13.1 The iso_c_binding module . . . . . . . . . . . . . . . . . . . . . . . 387 20.13.2 The ieee_arithmetic module . . . . . . . . . . . . . . . . . . . . . . 387 20.14 Programs and procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 20.14.1 Saved module entities . . . . . . . . . . . . . . . . . . . . . . . . . 388 20.14.2 Automatic pointer targetting . . . . . . . . . . . . . . . . . . . . . . 388 20.14.3 Denoting absent arguments . . . . . . . . . . . . . . . . . . . . . . 389 A Intrinsic procedures 393 B Deprecated features 399 B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 B.2 Storage association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 B.2.1 Storage units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 B.2.2 The equivalence statement . . . . . . . . . . . . . . . . . . . . . . . 400 B.2.3 The common block . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 B.2.4 The block data program unit . . . . . . . . . . . . . . . . . . . . . . 404 B.2.5 Coarrays and storage association . . . . . . . . . . . . . . . . . . . . 405 B.3 Shape and character length disagreement . . . . . . . . . . . . . . . . . . . . 405 B.4 The include line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 B.5 Other forms of loop control . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 B.5.1 The labelled do construct . . . . . . . . . . . . . . . . . . . . . . . . 407 B.5.2 The do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 B.6 Double precision real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 B.7 The dimension, codimension, and parameter statements . . . . . . . . . . . . 409
  • 26. Another Random Scribd Document with Unrelated Content
  • 29. This book was produced in EPUB format by the Internet Archive. The book pages were scanned and converted to EPUB format automatically. This process relies on optical character recognition, and is somewhat susceptible to errors. The book may not offer the correct reading sequence, and there may be weird characters, non- words, and incorrect guesses at structure. Some page numbers and headers or footers may remain from the scanned page. The process which identifies images might have found stray marks on the page which are not actually images from the book. The hidden page numbering which may be available to your ereader corresponds to the numbered pages in the print edition, but is not an exact match; page numbers will increment at the same rate as the corresponding print edition, but we may have started numbering before the print book's visible page numbers. The Internet Archive is working to improve the scanning process and resulting books, but in the meantime, we hope that this book will be useful to you. The Internet Archive was founded in 1996 to build an Internet library and to promote universal access to all knowledge. The Archive's purposes include offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format. The Internet Archive includes texts, audio, moving images, and software as well as archived web pages, and provides specialized services for information access for the blind and other persons with disabilities. Created with hocr-to-epub (v.1.0.0)
  • 33. The text on this page is estimated to be only 4.99% accurate ,1 ' ■•* , »'■ ^V i.-t. '!:.i'rttv^;;M :H;....,;; M' ''■(,/ 1^ K«J'.ri S^f: f; f l: .'■. '.h:[ '■■'- :k. i:,-' r .j^;;:;.''-^;^:'? ';;,:■:• •: :, •. •■s- . -I :■■■ ,•■ , ;/ ; .-I-.' ■■!. W^-^-^' ■■:■■■ ■•.;!.:!•■; Btt; t - ■ .■ ' BRt j. ■ 1 ..•' ■ ■ ', 1 / i ■ : -'•'■'. Hh'' .[ I V ■ , -'' ■/ ^
  • 34. Digitized by the Internet Archive in 2009 with funding from Ontario Council of University Libraries http://www.archive.org/details/s1werkediedeutsc07luth
  • 35. The text on this page is estimated to be only 0.75% accurate ^ ,A A 4^'
  • 39. The text on this page is estimated to be only 0.00% accurate SR 330
  • 40. The text on this page is estimated to be only 1.93% accurate D. Munin %nt^n§ Deutfd)c 3ibel (€utl?ers Drucfteftc) Siebenter 3an6 Das Heue Ceftament ((Epifteln niib ö^ffcnbaning)
  • 41. The text on this page is estimated to be only 3.67% accurate Prlntod in Germany
  • 42. The text on this page is estimated to be only 18.92% accurate as 0 r to 0 r t. er öortiegcnbe 7. SBonb, ber ben ^toeiten 3^etl be§ 5^eucn Seftomcntg (Stömexbrief bi§ Offenbarung ;^iot}nnm§) nm= fa^t, fe^t bie 9leuQU§gabe ber Xejtbtbel fort. §aupt= Bearbeiter toax tcieberum D. Dr. 5llbre(^t, ben bei ber fd^trierigen ^orre!tur D. 5t. ÜHfd^ unb Dr. §. »olä gleic^ertoeife iüie bei SSanb 6 unterftü^ten. äBeiter^^in fteuerten bei: ^ilbegarb3intntermann eine !un[tgefc^ic^tU(5§e äßürbigung ber 6rana(!^bilber, D. g. ßo'^rg ha§ Ütegifter ber ©pifteln unb ©öangelien, D. 51. f^reltag ejegetifcfje unb !ritif(^e 5tnmer!ungen unb Erläuterungen, Ujobci er oud^ bo§ ^öer'^ältni^ öon 2utf)erbibel unb i^aimikict erneut über= prüfte. S)ie germaniftifc^cn ©rüärungen, bie nur bai 9iötigfte bieten, lieferte Dr. §. 2) reger. äßegen ber !ritif(^en ©runbfd^e, hk auä) für biefen S5anb angehjanbt tüurben, fei auf bie 5tu§fü^rungen im 23ortüort gum G. SBibelbanb öerhjiefen. 5ll§ 5lu§gabe le^ter §anb tourbe iuieberum bie SBibel öon 1546 augrunbe gc= legt, toeil nur fie, jumal für ben 9tömer= unb 1. ßorint^erbrief, hk getuid^tigen legten SSefferungen £ut^er§ in autl^entifd^er Überlieferung cntplt. gür ba» 5llte leftament, tro nad^ meiner Einfielt unb Überaeugung bie 5lu§gabe öon 1545 al§ le^te aut^entifd^e 3U gelten l^at, mu^ biefe iJragc noc§ enbgüUig entfd^ieben tuerben. ^ä) 'iabe öor längerer ^eit ber £ut^er!ommiffion ein öorläufigc» ©utad^ten erftattet unb injh^ifd^en ouf @runb auggebe^nter te5t= tritifd^er Unterfud)ungcn eine S)en!fd^rift ausgearbeitet. 6obalb bie @nt=
  • 43. The text on this page is estimated to be only 15.96% accurate VI IBorhJort. jc^cibung getroffen ift, tütrb ber S)ru(f be§ Otiten Xeftamentg fortgefc^t, Don bem td^ felbft ben erften Xeil übernommen ^ahe. 9ieben^er fc^reitet bie 5trbeit on ber 5lbteilung „SSriefe rüftig fort, unb tüerben bie legten ßürfen in ber 3lu§gQbe ber ©(^riften ausgefüllt. i)ie ©rgön^ungSbänbe toerben u. a. üu(i) bie erft fpdt cntbeäten unb an anbrer ©teile Bereits t)cröffentli(^ten 23ortefungen ber f^rüfi^eit (9tömer=, ®atater= unb .^ebrdcrbrief) enthalten. 5lucf) ha^ ©efamtregifter fonnte ban! ber bon ber 9totgemeinfd)aft ber S)eutf(^en äBiffenfc^aft gelnd^rten §ilfe burd) mel^rere ^Bearbeiter energifc^ geförbert lüerben. 2)ie gur Verfügung fte^enben 5JHtteI ermöglichen, tuie f(j^on in ben legten Sa'^ren burc^gefü^rt, bie jä^rlic^e 5lu§gabe oon jl^ei SBänben. Um ben Se= 3ie!^ern entgcgen3u!ommen, fott öcrfuc^t tüerbcn, bie SBdnbe mi3g(id§ft in f)albjähriger ^olge l^erauS^ubringen. %U nö(^fter SBanb Inirb im .'perbft 1931 ber 2. 5öanb ber SSriefe erfc^einen. ^it biefem ^anbe tüirb ha§ 9iegifter 3U SBb. 40 ^ nadigeliefert. 3:übingen, im ^pril 1931. ^rofcffor Dr. (^. 23e6cnne^cr*
  • 44. The text on this page is estimated to be only 19.99% accurate 3 » Ö a 1 1. edtc 93oilüort. 33on ©. SBeberme^er V— VI 3fn^Qtt VII-VIII einteitung. 23on D. ?(tbrec^t IX— XLIV JA. 93oiftücfe: grgäii^ungen ju ^Uetf^ö 33iMiograp^te (11.31. 5Bibel 2) IX IB. ^i^ovftücEe (^oitfe^ung): Übeifid)t über 9tövev§ ^^poftfationen in ben iöibeln 1540-1546 XII II. i?iitifc^e SBteberl^Dluiig unb ©rgänpng bet t)i[tDrtj(i)=tt)eoIogiy(^en ©iuleitung ^u 33ibel 6 XX III. Überfielt über ßutl^erS ißorreben XXXI IV. SSemertungen ju Sutfjerö ©loffen XXXV V. 58erfc^iebene§ bie S)ru(Ieinrid§tung 33etreffenbe§ XLI S)ru(ftei-te be§ «Heuen 2;eftament§ (3n?eite plfte) [1522/1546] . . 1-478 5ßorrebe auf bie dpiftel ©. ^auU an bie 3fiömer . . . . 2-27 5£)ie epiftel ©. 5ßauli an bie 9t5mer 28-79 5^orrebe ber ©piftel an bie (Jorintl^er 80 — 82 ^orrebe auf bie 1. 6piftel an hk ßorintl^er toon 1530 . . 82—87 S)ie 1. gpiftet ©. ^auU an bie gorint^er 88-137 ä^orrebe auf bie anber ©piftel an bie ßorinf^er 138 — 139 S)ie anber (Spiftel ^auli an bie ßorinffier 140 — 171 33orrebe auf bie epiftel ©. ^auti an bie ©atater .... 172—173 S)ie epiftel ©. ^Pauli an bie ©alater 174—191 3Jorrebe auf bie gpiftet ©. ^:pauli an bie (Sp^efer . . . . 190-191 5Die epiftet ©. ^auti an bie (Spl^efer 192—209 5Jorrebe auf bie 6- piftet ©. ^auli an bie ^l^itipper . . . 210—211 S)ie epiftel ©. 5pauti an bie 5p|ilipper 212—225 «orrebe auf bie ßpiftel ©. ^auti an bie ßoloffer .... 224-225 S)ie gpiftel 6. ^auli an bie ßoloffer 226—237 5)orrebe auf bie 1. gpiftel ©. ^auti an bie 31^ effato nieder . 238— 239 S)ie 1. gpiftet ©. $auli an bie X^effalonic^er 240-249 5Borrebe auf bie anber ßpiftel ©. 5pauli an bie S'^effalonidier 250—251 Sic anber gpiftet ©. ^auli nn bie Xf)ef|alonic^er .... 252—257
  • 45. The text on this page is estimated to be only 22.49% accurate VIII 3nf)aa. ©citc ^üori-ebe auf bie 1. epiftel ©. ^auü an Ximof^eum . . . 258-259 2)te 1. epiftel ©. ^auli an 2imotf)eum 260-273 93orrebe auf bie anber ßpiftel 6. ^auti an 2;imotf)eum . . 272—273 S)te anber gptftel ©. 5pault an 3:imot:^eum 274—283 üyotrebe auf bie (Spiftel ©. 5pauli an Xitum 284-285 S)ie epiftel ©. ^auti an 2:itum 286-291 5öorrebe auf bie epiftet ©. ^auli an ^^J^ilemon 292-293 Sie epiftel ©. ^auU an ^p^itemon 294-297 iBonebe auf bie 1. epiftel S. 5peter§ 298-299 2)ie 1. epiftel @. ^eter§ 300—313 5}otrebc auf bie onber (Jptftel
  • 46. The text on this page is estimated to be only 12.79% accurate (ätticitc .^^älftc.) D.Dr. Duo 3«6rer^t. mjc^nitt lA: ? lbid^nitt I B : 3lbf(^nitt TT: mfdjnitt [II: 3lbfd)nitt IV: tudfeintic^tung SJetteffenbe^. 5lbf(^nitt TA. (in U. %. 33ibel 2). 5p. 5pietfd) l^atte in feiner großen Sibliograp'fiie, toie fein SSorniort in W. 31. SöiBel 2, VII anbeutet, anfangt bie 9lb[tci)t, bie '§od)beutfd}en 5lu§gaben ber Sut^er= bibet über 1546 {)inau§ Ui 1551 ^ bor^ulegen, aufeerbem auc^ bie niebeibeutfc^en S)ru(ie einjube^ietien. 2lber er f)at au[ bieje Srtoeiterungen mit SSebad)! öer.^id^tet, unb njir liatten im 9tal§men unjrer 2lu§gabe erft red^t nic^t bie 5ieigung p jotd^en Srgänäungcn. 1) 3llfo nid^t bt§ äum 3oI)te 1581, 3ut Sogenannten „©ädjfijdjcn 9lotmaIbtbeI, bie ©c^ott (©. 157) unb 9leftle (^916. =• 33b. 3, 74, 41 f.) oll joldjc ^etöotl)cben, n)ä{)tenb 5Jl5n(febetg, »eittägc (1855) ©. 1 bieje 2Bettf(%ä^ung bet Süittenbetget ÜBibel to. ^. 1581 füt einen I)i|toiifc^en Sftttum etflätt.
  • 47. The text on this page is estimated to be only 18.49% accurate X :^utt)et§ Überlegung be§ 9ieuen 3;cftamcnt§. (Stoeitc §älfte.) 3tüar '^abcn toir früher in ben S8iBliogTQpt)ien gu ßutl^erS Siebern unb 311 feinen ^atedjiemen aud) nieberbeutfdie (unb lateinifdje) StuSgaben auf9e= nonnnen (Unjic Slu^S- ^i- 30 504 ff., 666 ff. unb 23b. 35, 390f. 394ff.). mer bei bei- 23ibcl i^utl)cre tüäre eine berartigc ungeheure ©itt)eiterung ber SStbüograpl^ie faum ettt)a§ ^Jibglic^eg gewcfen, ja, tüir bürfen fagen, ouc^ ettoaö Unnötige^, ba e§ fid) ^ier um ein äöerf ^anbelt, ba§ fetbft au§ fremben (Sprachen in§ S)eutfd§e überfe^t ift. Seiläufig aber erinnern toir an bic ©efd^id^te unb S5ibliograp'f)ie ber nieber = beutfd)en a3ibel in beni SBer! öoii ^JJletd^ior ©oe^e: ^erfuc^ einer ^iftorie ber gebrudtcn ^JUeberfäd)fifd^en SSibetn t)om ^ai)xe 1470 bi§ 1621 (|)amburg 1775); Quf ©. 202 f. nennt er aU ßutt)erbibeln in nieberfä^fifc^er ©prad)e au§ bem 16. 3EQl;rt)unbert fotgenbe in feinem 33efi^ befinblic^e 2lu§gaben (totfädilic^ nur eine ^lustta^l ber toirftid^ öorl^anbenen) ^ : 1. Sübed, S. Sie^ 1534 (f. § 21-24). 2. OHagbeburg, Wiä). eottljev 1536 (f. § 25-27). 3. äüittenbetg, ^ani ?itfft 1541 (f. § 28-31). 4. aKagbeburg, §quö Sßaltl^ev 1545 (f. § 32). 5. aßittenbetg, ®c. 9lf)utDen (itben 1561 (f. § 50). 6. SBtttenberg, bei bemfelben 1568 (f. § 51). 7. SBittenbetg, C^an§ Mt 1569 (f. § 52). 8. Söittenbetg, bei bemfelben 1574 (f. § 53). 9. 3JtQgbeburg, Söolfg. Äitc^ncr 1578 (f. § 55). 10. Sßittenberg, §on§ Sufft 1579 (f. § 54). 11. Ütoftocf, 3af. Ündus, 1580 (f. § 56). 12. Sattt), §anä 2ßittc 1588 (f. § 57). 13. Sütttenberg, Saä). Sei)mann 1590 (f. § 58). 14. §ambutg, ^of. 2uciu§ b. Süngete 1596 (f. § 59). 15. SlBittcnberg, Soren^ ©überlief -1599 (f. § 60). fjerner fei noc^ errcäl)nt bie unter ben Slufpijien ber äßittenberger £l)eologi= fd)en gofultöt lieranögegebene Biblia Germanico-Latina: „UJff 6t)urfürft(ic^en ©ädjfifc^en sBefe^l gebrudt ju 2Bittenbetg Anno M.D.LXV. OKit U]otlDotten Uon 5paul (Sber 156.') unb 1566 (Sßibmungen an ^et.jog Sllejanbet unb an ^uxfütft 2luguft). 10 abe. in Quart. (Sgl. in 5p3ig.» »b. 3, 45, 1 ff . ben 3lrtifel „ßateinifdje SJibeluberfe^nngen Don Dieftle, unb in
  • 48. 5ß9ie.=' »b. 5, 120, 15 ff. ben Slrttfct „gbet öon Älattjerau.) — Sonad^ ift eine jtüeite bon ^aul Grell berbefferte 91uftoge biefer Biblia Germanico-Latina in 2Bittenberg noc^ 1574 t)erau§gefommen. 5)ie alte Sßulgata ift in biefer boppelfprac^igen iöibet nad) ber mitabgebrudten beutfd^en Überfe^ung ßut^er» geänbert (Dgl. baju U. ?l. Jöibcl 51. 2)aä Sllte ieftament :^ierin ^at gber bearbeitet, baä 9ieue 2:eftamcnt ober ®. aJinjor. %ncij ßut^er§ Söorreben unb ©loffen finb mit inö Soteinifd^c übertragen. 2;aö ©ejamtrcgifter t)at ^|5. grell angefertigt. [(Sriunert fei tiier^u an 55aul grell» 23erid)t üon D. £utf)cri beutjc^cr 93ibel:6orrcctur unb unterfc^iebenem 3)rucE berfelbcn ü. ^. 1577, ber aber erft in ben Consilia Theolog. Witeberg. 1664 jum 2lbbrud gelangte. SSgl. eine ^robe barauä in ben Itieol. ©tub. u. Ärit. 1930, ©. 188. J ') *Äuf ©. 296ff. gibt ©oe^e einen bead^ten^toerten @j:fur§ über bie nad) ßut^erS 2:ob in bie oberfädjfijdjen ßutt)erbibetu 1546-1556 eingefloffcnen Söerönbcrungen unb über bie ©treit: jc^riftcn, bie bestocgcn jföifdjen firafft unb 9teinecciu§ getoec^felt finb. ®oeae felbft betont mit einjcitiger ©djarfe bi-n Üüett ber Söibet 1545 im 93ergleic^ ju ber Don 1546.
  • 49. The text on this page is estimated to be only 14.93% accurate ßinleitung. XI Unfere Üeinen ©rgan^ungen 311 ^ tetf($§ Sibtiogra^j'^te, bie borau§= fidjtlii^ im XII. (Sd)IuB=) S5anb unfereö hitifd)en ^ieubtiidEs ber l'uKjcrbibel noc^ üermet)tt lücrben, betreffen t)auptfä(i)li(^ nur bie eingaben ber ^Junborte, bic 5|3tetfd) a. a. €1. bei feiner 33cfd)reibung ber 3Iii§gaben I)at geben fönnen. ©tnjetne 5ßerid)tigungen ^n ^ietfd)§ 33ibliograpl)ie boten njir in U. 21. 33ibet 6, 5. 93. ©. XLIff. (betreffenb ba§ Septcnibeiteftanient) unb aud) in Unfrer 2tugg. y3b. 48 (|)erboi'^ebung einiger 33ibetejemptare, in n^etdie ßntl^er einen ©tannnbudieintrag gefd)rieben t;at). S^erner toevttjeifen roir auf ben Katalog ber 2tu§fteUung jur Jubelfeier be§ ßuti)erfd)en ^Reuen Icftamentg 1522 (am 21. September 19 22), öeranftaltet öon ber 6taat§= unb Uniöerfitätöbibltotl^ef ^n Hamburg (.giamburg 1922). S)a btefev Katalog im 2)rucE ,^ugänglid) ift, genüge ber ^»intüeiö auf ©. 11 f. 14 ff. 18 ff. äBic^tiger finb bie förgänpngen, bie D. 3^. Joi^i'an im Jafltbud) ber i3utf)et= gcfellfd^oft l (1919)
  • 50. The text on this page is estimated to be only 18.11% accurate XII ßutf)er§ Übcrfc^ung be§ «Reuen 3:eftament§. (3tocite .^älfte.) 1. bn^ a3ieti|be teljl bc§ alten || ÜeftamentS, ^lOc $top()ctc | auij || ebräifc^et ]pxaä), mit gu' II ten trenhjcn önb ^ot)cin fleijfä, || bnrd) bie ^kebiconten jn 3ü= || tic^, tnn %iütä) )exioU II mdtjd^ct. || ©ettudt 3U 3ürtc^ bc^ || Christoliel Froschauer, im jar so || man zalt. M.D.||XXIX. 3uerft *8a« (= Sorrebe), bann ?.41 gejö^lte 331. Sluf bem näc^ften SBl. (nad) 341): gnb aüer ^:ptop^e || ten, fo Dil bl) bcn (gbteern, || tinnb bel^ ben alteren tonbet || Sibti?d)c gcfc^rifftH gesctt finb. |i ©etrndt ä 3ürid), in bem || »atfufjer ßloltet, butc^ 6t)riftof= || fei ^tofc^ouer, ön tiolenbet om || erften tag be§ ^ht^enä, II im 3ar m. S5. || XXIX. || ?Iuf bet giüdjeite gtofd)auet§ 3)rudEer3etd^en ; bann nod^ ätoei leere SBlätter. 2. ®if3 finb bie bud^er || 3)ie bei) ben olten tinber || 33iblif(%e gfd^rifft mit gejelt || finb, aud) bei ben ©breern || nit gefunden. Neüwlich wider- 1| umb durch Leo Jud || verteutschet. || 1 ( Die zwey letsten bücher Ezra. II Tobias. III Judith. IUI Baruch. • V ' Das Buch der Weyßheit. VT Der weiß man, Ecclesiasticus. VII Die zwey Bücher Machabeorum. ViII Die Hi.stori von Susanah. IX { Die Histori vom Bei zu Babel. Getruckt zu Zürich bey Chri- 1| stofFel Froschouer. 287 ge3. SBl. - Sluf 331. 287 v unten: getrucft 3U 3ürtd^ be^ 6t)ri=|| stoffel Froschouer. 2tBf(^nttt IB. 58orftüc!e (^ortfel^unci): Überftd)t über bie ^oftfattonen 9iörer§ in ben 33ibe(n 1540—1546. S)a§ ^flac^tüort mxex§ jur SBtbet 46 ift in U. 31. S3tbel 6, Llilf. bollftönbig abgebrudft. [5rül)ete Slbbrucfe beSfelben finben fid^ bei ^panjer, ©nttourf (1783), S. 395f.; »erttam, |)iftor. Slb^anbtungen I (1780), ©.262-269; ©d^ott (1835), ©. 153 f.] @g ftanb im ^ittelpunü unferer Unterfu(i)ung über ben SGßert ber 5ßibet )o.% 1546. SSinbfeil bagegen, ber in ber ^bel M. ^. 1545 hk „le^te Criginolauggabc fo^, l^otte bie Sibet 1546 unb il^r 9lad^tt?ort in feinem fritifd^en ?ieubru(f ber ßutt)erfd)en Sibelüberfe^ung (1845—1855) au§ ^ifetrauen gegen 9iDrer öbüig ignoriert. SSir menben unfere 2lufmer!famfeit in Mrje noc^ ben frü'^eren ^ad^toorten i}i5rerä ju, bie ^ietfd^ in feiner
  • 51. großen SßibtiograJ)t)ie (U. 91. 58ibel 2) nur Qn= gebeutet, ißinbfeil aber in feinem 7. Sibelteil faft tioUftänbig abgebrudCt l^at. 6§ t)QnbeIt ftd) um bie 33ibelau§gaben, bie SSrenner in feiner ^Tabelle U. 31. 35ibel 6, XXII f. pfammengefteüt ^ot (40^, 41, 43 S 43^, 45). 1. Jöibel 1540, üon S3inbfei[ benonnt r, bon 5ßietf(^ *68, in Unfrer ?lu§g. 40' (bgl. aibel 2, ü35) ; ba5 ^tadjmort ift neugebrudt bei 33 i n b f e i l 7, ginleitung ©. XVIII f., oud) bei und unten @. XUI.
  • 52. Welcome to our website – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade Our website is not just a platform for buying books, but a bridge connecting readers to the timeless values of culture and wisdom. With an elegant, user-friendly interface and an intelligent search system, we are committed to providing a quick and convenient shopping experience. Additionally, our special promotions and home delivery services ensure that you save time and fully enjoy the joy of reading. Let us accompany you on the journey of exploring knowledge and personal growth! ebookfinal.com