• CSA ISO/IEC 10967-1:14 (R2019)

    Current The latest, up-to-date edition.

    Information technology - Language independent arithmetic - Part 1: Integer and floating point arithmetic (Adopted ISO/IEC 10967-1:2012, second edition, 2012-07-15)

    Available format(s):  Hardcopy, PDF

    Language(s):  English

    Published date:  01-01-2014

    Publisher:  Canadian Standards Association

    Add To Cart

    Table of Contents - (Show below) - (Hide below)

    Foreword
    Introduction
    1 Scope
    2 Conformity
    3 Normative references
    4 Symbols and definitions
    5 Specifications for integer and oating point datatypes
      and operations
    6 Notification
    7 Relationship with language standards
    8 Documentation requirements
    Annex A (informative) - Partial conformity
    Annex B (informative) - IEC 60559 bindings
    Annex C (informative) - Rationale
    Annex D (informative) - Example bindings for specific
            languages
    Annex E (informative) - Example of a conformity statement
    Annex F (informative) - Example programs
    Bibliography

    Abstract - (Show below) - (Hide below)

    CSA Preface Standards development within the Information Technology sector is harmonized with international standards development. Through the CSA Technical Committee on Information Technology (TCIT), Canadians serve as the Canadian Advisory Committee (CAC) on ISO/IEC Joint Technical Committee 1 on Information Technology (ISO/IEC JTC1) for the Standards Council of Canada (SCC), the ISO member body for Canada and sponsor of the Canadian National Committee of the IEC. Also, as a member of the International Telecommunication Union (ITU), Canada participates in the International Telegraph and Telephone Consultative Committee (ITU-T). For brevity, this Standard will be referred to as \"CAN/CSA-ISO/IEC 10967-1\" throughout. This Standard supersedes CAN/CSA-ISO/IEC 10967-1-96 (adoption of ISO/IEC 10967-1:1994). At the time of publication, ISO/IEC 10967-1:14 is available from ISO and IEC in English only. CSA Group will publish the French version when it becomes available from ISO and IEC. This Standard has been formally approved, without modification, by the Technical Committee and has been approved as a National Standard of Canada by the Standards Council of Canada. Scope This part of ISO/IEC 10967 specifies properties of many of the integer and floating point datatypes available in a variety of programming languages in common use for mathematical and numerical applications. It is not the purpose of this part of ISO/IEC 10967 to ensure that an arbitrary numerical function can be so encoded as to produce acceptable results on all conforming datatypes. Rather, the goal is to ensure that the properties of the arithmetic on a conforming datatype are made available to the programmer. Therefore, it is not reasonable to demand that a substantive piece of software run on every implementation that can claim conformity to this part of ISO/IEC 10967. An implementor may choose any combination of hardware and software support to meet the specifications of this part of ISO/IEC 10967. It is the datatypes and operations on values of those datatypes, of the computing environment as seen by the programmer/user, that does or does not conform to the specifications. The term implementation (of this part of ISO/IEC 10967) denotes the total computing environment pertinent to this part of ISO/IEC 10967, including hardware, language processors, subroutine libraries, exception handling facilities, other software, and documentation. 1.1 Inclusions This part of ISO/IEC 10967 provides specifications for properties of integer and floating point datatypes as well as basic operations on values of these datatypes. Specifications are included for bounded and unbounded integer datatypes, as well as floating point datatypes. Boundaries for the occurrence of exceptions and the maximum error allowed are prescribed for each specified operation. Also the result produced by giving a special value operand, such as an infinity or a NaN (not-a-number), is prescribed for each specifiedfloating point operation. This part of ISO/IEC 10967 provides specifications for: a) The set of required values of the arithmetic datatype. b) A number of arithmetic operations, including: 1) comparison operations on two operands of the same type 2) primitive operations (addition, subtraction, etc.) with operands of the same type 3) operations that access properties of individual values 4) conversion operations of a value from one arithmetic datatype to another arithmetic datatype, where at least one of the datatypes is conforming to this part of ISO/IEC 10967, and 5) numerals for all values specifed by this part of ISO/IEC 10967 for a conforming datatype. This part of ISO/IEC 10967 also provides specifications for: c) The results produced by an included floating point operation when one or more argument values are IEC 60559 special values. d) Program-visible parameters that characterise the values and certain aspects of the operations of an arithmetic datatype. e) Methods for reporting arithmetic exceptions. 1.2 Exclusions This part of ISO/IEC 10967 provides no specifications for: a) Arithmetic and comparison operations whose operands are of more than one datatype. This part of ISO/IEC 10967 neither requires nor excludes the presence of such \"mixed operand\" operations. b) An interval datatype, or the operations on such data. This part of ISO/IEC 10967 neither requires nor excludes such data or operations. c) A mixed point datatype, or the operations on such data. This part of ISO/IEC 10967 neither requires nor excludes such data or operations. d) A rational datatype, or the operations on such data. This part of ISO/IEC 10967 neither requires nor excludes such data or operations. e) The properties of arithmetic datatypes that are not related to the numerical process, such as the representation of values on physical media. f) The properties of integer and floating point datatypes that properly belong in programming language standards or other specifications. Examples include: 1) the syntax of numerals and expressions in the programming language, including the precedence of operators in the programming language 2) the syntax used for parsed (input) or generated (output) character string forms for numerals by any specific programming language or library 3) the presence or absence of automatic datatype coercions, and the consequences of applying an operation to values of improper type, or to uninitialized data 4) the rules for assignment, parameter passing, and returning value. NOTE { See Clause 7 and Annex D for a discussion of language standards and language bindings. The internal representation of values is beyond the scope of this standard. E.g., the value of the exponent bias, if any, is not specified, nor available as a parameter specified by this part of ISO/IEC 10967. Internal representations need not be unique, nor is there a requirement for identifiable fields (for sign, exponent, and so on). Furthermore, this part of ISO/IEC 10967 does not provide specifications for how the operations should be implemented or which algorithms are to be used for the various operations.

    Scope - (Show below) - (Hide below)

    CSA Preface Standards development within the Information Technology sector is harmonized with international standards development. Through the CSA Technical Committee on Information Technology (TCIT), Canadians serve as the Canadian Advisory Committee (CAC) on ISO/IEC Joint Technical Committee 1 on Information Technology (ISO/IEC JTC1) for the Standards Council of Canada (SCC), the ISO member body for Canada and sponsor of the Canadian National Committee of the IEC. Also, as a member of the International Telecommunication Union (ITU), Canada participates in the International Telegraph and Telephone Consultative Committee (ITU-T). For brevity, this Standard will be referred to as \"CAN/CSA-ISO/IEC 10967-1\" throughout. This Standard supersedes CAN/CSA-ISO/IEC 10967-1-96 (adoption of ISO/IEC 10967-1:1994). At the time of publication, ISO/IEC 10967-1:14 is available from ISO and IEC in English only. CSA Group will publish the French version when it becomes available from ISO and IEC. This Standard has been formally approved, without modification, by the Technical Committee and has been approved as a National Standard of Canada by the Standards Council of Canada. Scope This part of ISO/IEC 10967 specifies properties of many of the integer and floating point datatypes available in a variety of programming languages in common use for mathematical and numerical applications. It is not the purpose of this part of ISO/IEC 10967 to ensure that an arbitrary numerical function can be so encoded as to produce acceptable results on all conforming datatypes. Rather, the goal is to ensure that the properties of the arithmetic on a conforming datatype are made available to the programmer. Therefore, it is not reasonable to demand that a substantive piece of software run on every implementation that can claim conformity to this part of ISO/IEC 10967. An implementor may choose any combination of hardware and software support to meet the specifications of this part of ISO/IEC 10967. It is the datatypes and operations on values of those datatypes, of the computing environment as seen by the programmer/user, that does or does not conform to the specifications. The term implementation (of this part of ISO/IEC 10967) denotes the total computing environment pertinent to this part of ISO/IEC 10967, including hardware, language processors, subroutine libraries, exception handling facilities, other software, and documentation. 1.1 Inclusions This part of ISO/IEC 10967 provides specifications for properties of integer and floating point datatypes as well as basic operations on values of these datatypes. Specifications are included for bounded and unbounded integer datatypes, as well as floating point datatypes. Boundaries for the occurrence of exceptions and the maximum error allowed are prescribed for each specified operation. Also the result produced by giving a special value operand, such as an infinity or a NaN (not-a-number), is prescribed for each specifiedfloating point operation. This part of ISO/IEC 10967 provides specifications for: a) The set of required values of the arithmetic datatype. b) A number of arithmetic operations, including: 1) comparison operations on two operands of the same type 2) primitive operations (addition, subtraction, etc.) with operands of the same type 3) operations that access properties of individual values 4) conversion operations of a value from one arithmetic datatype to another arithmetic datatype, where at least one of the datatypes is conforming to this part of ISO/IEC 10967, and 5) numerals for all values specifed by this part of ISO/IEC 10967 for a conforming datatype. This part of ISO/IEC 10967 also provides specifications for: c) The results produced by an included floating point operation when one or more argument values are IEC 60559 special values. d) Program-visible parameters that characterise the values and certain aspects of the operations of an arithmetic datatype. e) Methods for reporting arithmetic exceptions. 1.2 Exclusions This part of ISO/IEC 10967 provides no specifications for: a) Arithmetic and comparison operations whose operands are of more than one datatype. This part of ISO/IEC 10967 neither requires nor excludes the presence of such \"mixed operand\" operations. b) An interval datatype, or the operations on such data. This part of ISO/IEC 10967 neither requires nor excludes such data or operations. c) A mixed point datatype, or the operations on such data. This part of ISO/IEC 10967 neither requires nor excludes such data or operations. d) A rational datatype, or the operations on such data. This part of ISO/IEC 10967 neither requires nor excludes such data or operations. e) The properties of arithmetic datatypes that are not related to the numerical process, such as the representation of values on physical media. f) The properties of integer and floating point datatypes that properly belong in programming language standards or other specifications. Examples include: 1) the syntax of numerals and expressions in the programming language, including the precedence of operators in the programming language 2) the syntax used for parsed (input) or generated (output) character string forms for numerals by any specific programming language or library 3) the presence or absence of automatic datatype coercions, and the consequences of applying an operation to values of improper type, or to uninitialized data 4) the rules for assignment, parameter passing, and returning value. NOTE { See Clause 7 and Annex D for a discussion of language standards and language bindings. The internal representation of values is beyond the scope of this standard. E.g., the value of the exponent bias, if any, is not specified, nor available as a parameter specified by this part of ISO/IEC 10967. Internal representations need not be unique, nor is there a requirement for identifiable fields (for sign, exponent, and so on). Furthermore, this part of ISO/IEC 10967 does not provide specifications for how the operations should be implemented or which algorithms are to be used for the various operations.

    General Product Information - (Show below) - (Hide below)

    Document Type Standard
    Publisher Canadian Standards Association
    Status Current
    Supersedes

    Standards Referencing This Book - (Show below) - (Hide below)

    ISO/IEC 15145:1997 Information technology Programming languages FORTH
    ISO/IEC 16262:2011 Information technology Programming languages, their environments and system software interfaces ECMAScript language specification
    ISO/IEC TR 10176:2003 Information technology Guidelines for the preparation of programming language standards
    ISO/IEC 10646:2014 Information technology Universal Coded Character Set (UCS)
    ISO/IEC 10514-2:1998 Information technology Programming languages Part 2: Generics Modula-2
    ISO/IEC 6522:1992 Information technology Programming languages PL/1 general purpose subset
    ISO 7185:1990 Information technology Programming languages Pascal
    ISO/IEC 13886:1996 Information technology Language-Independent Procedure Calling (LIPC)
    ISO/IEC 10967-3:2006 Information technology Language independent arithmetic Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions
    IEC 60559:1989 Binary floating-point arithmetic for microprocessor systems
    ISO/IEC 13211-1:1995 Information technology Programming languages Prolog Part 1: General core
    ISO/IEC 14598-1:1999 Information technology Software product evaluation Part 1: General overview
    ISO/IEC 1989:2014 Information technology — Programming languages, their environments and system software interfaces — Programming language COBOL
    ISO/IEC 9126:1991 Software enginnering Product quality
    ISO 6093:1985 Information processing Representation of numerical values in character strings for information interchange
    ISO/IEC 13751:2001 Information technology Programming languages, their environments and system software interfaces Programming language Extended APL
    ISO/IEC TR 24732:2009 Information technology Programming languages, their environments and system software interfaces Extension for the programming language C to support decimal floating-point arithmetic
    ISO/IEC 10206:1991 Information technology Progamming languages Extended Pascal
    ISO 8485:1989 Programming languages APL
    ISO/IEC 11404:2007 Information technology — General-Purpose Datatypes (GPD)
    ANSI INCITS 113 : 1987 INFORMATION SYSTEMS - PROGRAMMING LANGUAGE - FULL BASIC
    ISO/IEC 1539-1:2010 Information technology Programming languages Fortran Part 1: Base language
    ISO/IEC 9899:2011 Information technology Programming languages C
    ISO 9001:2015 Quality management systems — Requirements
    ISO/IEC TR 10182:2016 Information technology Programming languages, their environments and system software interfaces Guidelines for language bindings
    ISO/IEC 10514-1:1996 Information technology — Programming languages — Part 1: Modula-2, Base Language
    ISO/IEC 8824-1:2015 Information technology Abstract Syntax Notation One (ASN.1): Specification of basic notation Part 1:
    ISO/IEC 10967-2:2001 Information technology — Language independent arithmetic — Part 2: Elementary numerical functions
    ISO 6160:1979 Programming languages PL/1
    ISO/IEC 13816:2007 Information technology Programming languages, their environments and system software interfaces Programming language ISLISP
    IEEE 754-2008 REDLINE IEEE Standard for Floating-Point Arithmetic
    ISO/IEC 8652:2012 Information technology — Programming languages — Ada
    • Access your standards online with a subscription

      Features

      • Simple online access to standards, technical information and regulations
      • Critical updates of standards and customisable alerts and notifications
      • Multi - user online standards collection: secure, flexibile and cost effective