_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

ISO/IEC 10967

In this article, we will address the topic of ISO/IEC 10967 in depth, with the aim of providing our readers with a broad and detailed view on this matter. With the passage of time, ISO/IEC 10967 has become increasingly relevant in today's society, sparking great interest and debate among experts and the general public. From its beginnings to the present, ISO/IEC 10967 has generated numerous conflicting opinions, which is why in this article we will focus on analyzing and exposing the different perspectives that exist around this topic, in order to offer our readers a complete and objective vision. .

ISO/IEC 10967, Language independent arithmetic (LIA), is a series of standards on computer arithmetic. It is compatible with ISO/IEC/IEEE 60559:2011, more known as IEEE 754-2008, and much of the specifications are for IEEE 754 special values (though such values are not required by LIA itself, unless the parameter iec559 is true). It was developed by the working group ISO/IEC JTC1/SC22/WG11, which was disbanded in 2011.

LIA consists of three parts:

  • Part 1: Integer and floating point arithmetic, second edition published 2012.
  • Part 2: Elementary numerical functions, first edition published 2001.
  • Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions, first edition published 2006.

Parts

Part 1

Part 1 deals with the basic integer and floating point datatypes (for multiple radices, including 2 and 10), but unlike IEEE 754-2008 not the representation of the values. Part 1 also deals with basic arithmetic, including comparisons, on values of such datatypes. The parameter iec559 is expected to be true for most implementations of LIA-1.

Part 1 was revised, to the second edition, to become more in line with the specifications in parts 2 and 3.

Part 2

Part 2 deals with some additional "basic" operations on integer and floating point datatype values, but focuses primarily on specifying requirements on numerical versions of elementary functions. Much of the specifications in LIA-2 are inspired by the specifications in Ada for elementary functions.

Part 3

Part 3 generalizes parts 1 and 2 to deal with imaginary and complex datatypes and arithmetic and elementary functions on such values. Much of the specifications in LIA-3 are inspired by the specifications for imaginary and complex datatypes and operations in C, Ada and Common Lisp.

Bindings

Each of the parts provide suggested bindings for a number of programming languages. These are not part of the LIA standards, just suggestions, and are not complete. Authors of a programming language standard may wish to alter the suggestions before any incorporation in the programming language standard.

The C99, C11 and C17 standards for C, and in 2013, the standards for C++ and Modula-2, have partial bindings to LIA-1.[clarification needed]

See also

References

  1. ^ "JTC1/SC22/WG11 – Binding Techniques". Home page. ISO/IEC. Retrieved 7 June 2017.

External links

  • ISO/IEC 10967-1:2012, complete text of Part 1: Integer and floating point arithmetic.
  • ISO/IEC 10967-2:2001, complete text of Part 2: Elementary numerical functions.
  • ISO/IEC 10967-3:2006, complete text of Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions.