Numerical Computation Guide

Total Page:16

File Type:pdf, Size:1020Kb

Numerical Computation Guide Numerical Computation Guide Sun™ Studio 9 Sun Microsystems, Inc. www.sun.com Part No. 817-6702-10 July 2004, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright © 2004 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. Use is subject to license terms. This distribution may include materials developed by third parties. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and in other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, Java, and JavaHelp are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon architecture developed by Sun Microsystems, Inc. This product is covered and controlled by U.S. Export Control laws and may be subject to the export or import laws in other countries. Nuclear, missile, chemical biological weapons or nuclear maritime end uses or end users, whether direct or indirect, are strictly prohibited. Export or reexport to countries subject to U.S. embargo or to entities identified on U.S. export exclusion lists, including, but not limited to, the denied persons and specially designated nationals lists is strictly prohibited. DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. Copyright © 2004 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, Etats-Unis. Tous droits réservés. L’utilisation est soumise aux termes de la Licence. Cette distribution peut comprendre des composants développés par des tierces parties. Des parties de ce produit pourront être dérivées des systèmes Berkeley BSD licenciés par l’Université de Californie. UNIX est une marque déposée aux Etats-Unis et dans d’autres pays et licenciée exclusivement par X/Open Company, Ltd. Sun, Sun Microsystems, le logo Sun, Java, et JavaHelp sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d’autres pays.Toutes les marques SPARC sont utilisées sous licence et sont des marques de fabrique ou des marques déposées de SPARC International, Inc. aux Etats-Unis et dans d’autres pays. Les produits portant les marques SPARC sont basés sur une architecture développée par Sun Microsystems, Inc. Ce produit est soumis à la législation américaine en matière de contrôle des exportations et peut être soumis à la règlementation en vigueur dans d’autres pays dans le domaine des exportations et importations. Les utilisations, ou utilisateurs finaux, pour des armes nucléaires,des missiles, des armes biologiques et chimiques ou du nucléaire maritime, directement ou indirectement, sont strictement interdites. Les exportations ou réexportations vers les pays sous embargo américain, ou vers des entités figurant sur les listes d’exclusion d’exportation américaines, y compris, mais de manière non exhaustive, la liste de personnes qui font objet d’un ordre de ne pas participer, d’une façon directe ou indirecte, aux exportations des produits ou des services qui sont régis par la législation américaine en matière de contrôle des exportations et la liste de ressortissants spécifiquement désignés, sont rigoureusement interdites. LA DOCUMENTATION EST FOURNIE "EN L’ÉTAT" ET TOUTES AUTRES CONDITIONS, DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT EXCLUES, DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS NOTAMMENT TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A L’APTITUDE A UNE UTILISATION PARTICULIERE OU A L’ABSENCE DE CONTREFAÇON. Contents Before You Begin xiii Who Should Use This Book xiii How This Book Is Organized xiii Typographic Conventions xiv Shell Prompts xv Accessing Sun Studio Software and Man Pages xv Accessing Compilers and Tools Documentation xviii Accessing Related Solaris Documentation xx Resources for Developers xx Contacting Sun Technical Support xxi Sun Welcomes Your Comments xxi 1. Introduction 1–1 1.1 Floating-Point Environment 1–1 2. IEEE Arithmetic 2–1 2.1 IEEE Arithmetic Model 2–1 2.1.1 What Is IEEE Arithmetic? 2–1 2.2 IEEE Formats 2–3 2.2.1 Storage Formats 2–3 iii 2.2.2 Single Format 2–3 2.2.3 Double Format 2–6 2.2.4 Double-Extended Format (SPARC) 2–8 2.2.5 Double-Extended Format (x86) 2–11 2.2.6 Ranges and Precisions in Decimal Representation 2–14 2.2.7 Base Conversion in the Solaris Environment 2–17 2.3 Underflow 2–18 2.3.1 Underflow Thresholds 2–19 2.3.2 How Does IEEE Arithmetic Treat Underflow? 2–19 2.3.3 Why Gradual Underflow? 2–20 2.3.4 Error Properties of Gradual Underflow 2–21 2.3.5 Two Examples of Gradual Underflow Versus Store 0 2–24 2.3.6 Does Underflow Matter? 2–25 3. The Math Libraries 3–1 3.1 Standard Math Library 3–1 3.2 Additional Math Libraries 3–2 3.2.1 Sun Math Library 3–2 3.2.2 Optimized Libraries 3–4 3.2.3 Vector Math Library (SPARC only) 3–5 3.2.4 libm9x Math Library 3–6 3.3 Single, Double, and Long Double Precision 3–8 3.4 IEEE Support Functions 3–9 3.4.1 ieee_functions(3m) and ieee_sun(3m) 3–9 3.4.2 ieee_values(3m) 3–11 3.4.3 ieee_flags(3m) 3–13 3.4.4 ieee_retrospective(3m) 3–15 3.4.5 nonstandard_arithmetic(3m) 3–17 3.5 C99 Floating Point Environment Functions 3–17 iv Numerical Computation Guide • July 2004 3.5.1 Exception Flag Functions 3–18 3.5.2 Rounding Control 3–18 3.5.3 Environment Functions 3–19 3.6 Implementation Features of libm and libsunmath 3–20 3.6.1 About the Algorithms 3–21 3.6.2 Argument Reduction for Trigonometric Functions 3–21 3.6.3 Data Conversion Routines 3–22 3.6.4 Random Number Facilities 3–22 4. Exceptions and Exception Handling 4–1 4.1 What Is an Exception? 4–2 4.1.1 Notes for Table 4-1 4–4 4.2 Detecting Exceptions 4–5 4.2.1 ieee_flags(3m) 4–5 4.2.2 C99 Exception Flag Functions 4–8 4.3 Locating an Exception 4–9 4.3.1 Using the Debuggers to Locate an Exception 4–10 4.3.2 Using a Signal Handler to Locate an Exception 4–18 4.3.3 Using libm9x.so Exception Handling Extensions to Locate an Exception 4–24 4.4 Handling Exceptions 4–31 A. Examples A–1 A.1 IEEE Arithmetic A–1 A.2 The Math Libraries A–3 A.2.1 Random Number Generator A–3 A.2.2 IEEE Recommended Functions A–6 A.2.3 IEEE Special Values A–10 A.2.4 ieee_flags — Rounding Direction A–12 A.2.5 C99 Floating Point Environment Functions A–14 Contents v A.3 Exceptions and Exception Handling A–19 A.3.1 ieee_flags — Accrued Exceptions A–19 A.3.2 ieee_handler — Trapping Exceptions A–22 A.3.3 ieee_handler — Abort on Exceptions A–31 A.3.4 libm9x.so Exception Handling Features A–31 A.3.5 Using libm9x.so With Fortran Programs A–38 A.4 Miscellaneous A–42 A.4.1 sigfpe — Trapping Integer Exceptions A–42 A.4.2 Calling Fortran From C A–43 A.4.3 Useful Debugging Commands A–47 B. SPARC Behavior and Implementation B–1 B.1 Floating-Point Hardware B–1 B.1.1 Floating-Point Status Register and Queue B–4 B.1.2 Special Cases Requiring Software Support B–6 B.2 fpversion(1) Function — Finding Information About the FPU B–11 C. x86 Behavior and Implementation C–1 D. What Every Computer Scientist Should Know About Floating-Point Arithmetic D–1 D.1 Abstract D–1 D.2 Introduction D–2 D.3 Rounding Error D–2 D.3.1 Floating-point Formats D–3 D.3.2 Relative Error and Ulps D–5 D.3.3 Guard Digits D–6 D.3.4 Cancellation D–8 D.3.5 Exactly Rounded Operations D–13 D.4 The IEEE Standard D–16 vi Numerical Computation Guide • July 2004 D.4.1 Formats and Operations D–17 D.4.2 Special Quantities D–22 D.4.3 NaNs D–23 D.4.4 Exceptions, Flags and Trap Handlers D–29 D.5 Systems Aspects D–34 D.5.1 Instruction Sets D–34 D.5.2 Languages and Compilers D–36 D.5.3 Exception Handling D–44 D.6 The Details D–45 D.6.1 Rounding Error D–46 D.6.2 Binary to Decimal Conversion D–55 D.6.3 Errors In Summation D–56 D.7 Summary D–58 D.8 Acknowledgments D–58 D.9 References D–59 D.10 Theorem 14 and Theorem 8 D–61 D.10.1 Theorem 14 D–61 D.10.2 Proof D–61 D.11 Differences Among IEEE 754 Implementations D–65 D.11.1 Current IEEE 754 Implementations D–67 D.11.2 Pitfalls in Computations on Extended-Based Systems D–68 D.11.3 Programming Language Support for Extended Precision D–74 D.11.4 Conclusion D–78 E.
Recommended publications
  • IEEE Standard 754 for Binary Floating-Point Arithmetic
    Work in Progress: Lecture Notes on the Status of IEEE 754 October 1, 1997 3:36 am Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic Prof. W. Kahan Elect. Eng. & Computer Science University of California Berkeley CA 94720-1776 Introduction: Twenty years ago anarchy threatened floating-point arithmetic. Over a dozen commercially significant arithmetics boasted diverse wordsizes, precisions, rounding procedures and over/underflow behaviors, and more were in the works. “Portable” software intended to reconcile that numerical diversity had become unbearably costly to develop. Thirteen years ago, when IEEE 754 became official, major microprocessor manufacturers had already adopted it despite the challenge it posed to implementors. With unprecedented altruism, hardware designers had risen to its challenge in the belief that they would ease and encourage a vast burgeoning of numerical software. They did succeed to a considerable extent. Anyway, rounding anomalies that preoccupied all of us in the 1970s afflict only CRAY X-MPs — J90s now. Now atrophy threatens features of IEEE 754 caught in a vicious circle: Those features lack support in programming languages and compilers, so those features are mishandled and/or practically unusable, so those features are little known and less in demand, and so those features lack support in programming languages and compilers. To help break that circle, those features are discussed in these notes under the following headings: Representable Numbers, Normal and Subnormal, Infinite
    [Show full text]
  • Introduction to Python
    Introduction to Python Wei Feinstein HPC User Services LSU HPC & LONI [email protected] Louisiana State University March, 2017 Introduction to Python Overview • What is Python • Python programming basics • Control structures, functions • Python modules, classes • Plotting with Python Introduction to Python What is Python? • A general-purpose programming language (1980) by Guido van Rossum • Intuitive and minimalistic coding • Dynamically typed • Automatic memory management • Interpreted not compiled Introduction to Python 3 Why Python? Advantages • Ease of programming • Minimizes the time to develop and maintain code • Modular and object-oriented • Large standard and user-contributed libraries • Large community of users Disadvantages • Interpreted and therefore slower than compiled languages • Not great for 3D graphic applications requiring intensive compuations Introduction to Python 4 Code Performance vs. Development Time Python C/C++ Assembly Introduction to Python 5 Python 2.x vs 3.x • Final Python 2.x is 2.7 (2010) • First Python 3.x is 3.0 (2008) • Major cleanup to better support Unicode data formats in Python 3.x • Python 3 not backward-compatible with Python 2 • Rich packages available for Python 2z $ python -- version Introduction to Python 6 IPython • Python: a general-purpose programming language (1980) • IPython: an interactive command shell for Python (2001) by Fernando Perez • Enhanced Read-Eval-Print Loop (REPL) environment • Command tab-completion, color-highlighted error messages.. • Basic Linux shell integration (cp, ls, rm…) • Great for plotting! http://ipython.org Introduction to Python 7 Jupyter Notebook IPython introduced a new tool Notebook (2011) • Bring modern and powerful web interface to Python • Rich text, improved graphical capabilities • Integrate many existing web libraries for data visualization • Allow to create and share documents that contain live code, equations, visualizations and explanatory text.
    [Show full text]
  • Supplementary Materials
    Contents 2 Programming Language Syntax C 1 2.3.5 Syntax Errors C 1 2.4 Theoretical Foundations C 13 2.4.1 Finite Automata C 13 2.4.2 Push-Down Automata C 18 2.4.3 Grammar and Language Classes C 19 2.6 Exercises C 24 2.7 Explorations C 25 3 Names, Scopes, and Bindings C 26 3.4 Implementing Scope C 26 3.4.1 Symbol Tables C 26 3.4.2 Association Lists and Central Reference Tables C 31 3.8 Separate Compilation C 36 3.8.1 Separate Compilation in C C 37 3.8.2 Packages and Automatic Header Inference C 40 3.8.3 Module Hierarchies C 41 3.10 Exercises C 42 3.11 Explorations C 44 4SemanticAnalysis C 45 4.5 Space Management for Attributes C 45 4.5.1 Bottom-Up Evaluation C 45 4.5.2 Top-Down Evaluation C 50 C ii Contents 4.8 Exercises C 57 4.9 Explorations C 59 5 Target Machine Architecture C 60 5.1 The Memory Hierarchy C 61 5.2 Data Representation C 63 5.2.1 Integer Arithmetic C 65 5.2.2 Floating-Point Arithmetic C 67 5.3 Instruction Set Architecture (ISA) C 70 5.3.1 Addressing Modes C 71 5.3.2 Conditions and Branches C 72 5.4 Architecture and Implementation C 75 5.4.1 Microprogramming C 76 5.4.2 Microprocessors C 77 5.4.3 RISC C 77 5.4.4 Multithreading and Multicore C 78 5.4.5 Two Example Architectures: The x86 and ARM C 80 5.5 Compiling for Modern Processors C 88 5.5.1 Keeping the Pipeline Full C 89 5.5.2 Register Allocation C 93 5.6 Summary and Concluding Remarks C 98 5.7 Exercises C 100 5.8 Explorations C 104 5.9 Bibliographic Notes C 105 6 Control Flow C 107 6.5.4 Generators in Icon C 107 6.7 Nondeterminacy C 110 6.9 Exercises C 116 6.10 Explorations
    [Show full text]
  • Introduction to Programming CSC 103
    COURSE MANUAL Introduction to Programming CSC 103 University of Ibadan Distance Learning Centre Open and Distance Learning Course Series Development Copyright © 2016 by Distance Learning Centre, University of Ibadan, Ibadan. 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, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owner. ISBN: 978-021-592-1 General Editor: Prof. Bayo Okunade University of Ibadan Distance Learning Centre University of Ibadan, Nigeria Telex: 31128NG Tel: +234 (80775935727) E-mail: [email protected] Website: www.dlc.ui.edu.ng Vice-Chancellor’s Message The Distance Learning Centre is building on a solid tradition of over two decades of service in the provision of External Studies Programme and now Distance Learning Education in Nigeria and beyond. The Distance Learning mode to which we are committed is providing access to many deserving Nigerians in having access to higher education especially those who by the nature of their engagement do not have the luxury of full time education. Recently, it is contributing in no small measure to providing places for teeming Nigerian youths who for one reason or the other could not get admission into the conventional universities. These course materials have been written by writers specially trained in ODL course delivery. The writers have made great efforts to provide up to date information, knowledge and skills in the different disciplines and ensure that the materials are user-friendly. In addition to provision of course materials in print and e-format, a lot of Information Technology input has also gone into the deployment of course materials.
    [Show full text]
  • Floating Point Exception Tracking and NAN Propagation
    Floating point exception tracking and NAN propagation By Agner Fog. Technical University of Denmark. © 2018-2020 CC-BY. Last updated 2020-04-27. Abstract The most common methods for detecting floating point errors are based on exception trapping or a global status register. These methods are inefficient in modern systems that use out-of-order parallelism and single-instruction-multiple-data (SIMD) parallelism for improving performance. It is argued that a method based on NAN propagation is more efficient and deterministic. Problems with NAN propagation in current systems are discussed. Examples of implementation in the C++ vector class library and in an experimental instruction set named ForwardCom are presented. The IEEE-754 standard for floating point arithmetic may need adjustment to accommodate the needs of modern forms of parallelism. Contents 1 Introduction ....................................................................................................................... 1 2 Exception trapping ............................................................................................................. 2 3 Using a status register ....................................................................................................... 3 4 Using errno ........................................................................................................................ 3 5 Parallel error detection ...................................................................................................... 3 6 Propagation of INF and NAN
    [Show full text]
  • The Multiple Precision Integers and Rationals Library Edition 1.0
    MPIR The Multiple Precision Integers and Rationals Library Edition 1.0 8 April 2009 This manual describes how to install and use MPIR, the Multiple Precision Integers and Ratio- nals library, version 1.0. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Copyright 2008 William Hart Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 121. i Table of Contents MPIR Copying Conditions ................................. 1 1 Introduction to MPIR .................................. 2 1.1 How to use this Manual ........................................................ 2 2 Installing MPIR........................................ 3 2.1 Build Options ................................................................. 3 2.2 ABI and ISA.................................................................. 8 2.3 Notes for Package Builds ...................................................... 11 2.4 Notes for Particular Systems .................................................. 12 2.5 Known Build Problems ....................................................... 14 2.6
    [Show full text]
  • Julia Language Documentation Release Development
    Julia Language Documentation Release development Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman, et al. February 02, 2013 CONTENTS 1 The Julia Manual 1 1.1 Introduction...............................................1 1.2 Getting Started..............................................2 1.3 Integers and Floating-Point Numbers..................................4 1.4 Mathematical Operations......................................... 11 1.5 Complex and Rational Numbers..................................... 16 1.6 Strings.................................................. 20 1.7 Functions................................................. 31 1.8 Control Flow............................................... 37 1.9 Variables and Scoping.......................................... 47 1.10 Types................................................... 51 1.11 Methods................................................. 65 1.12 Constructors............................................... 71 1.13 Conversion and Promotion........................................ 78 1.14 Arrays.................................................. 83 1.15 Sparse Matrices............................................. 88 1.16 Modules................................................. 90 1.17 Running External Programs....................................... 92 1.18 Metaprogramming............................................ 97 1.19 Parallel Computing............................................ 104 1.20 Calling C and Fortran Code....................................... 109 1.21 Performance Tips............................................
    [Show full text]
  • Beej's Guide to C Programming
    Beej’s Guide to C Programming Brian “Beej Jorgensen” Hall v0.6.30, Copyright © September 27, 2021 Contents 1 Foreword 1 1.1 Audience ........................................ 1 1.2 Platform and Compiler ................................. 1 1.3 Official Homepage ................................... 2 1.4 Email Policy ...................................... 2 1.5 Mirroring ........................................ 2 1.6 Note for Translators .................................. 2 1.7 Copyright and Distribution ............................... 2 2 Hello, World! 5 2.1 What to Expect from C ................................. 5 2.2 Hello, World! ...................................... 6 2.3 Compilation Details .................................. 7 2.4 Building with gcc ................................... 8 2.5 Building with clang .................................. 8 2.6 Building from IDEs ................................... 8 2.7 C Versions ....................................... 9 3 Variables and Statements 11 3.1 Variables ........................................ 11 3.1.1 Variable Names ................................. 11 3.1.2 Variable Types .................................. 12 3.1.3 Boolean Types .................................. 13 3.2 Operators and Expressions ............................... 14 3.2.1 Arithmetic .................................... 14 3.2.2 Ternary Operator ................................. 14 3.2.3 Pre-and-Post Increment-and-Decrement ..................... 15 3.2.4 The Comma Operator .............................. 15 3.2.5 Conditional
    [Show full text]
  • Python Tutorial by Bernd Klein
    Python Tutorial by Bernd Klein bodenseo © 2021 Bernd Klein All rights reserved. No portion of this book may be reproduced or used in any manner without written permission from the copyright owner. For more information, contact address: [email protected] www.python-course.eu Python Course Python Tutorial by Bernd Klein Strings.......................................................................................................................................10 Execute a Python script ............................................................................................................11 Start a Python program.............................................................................................................12 Loops ......................................................................................................................................136 Iterators and Iterables .............................................................................................................150 Coffee, Dictionary and a Loop ...............................................................................................171 Parameters and Arguments.....................................................................................................226 Global, Local and nonlocal Variables.....................................................................................237 Regular Expressions ...............................................................................................................305 Lambda, filter, reduce
    [Show full text]
  • Introduction to Javascript
    JavaScript (Part 1) “The” language of the Web Enrico Masala Fulvio Corno Applicazioni Web I - Web Applications I - 2019/2020 https://www.codemio.com/2016/09/html5-css3-javascript-cheat-sheets.html 2 Applicazioni Web I - Web Applications I - 2019/2020 Goal • Learn JavaScript as a language • Understand the specific semantics and programming patterns – We assume a programming knowledge in other languages • Updated to ES6 (2015) language features • Supported by server-side (Node.js) and client-side (browsers) run-time environments 3 Applicazioni Web I - Web Applications I - 2019/2020 Outline • What is JavaScript? • History and versions • Language structure • Types, variables • Expressions • Control structures • Arrays • Strings 4 Applicazioni Web I - Web Applications I - 2019/2020 JavaScript – The language of the Web WHAT IS JAVASCRIPT? 5 Applicazioni Web I - Web Applications I - 2019/2020 source: https://octoverse.github.com/#top-languages 6 Applicazioni Web I - Web Applications I - 2019/2020 JavaScript • JavaScript (JS) is a programming language • It is currently the only programming language that a browser can execute natively… • … and it also run on a computer, like other programming languages (thanks to Node.js) • It has nothing to do with Java – named that way for marketing reasons, only • The first version was written in 10 days (!) – several fundamental language decisions were made because of company politics and not technical reasons! 7 Applicazioni Web I - Web Applications I - 2019/2020 JavaScript – The language of the Web HISTORY AND VERSIONS 8 Applicazioni Web I - Web Applications I - 2019/2020 https://www.ecma-international.org/ecma-262/ Brendan Eich 10 yrs Main Also: ES2015 target Also: ES2016 ES9, Also: ES2017 ES10, … 9 Applicazioni Web I - Web Applications I - 2019/2020 https://www.slideshare.net/RafaelCasusoRomate/javascript-editions-es7-es8-and-es9-vs-v8 JavaScript versions • ECMAScript (also called ES) is the official name of JavaScript (JS) standard • ES6, ES2015, ES2016 etc.
    [Show full text]
  • Programming in Python 3
    Programming in Python 3 A Complete Introduction to the Python Language Second Edition Mark Summerfield Upper Saddle River, NJ · Boston · Indianapolis · San Francisco New York · Toronto · Montreal · London · Munich · Paris · Madrid Capetown · Sydney · Tokyo · Singapore · Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside the United States, please contact: International Sales [email protected] Visit us on the Web: informit.com/aw Library of Congress Cataloging-in-Publication Data Summerfield, Mark. Programming in Python 3 : a complete introduction to the Python language / Mark Summerfield.—2nd ed. p. cm. Includes bibliographical references and index. ISBN 978-0-321-68056-3 (pbk. : alk. paper) 1. Python (Computer program language) 2.
    [Show full text]
  • In the GNU Fortran Compiler
    Using GNU Fortran For gcc version 11.1.0 (GCC) The gfortran team Published by the Free Software Foundation 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA Copyright c 1999-2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being \Funding Free Software", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled \GNU Free Documentation License". (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents 1 Introduction ::::::::::::::::::::::::::::::::::::::::: 1 Invoking GNU Fortran 2 GNU Fortran Command Options :::::::::::::::::::::::: 7 3 Runtime: Influencing runtime behavior with environment variables ::::::::::::::::::::::::::::::::::::::::::: 33 Language Reference 4 Fortran standards status :::::::::::::::::::::::::::::: 39 5 Compiler Characteristics :::::::::::::::::::::::::::::: 45 6 Extensions :::::::::::::::::::::::::::::::::::::::::: 51 7 Mixed-Language Programming ::::::::::::::::::::::::: 73 8 Coarray Programming :::::::::::::::::::::::::::::::: 89 9 Intrinsic Procedures ::::::::::::::::::::::::::::::::: 113 10 Intrinsic
    [Show full text]