36-bit machine arithmetic on a 32-bit machine
Date/Time of Processing: Monday 30 May 1994 11:28:40Am Overall Assessment of System: OK Classification of System: A Basis of Classification -- Syntax Errors PASS Completeness PASS Independence from External Libraries PASS Independence from a Specific Ada Compiler PASS Number of ... Files 1 Library Units 10 Lines 6521 Statements 2696 Comments 1490
languages/ada/asr/math/m36: File Name Size --------- ---- m36.zip 84,081 Totals ============== ============== 1 Files 84,081
The purpose of this package is to emulate 36 bit machine host arithmetic on a 32 bit host machine. This package will provide support for 36 bit integer, real, and double precision real numbers in the form of the standard predefined arithmetic operations. The ranges of the supported types are as follows: Integer range of -2**35 to 2**35-1 Real range of 10**-38 to 10**38 and 0 mantissa => 27 bit binary fraction exponent => -128 to 127 Double Precision Real range of 10**-38 to 10**38 and 0 mantissa => 63 bit binary fraction exponent => -128 to 127 Any errors which occur during use of the arithmetic exception declaration in the package specification can be changed to a rename of the predefined exception "NUMERIC_ERROR" for programs needing to handle arithmetic errors in a general fashion. Conversion functions are provided to assist in programming mixed operand (32 and 36 bit) arithmetic, and to facilitate IO. These functions should be renamed if they will be used extensively so that the impact of the readability of a program's arithmetic expressions is minimized. The underlying arithmetic will be performed in twos complement arithmetic.
DATE VERSION AUTHOR HISTORY 6/85 1.0 SYSCON Initial Release
This prologue must be included in all copies of this software. This software is copyright by the author. This software is released to the Ada community. This software is released to the Public Domain (note: software released to the Public Domain is not subject to copyright protection). Restrictions on use or distribution: NONE
This software and its documentation are provided "AS IS" and without any expressed or implied warranties whatsoever. No warranties as to performance, merchantability, or fitness for a particular purpose exist. The user is advised to test the software thoroughly before relying on it. The user must assume the entire risk and liability of using this software. In no event shall any person or organization of people be held responsible for any direct, indirect, consequential or inconsequential damages or lost profits.