Products Page
Fortran 95 Using F (PDF)
By Walt Brainerd, Charlie Goldberg, and Jeanne Adams
Published by The Fortran Company, 2005. 372 pages. $10.00
PDF format
ISBN <na>
F is a simple yet powerful programming language. F is ideal for introductory programming, not only for computer science but also for math, engineering, and science. F is also ideal for advanced programming as it is a subset of both Fortran 95 and High Performance Fortran.
Special feature in F include:
- modules for the encapsulation of data and procedures
- public and private objects
- user-defined types
- array processing not available in other languages
- complete input/output facilities
- intent in, out, or in out on all procedure arguments
and the necessary features such as:
- data structures
- pointer and target attributes
- recursive procedures
Because F is a subset of existing powerful languages, there is a smooth transition for the beginner into professional programming.
Fortran 95 Using F is a tutorial-style presentation of all the important features of F. The topics are presented in an order that is natural for learning. The style is informal and there are many realistic examples. Exercises are provided to test knowledge of the concepts covered. The syntax of F and the intrinsic functions are covered in appendices.
This e-book format contains many hot links (contents, index, cross refereneces, etc.). One click takes you to the topic mentioned in the text.
The book is similar to Programmer’s Guide to Fortran 90 by the same authors and several sample sections from this book may viewed online.
A printed version of this book may be ordered from Lulu.
The Key Features of Fortran 95 (PDF)
Ninety-Five Key Features of Fortran 95
By Jeanne Adams, Walt Brainerd, Jeanne Martin, and Brian Smith
Published by The Fortran Company, 2004.
PDF version only. 266 pages. $10.00
The Key Features of Fortran 95 is an online reference work for the Fortran programmer. It contains a two-page summary of each of the ninety-five most important features of the Fortran 95 programming language. For most topics there is a brief summary of the feature and its use, some examples, related topics, related intrinsic functions, the main syntax rules related to the feature, and an itemization of the most important things to know about the feature.
An appendix contains a description of all Fortran 95 intrinsic functions and subroutines.
There is an unusually complete index.
Other features include some special tips and references to the Fortran standard, The Fortran 95 Handbook, and Fortran 95 Using F.
Each topic about an attribute (such as the SAVE attribute) shows which other attributes are compatible with it.
The PDF version that is available has many links to make it an excellent online reference work. In the bookmarks section, there is a link to each of the ninety-five topics and each of the intrinsic procedures in the appendix, as well as links to the list of topics, the index, and an example program that solves a set of linear equations. If the book Fortran 95 Using F is available, links to that book will be active.
There is a link to each topic from its entry in the table of contents. There is a link to the appropriate text from each entry in the index (click on the page number). Most sections contain a list of related topics and there is a link to each of them. Most topics contain a list of intrinsic procedures and there is a link to each of them.
A sample version of the PDF book has been created by selecting the Top 10 features of Fortran 95. This sample book and may be viewed here. Note that although some links work, many do not because the relevant material is not in the sample. In particular, the appendix with the intrinsic procedures is not included, so none of the links to the intrinsic procedures will work.
After you complete the purchase, you will receive email with instructions on how to download your PDF book.
A printed version of this book may be ordered from Lulu.
If you are a vendor of Fortran products and would like to distribute this handy reference work in electronic form, please contact The Fortran Company.
Fortran 90 & 95 Array and Pointer Techniques (PDF)
By Loren P. Meissner
Available in PDF format only for $10.00
Erratum
On page 21, the loop index J should have upper bound N instead of N+1, and the inner loop index K should have upper bound N+1 instead of N.
Here is the preface:
Preface
This book covers modern Fortran array and pointer techniques, including facilities provided by Fortran 95, with attention to the subsets e-LF90 and F as well. It provides coverage of Fortran based data structures and algorithm analysis.
The principal data structure that has traditionally been provided by Fortran is the array. Data structuring with Fortran has always been possible – although not always easy: one of the first textbooks on the subject (by Berztiss, in 1971) used Fortran for its program examples. Fortran 90 significantly extended the array features of the language, especially with syntax for whole arrays and array sections and with many new intrinsic functions. Also added were data structures, pointers, and recursion. Modern Fortran is second to none in its support of features required for efficient and reliable implementation of algorithms and data structures employing linked lists and trees as well as arrays.
Examples shown in this book use some features of Fortran 95, notably derived type component initialization, pointer initialization with null, and pure functions. Electronically distributed program examples include the Fortran 95 versions printed in the book, as well as alternative versions acceptable to the Fortran 90 subsets e-LF90 and F. Each of these subsets supports all essential features of Fortran 90 but omits obsolete features, storage association, and many redundancies that are present in the full Fortran language; furthermore, they are available at a very reasonable price to students and educators. Information concerning the F subset is available from:
The Fortran Company 6025 N. Wilmot Road Tucson, Arizona 85750 +1-877-355-6640 (voice & fax) http://www.fortran.com/F
The programming style used in this book, and in all of the electronically distributed variant versions of the programming examples, is close to that required by F (the more restrictive of the two subsets). F version examples conform to the “common subset” described in essential Fortran 90 & 95: Common Subset Edition, by Loren P. Meissner (Unicomp, 1997), except that short-form read and print statements replace the more awkward form that common subset conformance requires. The e-LF90 version examples incorporate extensions described in Appendix C of essential Fortran, namely: initialization and type definition in the main program, simple logical if statements, do while, and internal procedures. Fortran 95 version examples (including those printed in the text) do not employ any further extensions except for facilities that are new in Fortran 95. All versions of the examples have been tested; the Fortran 95 versions were run under DIGITAL Visual Fortran v 5.0c: see .
Bill Long, Clive Page, John Reid, and Chuckson Yokota reviewed earlier drafts of this material and suggested many improvements.
Here is the table of contents:
Table of Contents
Contents
Preface
Chapter 1 Arrays and Pointers 1
1.1 WHAT IS AN ARRAY? 1
Subscripts
Multidimensional Arrays
Arrays as Objects
Whole Arrays and Array Sections
Whole Array Operations
Elemental Intrinsic Functions
Array Sections
Array Input and Output
Standard Array Element Sequence
Vector Subscripts
1.2 ARRAY TECHNIQUES 10
Operation Counts and Running Time
Operation Counts for Swap Subroutine
The Invariant Assertion Method
Smallest Element in an Array Section
Operation Counts for Minimum_Location
Search in an Ordered Array
Linear Search in an Ordered Array
Binary Search in an Ordered Array
Operation Counts for Binary_Search
Crout Method for Linear Systems
1.3 POINTERS 22
The Pointer Attribute
Association Status
Automatic Dereferencing
The deallocate Statement
Storage for Pointers and Allocated Targets
Management of Allocated Targets
Pointers as Derived Type Components
Pointers with Arrays
Chapter 2 Introduction to Sorting 28
Computer Sorting
Operation Counts for Sort_3
2.1 SORTING BY SELECTION 30
Operation Counts for Selection Sort
Sorting an Array of Structures
Selection during Output
Duplicate Keys
Selection Sort is not Stable
2.2 SORTING BY INSERTION 38
Straight Insertion
Operation Counts for Straight Insertion
Initially Ordered Data
Straight Insertion Is Stable
Insertion Sort with Pointers
Insertion during Input
Expanding Array
Binary Insertion
Binary Insertion Is Not Stable
Operation Counts for Binary Insertion
2.3 SHELL SORT 48
Operation Counts for Shell Sort
Shell Sort with Array Sections
2.4 HEAPSORT 50
Binary Trees (Array Representation) and Heaps
The Procedure Peck
Building the Heap by Chain Insertion
Sorting the Heap by Selection
Operation Counts for Heapsort
2.5 OPERATION COUNTS FOR SORTING: SUMMARY 61
Sorting Methods Described So Far (Slower to Faster)
Chapter 3 Recursion and Quicksort 63
3.1 RECURSION 63
Recursion Compared with Iteration
A Good Example of Recursion: Towers of Hanoi
A Bad Example of Recursion: The Fibonacci Sequence
Application: Adaptive Quadrature (Numerical Integration)
Application: Recursive Selection Sort
Tail Recursion vs Iteration
Printing a List Forward
Factorial
3.2 QUICKSORT 72
Recursive Partitioning
Quicksort is Unstable for Duplicates
Choosing the Pivot
The Cutoff
Testing a Quicksort Implementation
Storage Space Considerations
Quicksort Operation Counts
Chapter 4 Algorithm Analysis 80
4.1 WHAT IS AN ALGORITHM? 80
Computer Algorithms
4.2 WHAT MAKES A GOOD ALGORITHM? 81
>From Thousands to Millions of Data Items
Operation Counts for Sorting
4.3 ASYMPTOTIC ANALYSIS 83
The Role of Constants
The Complexity of an Algorithm: Big Oh
Complexity of Sorting Methods
4.4 MATHEMATICAL INDUCTION 87
Chapter 5 Linked Lists 88
5.1 LINKED LIST NODE OPERATIONS 88
Create List
Insert Target Node
Delete Target Node
Print Target Node
Modify Target Node
5.2 OPERATIONS ON WHOLE LINKED LISTS 92
Making a Linked List by Insertion at the RootPrint List
Delete List
Searching in a Linked List
Maintaining a Large Ordered List
5.3 PROCESSING LINKED LISTS RECURSIVELY 95
5.4 LINKED LISTS WITH POINTERS TO POINTERS 99
5.5 APPLICATIONS WITH SEVERAL LINKED LISTS 104
Multiply Linked Lists
5.6 LINKED LISTS VS. ARRAYS 105
Array Implementation
Unordered Array
Ordered Array
Linked List Implementation
Unordered Linked List
Ordered Linked List
Summary
Chapter 6 Abstract Data Structures 107
6.1 STACKS 107
Applications of Stacks
Depth-First Search in a Graph
Stack Operations
Evaluating a Postfix Expression
Stacks and Recursion
Recursive Depth-First Search
Reversing a List
Abstraction, Encapsulation, and Information Hiding
Stack as an Object
Array Implementation of Stack
Linked List Implementation of Stack
A Stack of What?
Generic Stack Module
Stack Objects
6.2 QUEUES 122
Queue Objects
Linked List Implementation of Queue
Array Implementation of Queue
Special Considerations for High Efficiency
Chapter 7 Trees 131
7.1 BINARY SEARCH TREES 131
The Balance Problem
7.2 AVL TREES 135
Rotating a Subtree
7.3 B-TREES 139
7.4 SKIP LISTS 143
7.5 COMPARISON OF ALGORITHMS 148
Index
FortranTools for Windows, 64bit
This is an Electronic Download product
64bit Windows
This is the 64bit version of Fortran Tools designed for x64 based Windows systems. When you purchase, you will receive an email with links to download this product.
FortranTools consists of the gfortran Fortran compiler with Fortran 03 and Fortran 08 features, the Code::Blocks graphical development environment, matrix libraries, a plotting package, other Fortran tools and software, and books in electronic form.
Code::Blocks may be used to edit, compile, run, and debug Fortran programs. Here is a screen shot showing the use of Code::Blocks to edit and execute a simple program.
It is available for Windows.
The package contains the gfortran Fortran compiler, the Code::Blocks graphical user interace, the BLAS and LAPACK libraries with the MATRAN Fortran wrapper, lots of example code, the Fortran Tools manual, and the following books in electronic form:
- Fortran 95 Using F by Brainerd, Goldberg, and Adams,
- The Key Features of Fortran 95 by Adams, Brainerd, Martin, and Smith
- Fortran 90 & 95 Array and Pointer Techniques by Loren Meissner.
Note: Installation and setup of the Fortran Tools requires careful reading and execution of the instructions in the Fortran Tools manual. It does not install with a simple click of the mouse. If you are not willing to use Windows Explorer to copy a few files, this may not be the system for you.
This is an electronic download of 3 files. Please read c00_Readme.pdf FIRST – this is your installation document .
Make sure you have a solid Internet connection. Here are the file sizes in bytes:
111028 c00_Readme.pdf - Installation instructions: READ FIRST 3267277 Fortran_Tools.pdf - Product manual 110265457 FortranTools_43_64.zip - Product. Unzip in main directory of C:, that is c:\
FortranTools for Windows, 32bit
This is an Electronic Download product
32bit Windows
This is the 32bit version of Fortran Tools designed for x86 based Windows systems, such as Windows XP. When you purchase, you will receive an email with links to download this product.
FortranTools consists of the gfortran Fortran compiler with Fortran 03 and Fortran 08 features, the Code::Blocks graphical development environment, matrix libraries, a plotting package, other Fortran tools and software, and books in electronic form.
Code::Blocks may be used to edit, compile, run, and debug Fortran programs. Here is a screen shot showing the use of Code::Blocks to edit and execute a simple program.
It is available for Windows.
The package contains the gfortran Fortran compiler, the Code::Blocks graphical user interace, the BLAS and LAPACK libraries with the MATRAN Fortran wrapper, lots of example code, the Fortran Tools manual, and the following books in electronic form:
- Fortran 95 Using F by Brainerd, Goldberg, and Adams,
- The Key Features of Fortran 95 by Adams, Brainerd, Martin, and Smith
- Fortran 90 & 95 Array and Pointer Techniques by Loren Meissner.
Note: Installation and setup of the Fortran Tools requires careful reading and execution of the instructions in the Fortran Tools manual. It does not install with a simple click of the mouse. If you are not willing to use Windows Explorer to copy a few files, this may not be the system for you.
This is an electronic download of 3 files. Please read c00_Readme.pdf FIRST – this is your installation document .
Make sure you have a solid Internet connection. Here are the file sizes in bytes:
111028 c00_Readme.pdf - Installation instructions: READ FIRST 3267277 Fortran_Tools.pdf - Product manual 90291713 FortranTools_43_32.zip - Product. Unzip in main directory of C:, that is c:
Guide to Fortran 2003 Programming
Publisher: Springer; 2009 edition (July 1, 2009)
ISBN-10: 1848825420
ISBN-13: 978-1848825420
Product Dimensions: 6.1 x 0.8 x 9.2 inches
Shipping Weight: 1.4 pounds
Fortran, the premier language for scientific computing since its introduction in 1957, originally was designed to allow programmers to evaluate formulas—FORmula TRANslation—easily on large computers. However, now Fortran compilers are available on all sizes of machines, from small desktop computers to huge multi-processors. Fortran has many modern features that will help programmers write efficient, portable, and maintainable programs useful for everything from “hard science” to text processing. This concise, accessible, and easy-to-read Guide to Fortran 2003 Programming introduces the most important features of Fortran 2003 (also known as Fortran 03), the latest standard version of Fortran. The text is organized for instruction from beginning to end, but also so that particular topics may be studied and read independently—making the work eminently suitable as a reference for professionals. Features: * Presents a complete discussion of all the basic features needed to write complete Fortran programs: the form of Fortran programs, data types, simple expressions and assignment, and simple input and output * Makes extensive use of examples and case studies to illustrate the practical use of features of Fortran 03, and to show how complete programs are put together * Provides a detailed exploration of control constructs, modules, procedures, arrays, character strings, data structures and derived types, pointer variables, and object-oriented programming * Introduces the topic of modules as the framework for organizing data and procedures for a Fortran program * Investigates the excellent input/output facilities available in Fortran * Includes appendices listing the many intrinsic procedures and providing a brief informal syntax specification for the language * Supplies simple problems throughout the book, to enable the reader to exercise knowledge of the topics learned This indispensable textbook/reference provides a tutorial for anyone who wants to learn Fortran 03, including those familiar with programming language concepts but unfamiliar with Fortran. Experienced Fortran 95 programmers will be able to use this volume to assimilate quickly those features in Fortran 03 that are not in Fortran 95. Walt Brainerd is the owner of The Fortran Company and has co-authored the useful Springer reference, The Fortran 2003 Handbook: The Complete Syntax, Features and Procedures.
Absoft Pro Fortran Compiler Suite, Academic
Absoft Pro Fortran Compiler Suite For Windows
ACADEMIC**, SINGLE MACHINE LICENSE
ELECTRONIC PRODUCT DOWNLOAD (NO SHIPPING)
** To qualify for Academic license you must use an email address from an Academic institution during checkout. We will NOT issue Academic licenses to non-Academic email addresses**
Faster Code, AVX (Advanced Vector Extensions), more F2003 & F2008, AWE, PLUS OpenMP 3.0, SMP Analyzer & Updated Fx Debugger! Compatible with Windows XP through Windows 8
Pro Fortran 2013 v13 – Builds Faster Code Faster with Absoft’s Exclusive Dynamic AP Load Balancing Technology, OpenMP 3.0 support, SMP Analyzer, Tools Plug-in, New HPC Scientific & Engineering Math Library and more.
Absoft’s Pro Fortran tool suite automates building extremely fast parallel code on multi-core systems. Compiler features include: APO, IPO, PGFDO optimizers and auto vectorization, Absoft’s exclusive Dynamic AP load balancing technology - performance increases up to 20% on multi-core systems, SMP graphical code analyzer and OpenMP 3.0 support. New for Pro Fortran v2013 v13 is Upgraded Absoft Window Environment (AWE), External Libraries and Tools Plug-in, expanded F2003 & F2008 support and enhanced Fx3 graphical debugger. Fully compatible with Windows XP through Windows 8.
The Absoft IDE is the only commercial Fortran/C++ development environment designed by Fortran experts. It includes: programmer’s editor, Absoft’s SMP and Vector analyzer, Fx3 graphical debugger, SMP and MPI control features, optimized math libraries and 2D/3D graphics.
All Pro Fortran products include premier technical support directly from Absoft, Quick Fixes and Service Packs. IMSL’s highly optimized numerical and statistical libraries (1000+ routines) are a low cost bundle option. Pro Fortran is compatible with recent releases of Fedora Core, openSuse, Ubuntu, RedHat Enterprise Linux and CentOS. Pro Fortran is a complete solution, nothing else to buy or learn – AND it generates 20% faster code!
Absoft compilers automate building parallel code
Absoft compilers automate building parallel code on multi-core systems. Auto-parallelization and vectorization ensures maximum application performance. A new scheduler improves performance in 32-bit environments and SSE 4*/4.2 maximizes performance on the latest AMD 32-bit – 64-bit Opteron 12-core CPUs & Intel 64-bit Core i7-980X CPUs. Examples of using auto-parallelization and improving performance with OpenMP are included in the documentation. Scalapack and BLACS libraries are included for enhanced MPI support.
Includes the only Fortran IDE designed by Fortran experts. Absoft simplifies code development by solving the problems associated with IDEs such as Visual Studio and Xcode – excellent for C++, but with no knowledge of Fortran. The Absoft Fortran IDE supports both Fortran and C and automatically provides proper syntax sensitivity, array indexing, etc. for each language. It includes everything you need: F95 Fortran compilers, programmer’s editor, Fx3 graphical debugger, application framework, graphics and optimized math libraries in a single, easy-to-use package.
Single Solution – Linux, Windows and OS X. Simplify code development for multiple platforms. Absoft provides same look and feel on every platform and allows you to build native applications for Linux, Windows and Mac from a single code base! Absoft’s exclusive MaxFlex license manager allows a single license to float across Linux/Windows/Mac, saving you time and money.
Electronic Download details: When you purchase an Absoft Electronic Download product from The Fortran Company you will immediately receive an order confirmation. However, we still manually have to send in the purchase order to Absoft for processing. Absoft will then email a letter to you with your serial number and links and instructions to download your product. This can take about a day, workdays only US Timezones. Weekend orders are processed the following Monday or the first workday following any US holidays.
Absoft Pro Fortran Compiler Suite, Commercial
Absoft Pro Fortran Compiler Suite For Windows
Commercial License
ELECTRONIC PRODUCT DOWNLOAD (NO SHIPPING)
Faster Code, AVX (Advanced Vector Extensions), more F2003 & F2008, AWE, PLUS OpenMP 3.0, SMP Analyzer & Updated Fx Debugger! Compatible with Windows XP through Windows 8
Pro Fortran 2013 v13 – Builds Faster Code Faster with Absoft’s Exclusive Dynamic AP Load Balancing Technology, OpenMP 3.0 support, SMP Analyzer, Tools Plug-in, New HPC Scientific & Engineering Math Library and more.
Absoft’s Pro Fortran tool suite automates building extremely fast parallel code on multi-core systems. Compiler features include: APO, IPO, PGFDO optimizers and auto vectorization, Absoft’s exclusive Dynamic AP load balancing technology - performance increases up to 20% on multi-core systems, SMP graphical code analyzer and OpenMP 3.0 support. New for Pro Fortran v2013 v13 is Upgraded Absoft Window Environment (AWE), External Libraries and Tools Plug-in, expanded F2003 & F2008 support and enhanced Fx3 graphical debugger. Fully compatible with Windows XP through Windows 8.
The Absoft IDE is the only commercial Fortran/C++ development environment designed by Fortran experts. It includes: programmer’s editor, Absoft’s SMP and Vector analyzer, Fx3 graphical debugger, SMP and MPI control features, optimized math libraries and 2D/3D graphics.
All Pro Fortran products include premier technical support directly from Absoft, Quick Fixes and Service Packs. IMSL’s highly optimized numerical and statistical libraries (1000+ routines) are a low cost bundle option. Pro Fortran is compatible with recent releases of Fedora Core, openSuse, Ubuntu, RedHat Enterprise Linux and CentOS. Pro Fortran is a complete solution, nothing else to buy or learn – AND it generates 20% faster code!
Absoft compilers automate building parallel code on multi-core systems. Auto-parallelization and vectorization ensures maximum application performance. A new scheduler improves performance in 32-bit environments and SSE 4*/4.2 maximizes performance on the latest AMD 32-bit – 64-bit Opteron 12-core CPUs & Intel 64-bit Core i7-980X CPUs. Examples of using auto-parallelization and improving performance with OpenMP are included in the documentation. Scalapack and BLACS libraries are included for enhanced MPI support.
Includes the only Fortran IDE designed by Fortran experts. Absoft simplifies code development by solving the problems associated with IDEs such as Visual Studio and Xcode – excellent for C++, but with no knowledge of Fortran. The Absoft Fortran IDE supports both Fortran and C and automatically provides proper syntax sensitivity, array indexing, etc. for each language. It includes everything you need: F95 Fortran compilers, programmer’s editor, Fx3 graphical debugger, application framework, graphics and optimized math libraries in a single, easy-to-use package.
Single Solution – Linux, Windows and OS X. Simplify code development for multiple platforms. Absoft provides same look and feel on every platform and allows you to build native applications for Linux, Windows and Mac from a single code base! Absoft’s exclusive MaxFlex license manager allows a single license to float across Linux/Windows/Mac, saving you time and money.
Electronic Download details: When you purchase an Absoft Electronic Download product from The Fortran Company you will immediately receive an order confirmation. However, we still manually have to send in the purchase order to Absoft for processing. Absoft will then email a letter to you with your serial number and links and instructions to download your product. This can take about a day, workdays only US Timezones. Weekend orders are processed the following Monday or the first workday following any US holidays.
