DECUS 84 MIT FP Pkg

Order Number: XX-BEB86-71

This document describes the M.I.T. Floating Point Arithmetic Package (DECUS No. 84), a collection of arithmetic subroutines developed by Bill Gasper and Tom Eggers from the Massachusetts Institute of Technology.

The package represents floating-point numbers in the form f x 2^e, where f is an 18-bit one's complement fraction (with the binary point between bits 0 and 1) and e is an 18-bit one's complement integer exponent of 2. The largest representable magnitude is approximately 10^39,000. Most routines return a normalized result (fraction f between 0.5 and 1 in magnitude), with the fraction in the accumulator (AC) and the exponent in the input/output (IO) register.

The library offers a comprehensive set of floating-point operations, including:

  • Basic Arithmetic: Addition (normalized, unnormalized, and unnormalized with rounding), Multiplication, and Division.
  • Mathematical Functions: Square Root, Reciprocal, Exponentiation (2^X and general X^Y), and Logarithm (base 2 and natural log).
  • Trigonometric Functions: Sine, Cosine, Secant, Cosecant, Tangent, Cotangent, Inverse Tangent (Arctan), and Arccot.
  • Input/Output: Routines for converting ASCII input to floating-point numbers (Floating Input, supporting digits, 'e', '-', 'x', and spaces) and for formatting floating-point numbers as output (Floating Output, typically in .71000 e2 format with 5 significant figures).

The document provides detailed usage instructions for each routine, including parameter passing and return values. Error conditions, such as division by zero or invalid arguments for mathematical functions (e.g., negative square root, log of non-positive), typically cause a program "halt" (hlt). Performance figures are noted for some routines, for example, 385 microseconds for Square Root.

XX-BEB86-71
2000
27 pages
Quality

Original
0.5MB

Site structure and layout ©2025 Majenko Technologies