Fortran Reference Guide

Total Page:16

File Type:pdf, Size:1020Kb

Fortran Reference Guide FORTRAN REFERENCE GUIDE Version 2020 TABLE OF CONTENTS Preface............................................................................................................ xv Audience Description......................................................................................... xv Compatibility and Conformance to Standards............................................................ xv Organization................................................................................................... xvi Hardware and Software Constraints...................................................................... xvii Conventions................................................................................................... xvii Related Publications........................................................................................ xviii Chapter 1. Language Overview............................................................................... 1 1.1. Elements of a Fortran Program Unit.................................................................. 1 1.1.1. Fortran Statements................................................................................. 1 1.1.2. Free and Fixed Source............................................................................. 2 1.1.3. Statement Ordering................................................................................. 2 1.2. The Fortran Character Set.............................................................................. 3 1.3. Free Form Formatting................................................................................... 4 1.4. Fixed Formatting..........................................................................................5 1.4.1. Column Formatting..................................................................................5 1.4.2. Fixed Format Label Field.......................................................................... 5 1.4.3. Fixed Format Continuation Field................................................................. 5 1.4.4. Fixed Format Statement Field.................................................................... 6 1.4.5. Fixed Format Debug Statements..................................................................6 1.4.6. Tab Formatting.......................................................................................6 1.4.7. Fixed Input File Format Summary................................................................ 6 1.5. Include Fortran Source Files............................................................................ 7 1.6. Components of Fortran Statements................................................................... 7 1.6.1. Symbolic Names..................................................................................... 8 1.7. Expressions.................................................................................................8 1.7.1. Forming Expressions.................................................................................8 1.7.2. Expression Precedence Rules...................................................................... 9 1.7.3. Arithmetic Expressions............................................................................. 9 1.7.4. Relational Expressions.............................................................................11 1.7.5. Logical Expressions................................................................................ 12 1.7.6. Character Expressions............................................................................. 12 1.7.7. Character Concatenation......................................................................... 12 1.8. Symbolic Name Scope.................................................................................. 13 1.9. Assignment Statements.................................................................................13 1.9.1. Arithmetic Assignment............................................................................ 13 1.9.2. Logical Assignment.................................................................................14 1.9.3. Character Assignment............................................................................. 14 1.10. Listing Controls.........................................................................................15 1.11. OpenMP Directives..................................................................................... 15 Fortran Reference Guide Version 2020 | ii Chapter 2. Fortran Data Types.............................................................................. 16 2.1. Intrinsic Data Types..................................................................................... 16 2.1.1. Kind Parameter..................................................................................... 16 2.1.2. Number of Bytes Specification.................................................................. 17 2.2. Constants................................................................................................. 19 2.2.1. Integer Constants.................................................................................. 19 2.2.2. Binary, Octal and Hexadecimal Constants..................................................... 20 2.2.3. Real Constants......................................................................................20 2.2.4. Double Precision Constants.......................................................................21 2.2.5. Complex Constants................................................................................ 21 2.2.6. Double Complex Constants....................................................................... 21 2.2.7. Logical Constants.................................................................................. 21 2.2.8. Character Constants............................................................................... 22 2.2.9. Parameter Constants.............................................................................. 22 2.3. Structure Constructors................................................................................. 23 2.4. Derived Types............................................................................................ 24 2.5. Deferred Type Parameters............................................................................. 25 2.5.1. Typed Allocation................................................................................... 25 2.6. Arrays......................................................................................................26 2.6.1. Array Declaration Element....................................................................... 26 2.6.2. Deferred Shape Arrays............................................................................ 27 2.6.3. Subscripts............................................................................................27 2.6.4. Character Substring................................................................................27 2.6.5. Array Constructor Syntax......................................................................... 28 2.7. Fortran Pointers and Targets.......................................................................... 28 2.8. Fortran Binary, Octal and Hexadecimal Constants.................................................28 2.8.1. Octal and Hexadecimal Constants - Alternate Forms........................................ 29 2.9. Hollerith Constants......................................................................................30 2.10. Structures............................................................................................... 31 2.10.1. Records............................................................................................. 32 2.10.2. UNION and MAP Declarations................................................................... 33 2.10.3. Data Initialization................................................................................ 34 2.11. Pointer Variables....................................................................................... 35 2.11.1. Restrictions........................................................................................ 36 2.11.2. Pointer Assignment............................................................................... 36 Chapter 3. Fortran Statements.............................................................................. 38 3.1. Statement Format Overview.......................................................................... 38 3.1.1. Definition of Statement-related Terms.........................................................38 3.1.2. Origin of Statement............................................................................... 39 3.1.3. List-related Notation.............................................................................. 39 3.2. Fortran Statement Summary Table................................................................... 39 3.3. ACCEPT.................................................................................................... 44 3.4. ARRAY......................................................................................................45 Fortran Reference Guide Version 2020 | iii 3.5. BYTE....................................................................................................... 46 3.6. DECODE....................................................................................................47 3.7. DOUBLE COMPLEX....................................................................................... 48 3.8. DOUBLE
Recommended publications
  • Fortran Reference Guide
    FORTRAN REFERENCE GUIDE Version 2018 TABLE OF CONTENTS Preface............................................................................................................ xv Audience Description......................................................................................... xv Compatibility and Conformance to Standards............................................................ xv Organization................................................................................................... xvi Hardware and Software Constraints...................................................................... xvii Conventions................................................................................................... xvii Related Publications........................................................................................ xviii Chapter 1. Language Overview............................................................................... 1 1.1. Elements of a Fortran Program Unit.................................................................. 1 1.1.1. Fortran Statements................................................................................. 1 1.1.2. Free and Fixed Source............................................................................. 2 1.1.3. Statement Ordering................................................................................. 2 1.2. The Fortran Character Set.............................................................................. 3 1.3. Free Form Formatting..................................................................................
    [Show full text]
  • SPSS to Orthosim File Conversion Utility Helpfile V.1.4
    SPSS to Orthosim File Conversion Utility Helpfile v.1.4 Paul Barrett Advanced Projects R&D Ltd. Auckland New Zealand email: [email protected] Web: www.pbarrett.net 30th December, 2019 Contents 3 Table of Contents Part I Introduction 5 1 Installation Details ................................................................................................................................... 7 2 Extracting Matrices from SPSS - Cut and Paste ................................................................................................................................... 8 3 Extracting Matrices from SPSS: Orthogonal Factors - E.x..c..e..l. .E..x..p..o..r.t................................................................................................................. 17 4 Extracting Matrices from SPSS: Oblique Factors - Exce.l. .E..x..p..o..r..t...................................................................................................................... 24 5 Creating Orthogonal Factor Orthosim Files ................................................................................................................................... 32 6 Creating Oblique Factor Orthosim Files ................................................................................................................................... 41 3 Paul Barrett Part I 6 SPSS to Orthosim File Conversion Utility Helpfile v.1.4 1 Introduction SPSS-to-Orthosim converts SPSS 11/12/13/14 factor loading and factor correlation matrices into the fixed-format .vf (simple ASCII text) files
    [Show full text]
  • Design of 32 Bit Floating Point Addition and Subtraction Units Based on IEEE 754 Standard Ajay Rathor, Lalit Bandil Department of Electronics & Communication Eng
    International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 2 Issue 6, June - 2013 Design Of 32 Bit Floating Point Addition And Subtraction Units Based On IEEE 754 Standard Ajay Rathor, Lalit Bandil Department of Electronics & Communication Eng. Acropolis Institute of Technology and Research Indore, India Abstract Precision format .Single precision format, Floating point arithmetic implementation the most basic format of the ANSI/IEEE described various arithmetic operations like 754-1985 binary floating-point arithmetic addition, subtraction, multiplication, standard. Double precision and quad division. In science computation this circuit precision described more bit operation so at is useful. A general purpose arithmetic unit same time we perform 32 and 64 bit of require for all operations. In this paper operation of arithmetic unit. Floating point single precision floating point arithmetic includes single precision, double precision addition and subtraction is described. This and quad precision floating point format paper includes single precision floating representation and provide implementation point format representation and provides technique of various arithmetic calculation. implementation technique of addition and Normalization and alignment are useful for subtraction arithmetic calculations. Low operation and floating point number should precision custom format is useful for reduce be normalized before any calculation [3]. the associated circuit costs and increasing their speed. I consider the implementation ofIJERT IJERT2. Floating Point format Representation 32 bit addition and subtraction unit for floating point arithmetic. Floating point number has mainly three formats which are single precision, double Keywords: Addition, Subtraction, single precision and quad precision. precision, doubles precision, VERILOG Single Precision Format: Single-precision HDL floating-point format is a computer number 1.
    [Show full text]
  • Floating Point Representation (Unsigned) Fixed-Point Representation
    Floating point representation (Unsigned) Fixed-point representation The numbers are stored with a fixed number of bits for the integer part and a fixed number of bits for the fractional part. Suppose we have 8 bits to store a real number, where 5 bits store the integer part and 3 bits store the fractional part: 1 0 1 1 1.0 1 1 $ 2& 2% 2$ 2# 2" 2'# 2'$ 2'% Smallest number: Largest number: (Unsigned) Fixed-point representation Suppose we have 64 bits to store a real number, where 32 bits store the integer part and 32 bits store the fractional part: "# "% + /+ !"# … !%!#!&. (#(%(" … ("% % = * !+ 2 + * (+ 2 +,& +,# "# "& & /# % /"% = !"#× 2 +!"&× 2 + ⋯ + !&× 2 +(#× 2 +(%× 2 + ⋯ + ("%× 2 0 ∞ (Unsigned) Fixed-point representation Range: difference between the largest and smallest numbers possible. More bits for the integer part ⟶ increase range Precision: smallest possible difference between any two numbers More bits for the fractional part ⟶ increase precision "#"$"%. '$'#'( # OR "$"%. '$'#'(') # Wherever we put the binary point, there is a trade-off between the amount of range and precision. It can be hard to decide how much you need of each! Scientific Notation In scientific notation, a number can be expressed in the form ! = ± $ × 10( where $ is a coefficient in the range 1 ≤ $ < 10 and + is the exponent. 1165.7 = 0.0004728 = Floating-point numbers A floating-point number can represent numbers of different order of magnitude (very large and very small) with the same number of fixed bits. In general, in the binary system, a floating number can be expressed as ! = ± $ × 2' $ is the significand, normally a fractional value in the range [1.0,2.0) .
    [Show full text]
  • Floating Point Numbers and Arithmetic
    Overview Floating Point Numbers & • Floating Point Numbers Arithmetic • Motivation: Decimal Scientific Notation – Binary Scientific Notation • Floating Point Representation inside computer (binary) – Greater range, precision • Decimal to Floating Point conversion, and vice versa • Big Idea: Type is not associated with data • MIPS floating point instructions, registers CS 160 Ward 1 CS 160 Ward 2 Review of Numbers Other Numbers •What about other numbers? • Computers are made to deal with –Very large numbers? (seconds/century) numbers 9 3,155,760,00010 (3.1557610 x 10 ) • What can we represent in N bits? –Very small numbers? (atomic diameter) -8 – Unsigned integers: 0.0000000110 (1.010 x 10 ) 0to2N -1 –Rationals (repeating pattern) 2/3 (0.666666666. .) – Signed Integers (Two’s Complement) (N-1) (N-1) –Irrationals -2 to 2 -1 21/2 (1.414213562373. .) –Transcendentals e (2.718...), π (3.141...) •All represented in scientific notation CS 160 Ward 3 CS 160 Ward 4 Scientific Notation Review Scientific Notation for Binary Numbers mantissa exponent Mantissa exponent 23 -1 6.02 x 10 1.0two x 2 decimal point radix (base) “binary point” radix (base) •Computer arithmetic that supports it called •Normalized form: no leadings 0s floating point, because it represents (exactly one digit to left of decimal point) numbers where binary point is not fixed, as it is for integers •Alternatives to representing 1/1,000,000,000 –Declare such variable in C as float –Normalized: 1.0 x 10-9 –Not normalized: 0.1 x 10-8, 10.0 x 10-10 CS 160 Ward 5 CS 160 Ward 6 Floating
    [Show full text]
  • Floating Point Numbers Dr
    Numbers Representaion Floating point numbers Dr. Tassadaq Hussain Riphah International University Real Numbers • Two’s complement representation deal with signed integer values only. • Without modification, these formats are not useful in scientific or business applications that deal with real number values. • Floating-point representation solves this problem. Floating-Point Representation • If we are clever programmers, we can perform floating-point calculations using any integer format. • This is called floating-point emulation, because floating point values aren’t stored as such; we just create programs that make it seem as if floating- point values are being used. • Most of today’s computers are equipped with specialized hardware that performs floating-point arithmetic with no special programming required. —Not embedded processors! Floating-Point Representation • Floating-point numbers allow an arbitrary number of decimal places to the right of the decimal point. For example: 0.5 0.25 = 0.125 • They are often expressed in scientific notation. For example: 0.125 = 1.25 10-1 5,000,000 = 5.0 106 Floating-Point Representation • Computers use a form of scientific notation for floating-point representation • Numbers written in scientific notation have three components: Floating-Point Representation • Computer representation of a floating-point number consists of three fixed-size fields: • This is the standard arrangement of these fields. Note: Although “significand” and “mantissa” do not technically mean the same thing, many people use these terms interchangeably. We use the term “significand” to refer to the fractional part of a floating point number. Floating-Point Representation • The one-bit sign field is the sign of the stored value.
    [Show full text]
  • ILE C/C++ Programmer's Guide
    IBM i 7.2 Programming IBM Rational Development Studio for i ILE C/C++ Programmer's Guide IBM SC09-2712-07 Note Before using this information and the product it supports, read the information in “Notices” on page 441. This edition applies to version 7, release 2, modification 0 of IBM Rational Development Studio for i (product number 5770-WDS) and to all subsequent releases and modifications until otherwise indicated in new editions. This version does not run on all reduced instruction set computer (RISC) models nor does it run on CISC models. This document may contain references to Licensed Internal Code. Licensed Internal Code is Machine Code and is licensed to you under the terms of the IBM License Agreement for Machine Code. © Copyright International Business Machines Corporation 1993, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents ILE C/C++ Programmer’s Guide..............................................................................1 PDF file for ILE C/C++ Programmer’s Guide............................................................................................... 3 About ILE C/C++ Programmer's Guide........................................................................................................5 Install Licensed Program Information................................................................................................... 5 Notes About Examples..........................................................................................................................
    [Show full text]
  • A Decimal Floating-Point Speciftcation
    A Decimal Floating-point Specification Michael F. Cowlishaw, Eric M. Schwarz, Ronald M. Smith, Charles F. Webb IBM UK IBM Server Division P.O. Box 31, Birmingham Rd. 2455 South Rd., MS:P310 Warwick CV34 5JL. UK Poughkeepsie, NY 12601 USA [email protected] [email protected] Abstract ing is required. In the fixed point formats, rounding must be explicitly applied in software rather than be- Even though decimal arithmetic is pervasive in fi- ing provided by the hardware. To address these and nancial and commercial transactions, computers are other limitations, we propose implementing a decimal stdl implementing almost all arithmetic calculations floating-point format. But what should this format be? using binary arithmetic. As chip real estate becomes This paper discusses the issues of defining a decimal cheaper it is becoming likely that more computer man- floating-point format. ufacturers will provide processors with decimal arith- First, we consider the goals of the specification. It metic engines. Programming languages and databases must be compliant with standards already in place. are expanding the decimal data types available whale One standard we consider is the ANSI X3.274-1996 there has been little change in the base hardware. As (Programming Language REXX) [l]. This standard a result, each language and application is defining a contains a definition of an integrated floating-point and different arithmetic and few have considered the efi- integer decimal arithmetic which avoids the need for ciency of hardware implementations when setting re- two distinct data types and representations. The other quirements. relevant standard is the ANSI/IEEE 854-1987 (Radix- In this paper, we propose a decimal format which Independent Floating-point Arithmetic) [a].
    [Show full text]
  • Developing Embedded SQL Applications
    IBM DB2 10.1 for Linux, UNIX, and Windows Developing Embedded SQL Applications SC27-3874-00 IBM DB2 10.1 for Linux, UNIX, and Windows Developing Embedded SQL Applications SC27-3874-00 Note Before using this information and the product it supports, read the general information under Appendix B, “Notices,” on page 209. Edition Notice This document contains proprietary information of IBM. It is provided under a license agreement and is protected by copyright law. The information contained in this publication does not include any product warranties, and any statements provided in this manual should not be interpreted as such. You can order IBM publications online or through your local IBM representative. v To order publications online, go to the IBM Publications Center at http://www.ibm.com/shop/publications/ order v To find your local IBM representative, go to the IBM Directory of Worldwide Contacts at http://www.ibm.com/ planetwide/ To order DB2 publications from DB2 Marketing and Sales in the United States or Canada, call 1-800-IBM-4YOU (426-4968). When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. © Copyright IBM Corporation 1993, 2012. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Chapter 1. Introduction to embedded Include files for COBOL embedded SQL SQL................1 applications .............29 Embedding SQL statements
    [Show full text]
  • The UCSD P-System STATUT ORIL Y EX E:M PT
    DOCfi!D(ov~ by NSA on 12-01-2011, Transparency Case# 5335]UNCLASSIFIED The UCSD p-System STATUT ORIL Y EX E:M PT This paper discusses the UCSD p-System, an operating system for small computers developed at the University of California at San Diego. The discussion includes the overall system, file managing, editing, and programming in Pascal on the system. INTRODUCTION The UCSD p-System was developed at the University of California at San Diego to support Pascal programming on microcomputers. Similar to MS-DOS, the p-System is an operating system for small computers but is, in many ways, very different. The p-System is written in Pascal and now supports not only Pascal, but also FORTRAN, COBOL, BASIC, and Modula-2. The concept was to have an operating system that, once it was implemented on a machine, allowed any program written under that operating system to be truly transportable from computer to computer. That is to say, the p-System compiler would not actually translate the program into a language that was specific for, say, an 8088 chip on the IBM-PC, but rather would translate it into a "pseudo" language that, when used with an operating system designed for the PC, would run correctly. Similarly, if the operating system were implemented on a Digital Equipment Corporation (DEC) computer, this same pseudo code would still work properly with no modifications. The particular version of UCSD p-System tested was written for the IBM-PC and requires two single-sided double-density disk drives and at least 128K of memory.
    [Show full text]
  • A FORTRAN 77 Program for a Nonparametric Item Response Model: the Mokken Scale Analysis
    BehaviorResearch Methods, Instruments, & Computers 1988, 20 (5), 471-480 A FORTRAN 77 program for a nonparametric item response model: The Mokken scale analysis JOHANNES KINGMA University of Utah, Salt Lake City, Utah and TERRY TAERUM University ofAlberta, Edmonton, Alberta, Canada A nonparametric item response theory model-the Mokken scale analysis (a stochastic elabo­ ration of the deterministic Guttman scale}-and a computer program that performs this analysis are described. Three procedures of scaling are distinguished: a search procedure, an evaluation of the whole set of items, and an extension of an existing scale. All procedures provide a coeffi­ cient of scalability for all items that meet the criteria of the Mokken model and an item coeffi­ cient of scalability for every item. Four different types of reliability coefficient are computed both for the entire set of items and for the scalable items. A test of robustness of the found scale can be performed to analyze whether the scale is invariant across different subgroups or samples. This robustness test serves as a goodness offit test for the established scale. The program is writ­ ten in FORTRAN 77. Two versions are available, an SPSS-X procedure program (which can be used with the SPSS-X mainframe package) and a stand-alone program suitable for both main­ frame and microcomputers. The Mokken scale model is a stochastic elaboration of which both mainframe and MS-DOS versions are avail­ the well-known deterministic Guttman scale (Mokken, able. These programs, both named Mokscal, perform the 1971; Mokken & Lewis, 1982; Mokken, Lewis, & Mokken scale analysis. Before presenting a review of the Sytsma, 1986).
    [Show full text]
  • IBM 1401 System Summary
    File No. 1401-00 Form A24-1401-1 Systems Reference Library IBM 1401 System Summary This reference publication contains brief descriptions of the machine features, components, configurations, and special features. Also included is a section on pro­ grams and programming systems. Publications providing detailed information on sub­ jects discussed in this summary are listed in IB~I 1401 and 1460 Bibliography, Form A24-1495. Major Revision (September 1964) This publication, Form A24-1401-1, is a major revision of and obsoletes Form A24-1401-0. Significant changes have been made throughout the publication. Reprinted April 1966 Copies of this and other IBM publications can be obtained through IBM Branch Offices. Address comments concerning the content of this publication to IBM Product Publications, Endicott, New York 13764. Contents IBM 1401 System Summary . ........... 5 System Concepts . ................ 6 Card-Oriented System .... ......... 11 Physical Features. 11 Interleaving. .. .................................... 14 Data Flow.... ... ... ... ... .. ... ... .. ................... 14 Checking ................................................... 15 Word Mark.. ... ... ... ... ... ... .. ... ... ... ........... 15 Stored-Program Instructions. .................. 15 Operation Codes . .. 18 Editing. .. ............ 18 IBM 1401 Console ............................................ 19 IBM 1406 Storage Unit. ........................... 20 Magnetic-Tape-Oriented System . ........................... 22 Data Flow .................................................
    [Show full text]