mac-rom/Toolbox/InSANE/HWElemsCommon.a
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

61 lines
2.1 KiB
Plaintext

;
; File: HWElemsCommon.a
;
; Contains: PolyEval routines
;
; Written by: Apple Numerics Group, DSG
;
; Copyright: © 1985-1991 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <1> 10/24/91 SAM/KSM Rolled in Regatta file.
;
; Terror Change History:
;
; <1> 01/06/91 BG Added to TERROR/BBS for the time.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; File: 881ELEMScommon.a
;; Implementation of OmegaSANE. Expects 881/882
;; Copyright Apple Computer, Inc. 1985-7,1989-90
;; All Rights Reserved
;; Confidential and Proprietary to Apple Computer,Inc.
;;
;; Written by Clayton Lewis, begun 15 March 89.
;; Based on Elems881, package code for Mac by Jerome Coonen,
;; as modified for MacII by Stuart McDonald.
;;
;; Modification history:
;; 15 Mar 89 First paltry efforts
;; 20 Mar 89 Inclusion of 80/96 support
;; 12 May 89 Numeric values seem to work correctly in 80-bit mode
;; exceptions and 96-bit mode unchecked
;; 15 May 89 Folded in new 881ELEMScoeff.a file build jointly with Ali
;; 16 May 89 cleaning, exceptions working (funny behavior on denorms,
;; but FPSR is correct on routine exit)
;; 17 May 89 Moved common routines here for easier coordination with Ali
;; 22 May 90 Removed PROCEXIT stub routine. -S.McD
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; PolyEval is a Horner's rule polynomial evaluator. ;;
;; ;;
;; Coefficient table contains 2-byte integer = degree of polynomial less one ;;
;; followed by the polynomial coefficients in decreasing order. ;;
;; ;;
;; INPUT argument in FP0 (unchanged by PolyEval), ;;
;; address of COEFFICIENT table in A0, ;;
;; return RESULT in FP1. ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PolyEval
MOVE.W (A0)+,D0
FMOVE.X (A0)+,FP1 ; first coefficient
PolyLoop
FMUL.X FP0,FP1
FADD.X (A0)+,FP1
DBF D0,PolyLoop
RTS