;* Begin NewFloatMgr.inc
***************************************************************
sysTrapFlpDispatch 	equ	41733 	;hex:A305

; FlpDispatch functions...
sysFloatBase10Info 	equ	0 ;Err FlpBase10Info(FlpDouble a, DWord* mantissaP,SWord* exponentP, SWord* signP);
sysFloatFToA 		equ	1 ;Err FlpFToA(FlpDouble a, Char* s);
sysFloatAToF		equ	2 ;FlpDouble FlpAToF(Char* s);
sysFloatCorrectedAdd	equ	3 ;FlpDouble FlpCorrectedAdd(FlpDouble firstOperand, FlpDouble secondOperand, SWord howAccurate);
sysFloatCorrectedSub	equ	4 ;FlpDouble FlpCorrectedSub(FlpDouble firstOperand, FlpDouble secondOperand, SWord howAccurate);
sysFloatVersion		equ	5 ;DWord F=lpVersion(void);

;And the FlpEmDispatch Interface


sysTrapFlpEmDispatch 	equ 	41734		;hex:A306

; FlpEmDispatch functions...    
sysFloatEm_fp_round	equ	0 ;SDWord _fp_round(SDWord);
sysFloatEm_fp_get_fpscr	equ	1 ;SDWord _fp_get_fpscr(void);
sysFloatEm_fp_set_fpscr	equ	2 ;void _fp_set_fpscr(SDWord);
sysFloatEm_f_utof		equ	3 ;FlpFloat	_f_utof(DWord);
sysFloatEm_f_itof		equ	4 ;FlpFloat _f_itof(SDWord);
sysFloatEm_f_ulltof	equ	5 ;FlpFloat	_f_ulltof(sfpe_unsigned_long_long);
sysFloatEm_f_lltof	equ	6 ;FlpFloat	_f_lltof(sfpe_long_long);
sysFloatEm_d_utod		equ	7 ;FlpDouble _d_utod(DWord);
sysFloatEm_d_itod		equ	8 ;FlpDouble _d_itod(SDWord);
sysFloatEm_d_ulltod	equ	9 ;FlpDouble _d_ulltod(sfpe_unsigned_long_long);
sysFloatEm_d_lltod	equ	10 ;FlpDouble _d_lltod(sfpe_long_long);
sysFloatEm_f_ftod		equ	11 ;FlpDouble _f_ftod(FlpFloat);
sysFloatEm_d_dtof		equ	12 ;FlpFloat _d_dtof(FlpDouble);
sysFloatEm_f_ftoq		equ	13 ;FlpLongDouble	_f_ftoq(FlpFloat);
sysFloatEm_f_qtof		equ	14 ;FlpFloat _f_qtof(const FlpLongDouble *);
sysFloatEm_d_dtoq		equ	15 ;FlpLongDouble	_d_dtoq(FlpDouble);
sysFloatEm_d_qtod		equ	16 ;FlpDouble _d_qtod(const FlpLongDouble *);
sysFloatEm_f_ftou		equ	17 ;DWord _f_ftou(FlpFloat);
sysFloatEm_f_ftoi		equ	18 ;SDWord _f_ftoi(FlpFloat);
sysFloatEm_f_ftoull	equ	19 ;sfpe_unsigned_long_long _f_ftoull(FlpFloat);
sysFloatEm_f_ftoll	equ	20 ;sfpe_long_long _f_ftoll(FlpFloat);
sysFloatEm_d_dtou		equ	21 ;DWord _d_dtou(FlpDouble);
sysFloatEm_d_dtoi		equ	22 ;SDWord _d_dtoi(FlpDouble);
sysFloatEm_d_dtoull	equ	23 ;sfpe_unsigned_long_long _d_dtoull(FlpDouble);
sysFloatEm_d_dtoll	equ	24 ;sfpe_long_long _d_dtoll(FlpDouble);
sysFloatEm_f_cmp		equ	25 ;SDWord _f_cmp(FlpFloat, FlpFloat);
sysFloatEm_f_cmpe		equ	26 ;SDWord _f_cmpe(FlpFloat, FlpFloat);
sysFloatEm_f_feq		equ	27 ;SDWord _f_feq(FlpFloat, FlpFloat);
sysFloatEm_f_fne		equ	28 ;SDWord _f_fne(FlpFloat, FlpFloat);
sysFloatEm_f_flt		equ	29 ;SDWord _f_flt(FlpFloat, FlpFloat);
sysFloatEm_f_fle		equ	30 ;SDWord _f_fle(FlpFloat, FlpFloat);
sysFloatEm_f_fgt		equ	31 ;SDWord _f_fgt(FlpFloat, FlpFloat);
sysFloatEm_f_fge		equ	32 ;SDWord _f_fge(FlpFloat, FlpFloat);
sysFloatEm_f_fun		equ	33 ;SDWord _f_fun(FlpFloat, FlpFloat);
sysFloatEm_f_for		equ	34 ;SDWord _f_for(FlpFloat, FlpFloat);
sysFloatEm_d_cmp		equ	35 ;SDWord _d_cmp(FlpDouble, FlpDouble);
sysFloatEm_d_cmpe		equ	36 ;SDWord _d_cmpe(FlpDouble, FlpDouble);
sysFloatEm_d_feq		equ	37 ;SDWord _d_feq(FlpDouble, FlpDouble);
sysFloatEm_d_fne		equ	38 ;SDWord _d_fne(FlpDouble, FlpDouble);
sysFloatEm_d_flt		equ	39 ;SDWord _d_flt(FlpDouble, FlpDouble);
sysFloatEm_d_fle		equ	40 ;SDWord _d_fle(FlpDouble, FlpDouble);
sysFloatEm_d_fgt		equ	41 ;SDWord _d_fgt(FlpDouble, FlpDouble);
sysFloatEm_d_fge		equ	42 ;SDWord _d_fge(FlpDouble, FlpDouble);
sysFloatEm_d_fun		equ	43 ;SDWord _d_fun(FlpDouble, FlpDouble);
sysFloatEm_d_for		equ	44 ;SDWord _d_for(FlpDouble, FlpDouble);
sysFloatEm_f_neg		equ	45 ;FlpFloat _f_neg(FlpFloat);
sysFloatEm_f_add		equ	46 ;FlpFloat _f_add(FlpFloat, FlpFloat);
sysFloatEm_f_mul		equ	47 ;FlpFloat _f_mul(FlpFloat, FlpFloat);
sysFloatEm_f_sub		equ	48 ;FlpFloat _f_sub(FlpFloat, FlpFloat);
sysFloatEm_f_div		equ	49 ;FlpFloat _f_div(FlpFloat, FlpFloat);
sysFloatEm_d_neg		equ	50 ;FlpDouble _d_neg(FlpDouble);
sysFloatEm_d_add		equ	51 ;FlpDouble _d_add(FlpDouble, FlpDouble);
sysFloatEm_d_mul		equ	52 ;FlpDouble _d_mul(FlpDouble, FlpDouble);
sysFloatEm_d_sub		equ	53 ;FlpDouble _d_sub(FlpDouble, FlpDouble);
sysFloatEm_d_div		equ	54 ;FlpDouble _d_div(FlpDouble, FlpDouble);


;
; These constants are passed to and received from the _fp_round routine.
;

flpToNearest            equ   0
flpTowardZero           equ   1
flpUpward               equ   3
flpDownward             equ   2
flpModeMask             equ   $00000030
flpModeShift            equ   4

;
;These masks define the fpscr bits supported by the sfpe (software floating point emulator).
;These constants are used with the _fp_get_fpscr and _fp_set_fpscr routines.
;

flpInvalid              equ   $00008000
flpOverflow             equ   $00004000
flpUnderflow            equ   $00002000
flpDivByZero            equ   $00001000
flpInexact              equ   $00000800

;
; These constants are returned by _d_cmp, _d_cmpe, _f_cmp, and _f_cmpe:
;

flpEqual                equ   0
flpLess                 equ   1
flpGreater              equ   2
flpUnordered            equ   3
;* End NewFloatMgr.inc
*****************************************************************
