BS ISO/IEC 10967-2:2001
Information technology. Language independent arithmetic Elementary numerical functions
Standard number: | BS ISO/IEC 10967-2:2001 |
Pages: | 190 |
Released: | 2001-08-24 |
ISBN: | 0 580 38060 2 |
Status: | Standard |
BS ISO/IEC 10967-2:2001
This standard BS ISO/IEC 10967-2:2001 Information technology. Language independent arithmetic is classified in these ICS categories:
- 35.060 Languages used in information technology
This part of ISO/IEC 10967 defines the properties of numerical approximations for many of the real elementary numerical functions available in standard libraries for a variety of programming languages in common use for mathematical and numerical applications.
An implementor may choose any combination of hardware and software support to meet the specifications of this part. It is the computing environment, as seen by the programmer/user, that does or does not conform to the specifications.
The term implementation (of this part) denotes the total computing environment pertinent to this part, including hardware, language processors, subroutine libraries, exception handling facilities, other software, and documentation.
1.1 Inclusions
The specifications of part 1 are included by reference in this part.
This part provides specifications for numerical functions for which all operand values are of integer or floating point datatypes satisfying the requirements of part 1. 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, is prescribed for each specified floating point operation.
This part covers most numerical functions required by the ISO/IEC standards for Ada [11], Basic [16], C [17], C++ [18], Fortran [22], ISLisp [24], Pascal [27], and PL/I [29]. In particular, specifications are provided for:
-
Some additional integer operations.
-
Some additional non-transcendental floating point operations, including maximum and minimum operations.
-
Exponentiations, logarithms, and hyperbolics.
-
Trigonometries, both in radians and for argument-given angular unit with degrees as a special case.
This part also provides specifications for:
-
Conversions between integer and floating point datatypes (possibly with different radices) conforming to the requirements of part 1, and the conversion operations used, for example, in text input and output of integer and floating point numbers.
-
The results produced by an included floating point operation when one or more argument values are IEC 60559 special values.
-
Program-visible parameters that characterise certain aspects of the operations.
1.2 Exclusions
This part provides no specifications for
-
Numerical functions whose operands are of more than one datatype (with one exception). This part neither requires nor excludes the presence of such “mixed operand” operations.
-
An interval datatype, or the operations on such data. This part neither requires nor excludes such data or operations.
-
A fixed point datatype, or the operations on such data. This part neither requires nor excludes such data or operations.
-
A rational datatype, or the operations on such data. This part neither requires nor excludes such data or operations.
-
Complex, matrix, statistical, or symbolic operations. This part neither requires nor excludes such data or operations.
-
The properties of arithmetic datatypes that are not related to the numerical process, such as the representation of values on physical media.
-
The properties of integer and floating point datatypes that properly belong in programming language standards or other specifications. Examples include
-
the syntax of numerals and expressions in the programming language,
-
the syntax used for parsed (input) or generated (output) character string forms for numerals by any specific programming language or library,
-
the precedence of operators in the programming language,
-
the presence or absence of automatic datatype coercions,
-
the rules for assignment, parameter passing, and returning value,
-
the consequences of applying an operation to values of improper datatype, or to uninitialised data.
-
Furthermore, this part does not provide specifications for how the operations should be implemented or which algorithms are to be used for the various operations.