Modern Fortran in PracticeCambridge University Press, 18 черв. 2012 р. - 253 стор. "Since the publication of the FORTRAN 77 standard in 1978 the Fortran language has undergone a large number of revisions [61].1 The changes that were introduced reflect both new insights in programming techniques and new developments in computer hardware. From the very start the language has been designed with computing efficiency in mind. The latest standard as of this writing, Fortran 2008, puts even more emphasis on this aspect by introducing explicit support for parallel processing [71]. This first chapter gives an overview of the various standards that have appeared after " FORTRAN 77". There is no attempt to be complete or even to describe all major features - that would mean a whole book or even a series of books. Consult Metcalf et al. [63], [65] or Brainerd et al. [36] for a detailed Officially, Fortran 77 should be written as FORTRAN 77. Since the Fortran 90 standard the name is written in lowercase. description of the standards. 1.1 The flavour of modern Fortran The Fortran 90 standard introduced some very significant changes with respect to the widespread FORTRAN 77 standard: free form source code, array operations, modules and derived types to name but a few. To give an impression of what this means for the programmer, consider this simple problem: We have a file with numbers, one per line (to keep it simple) and we want to determine the distribution of these numbers, that is, produce a simple histogram. In FORTRAN 77 a program that does this might look like: * Produce a simple histogram * PROGRAM HIST INTEGER MAXDATA PARAMETER (MAXDATA = 1000) INTEGER NOBND PARAMETER (NOBND = 9) REAL BOUND(NOBND) REAL DATA(MAXDATA) INTEGER I, NODATA"--Provided by publisher. |
Зміст
Introduction to Modern Fortran | 1 |
ArrayValued Functions | 12 |
Mathematical Abstractions | 21 |
Memory Management | 35 |
An Interface Problem | 51 |
SQLite As an Example | 76 |
Graphics GUls and the Internet | 92 |
Unit Testing | 114 |
I0 Robust Implementation of Several Simple Algorithms 155 | 135 |
ObjectOriented Programming | 163 |
Parallel Programming | 196 |
A Tools for Developmenl and Mainlenance | 221 |
B Caveals | 232 |
Trademarks | 243 |
251 | |
Code Reviews | 121 |
Інші видання - Показати все
Загальні терміни та фрази
abstract interface add_vector allocate arguments automatically bytes character(len class(point2d CMake coarrays compiler computation contains subroutine data types data(i deallocate define deltt derived type difficult dimension dimension(z double precision Doxygen dynamic efficient elements end function end interface end module end program end type enddo end endif end subroutine endif enddo error evals example field file find first flow_field FORTRAN 77 Fortran 90 func function f I$omp ierr ifyou implementation indomain input integer integrate_trapezoid integrated development environment integration_library intent(in intent(out linked_list logical loop luout malloc memory memory leaks module procedure new_task nodata number_primes object-oriented programming OpenMP options parallel param parameter PLplot pointer problem programming language range(2 real function result return endif routine solution Solve diagonally dominant source code specific SQLite standard statement steps thread type autoderiv type linked_list type point2d valgrind variables vector write xmax xmin