mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 01:29:20 +00:00
5b0f0cc134
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.
99 lines
2.1 KiB
C
99 lines
2.1 KiB
C
/************************************************************
|
|
|
|
Created: Monday, May 7, 1990 at 8:55 PM
|
|
FixMath.h
|
|
C Interface to the Macintosh Libraries
|
|
|
|
|
|
Copyright Apple Computer, Inc. 1985-1991
|
|
All rights reserved
|
|
|
|
Change History (most recent first):
|
|
|
|
<SM3> 8/4/93 JDR Sync with Reality and Sound Mgr.
|
|
<7> 3/10/93 JDR Added kFix1.
|
|
<6> 8/8/91 JL Update copyright
|
|
<5> 10/26/90 JDR Made the Frac2x, Fix2x, X2Fix, and X2Frac traps in-line only for
|
|
the non-mc68881 mode. Otherwise it has to be glue to the FPU
|
|
libraries. (see JPO for more info)
|
|
<4> 10/5/90 JDR Frac2X, Fix2X, X2Fix, and X2Frac are now inlines. They use to be
|
|
a jsr to the SANE glue which was not only the wrong file for it,
|
|
but is only called the trap with the autopop bit set, very
|
|
silly.
|
|
|
|
CHANGE LOG:
|
|
19 Oct 90 JPO Made Frac2x, Fix2x, X2Fix, and X2Frac
|
|
in-line trap calls in non-mc68881 mode.
|
|
|
|
************************************************************/
|
|
|
|
|
|
#ifndef __FIXMATH__
|
|
#define __FIXMATH__
|
|
|
|
#ifndef __TYPES__
|
|
#include <Types.h>
|
|
#endif
|
|
|
|
enum {
|
|
fixed1 = (long)0x00010000,
|
|
fract1 = (long)0x40000000,
|
|
positiveInfinity = (long)0x7FFFFFFF,
|
|
negativeInfinity = (long)0x80000000
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
pascal Fract Fix2Frac(Fixed x)
|
|
= 0xA841;
|
|
pascal long Fix2Long(Fixed x)
|
|
= 0xA840;
|
|
pascal Fixed Long2Fix(long x)
|
|
= 0xA83F;
|
|
pascal Fixed Frac2Fix(Fract x)
|
|
= 0xA842;
|
|
pascal Fract FracMul(Fract x,Fract y)
|
|
= 0xA84A;
|
|
pascal Fixed FixDiv(Fixed x,Fixed y)
|
|
= 0xA84D;
|
|
pascal Fract FracDiv(Fract x,Fract y)
|
|
= 0xA84B;
|
|
pascal Fract FracSqrt(Fract x)
|
|
= 0xA849;
|
|
pascal Fract FracSin(Fixed x)
|
|
= 0xA848;
|
|
pascal Fract FracCos(Fixed x)
|
|
= 0xA847;
|
|
pascal Fixed FixATan2(long x,long y)
|
|
= 0xA818;
|
|
|
|
|
|
#ifdef mc68881
|
|
|
|
pascal extended Frac2X(Fract x);
|
|
pascal extended Fix2X(Fixed x);
|
|
pascal Fixed X2Fix(extended x);
|
|
pascal Fract X2Frac(extended x);
|
|
|
|
#else
|
|
|
|
pascal extended Frac2X(Fract x)
|
|
= 0xA845;
|
|
pascal extended Fix2X(Fixed x)
|
|
= 0xA843;
|
|
pascal Fixed X2Fix(extended x)
|
|
= 0xA844;
|
|
pascal Fract X2Frac(extended x)
|
|
= 0xA846;
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|