|
|
1.1 ! root 1: ! 2: /* single : S 8*E 23*F */ ! 3: /* double : S 11*E 52*F */ ! 4: /* extended : S 15*E 64*F */ ! 5: /* E = 0 & F = 0 -> 0 */ ! 6: /* E = MAX & F = 0 -> Infin */ ! 7: /* E = MAX & F # 0 -> NotANumber */ ! 8: /* E = biased by 127 (single) ,1023 (double) ,16383 (extended) */ ! 9: ! 10: #define FPSR_BSUN 0x00008000 ! 11: #define FPSR_SNAN 0x00004000 ! 12: #define FPSR_OPERR 0x00002000 ! 13: #define FPSR_OVFL 0x00001000 ! 14: #define FPSR_UNFL 0x00000800 ! 15: #define FPSR_DZ 0x00000400 ! 16: #define FPSR_INEX2 0x00000200 ! 17: #define FPSR_INEX1 0x00000100 ! 18: ! 19: extern void fp_init_native(void); ! 20: extern void fp_init_softfloat(void); ! 21: extern void fpsr_set_exception(uae_u32 exception); ! 22: extern void fpu_modechange(void); ! 23: ! 24: extern double softfloat_tan(double v); ! 25: ! 26: ! 27: #if defined(CPU_i386) || defined(CPU_x86_64) ! 28: extern void init_fpucw_x87(void); ! 29: #endif ! 30: ! 31: typedef void (*FPP_ABQS)(fpdata*, fpdata*, uae_u64*, uae_u8*); ! 32: typedef void (*FPP_AB)(fpdata*, fpdata*); ! 33: typedef void (*FPP_ABP)(fpdata*, fpdata*, int); ! 34: typedef void (*FPP_A)(fpdata*); ! 35: ! 36: typedef bool (*FPP_IS)(fpdata*); ! 37: typedef void (*FPP_SET_MODE)(uae_u32); ! 38: typedef void (*FPP_GET_STATUS)(uae_u32*); ! 39: typedef void (*FPP_CLEAR_STATUS)(void); ! 40: ! 41: typedef void (*FPP_FROM_NATIVE)(fptype, fpdata*); ! 42: typedef void (*FPP_TO_NATIVE)(fptype*, fpdata*); ! 43: ! 44: typedef void (*FPP_FROM_INT)(fpdata*,uae_s32); ! 45: typedef uae_s64 (*FPP_TO_INT)(fpdata*, int); ! 46: ! 47: typedef void (*FPP_TO_SINGLE)(fpdata*, uae_u32); ! 48: typedef uae_u32 (*FPP_FROM_SINGLE)(fpdata*); ! 49: ! 50: typedef void (*FPP_TO_DOUBLE)(fpdata*, uae_u32, uae_u32); ! 51: typedef void (*FPP_FROM_DOUBLE)(fpdata*, uae_u32*, uae_u32*); ! 52: ! 53: typedef void (*FPP_TO_EXTEN)(fpdata*, uae_u32, uae_u32, uae_u32); ! 54: typedef void (*FPP_FROM_EXTEN)(fpdata*, uae_u32*, uae_u32*, uae_u32*); ! 55: ! 56: typedef void (*FPP_PACK)(fpdata*, uae_u32*, int); ! 57: ! 58: typedef const TCHAR* (*FPP_PRINT)(fpdata*,int); ! 59: typedef uae_u32 (*FPP_GET32)(void); ! 60: ! 61: typedef void (*FPP_DENORMALIZE)(fpdata*,int); ! 62: ! 63: extern FPP_PRINT fpp_print; ! 64: ! 65: extern FPP_IS fpp_is_snan; ! 66: extern FPP_IS fpp_unset_snan; ! 67: extern FPP_IS fpp_is_nan; ! 68: extern FPP_IS fpp_is_infinity; ! 69: extern FPP_IS fpp_is_zero; ! 70: extern FPP_IS fpp_is_neg; ! 71: extern FPP_IS fpp_is_denormal; ! 72: extern FPP_IS fpp_is_unnormal; ! 73: ! 74: extern FPP_GET_STATUS fpp_get_status; ! 75: extern FPP_CLEAR_STATUS fpp_clear_status; ! 76: extern FPP_SET_MODE fpp_set_mode; ! 77: ! 78: extern FPP_FROM_NATIVE fpp_from_native; ! 79: extern FPP_TO_NATIVE fpp_to_native; ! 80: ! 81: extern FPP_TO_INT fpp_to_int; ! 82: extern FPP_FROM_INT fpp_from_int; ! 83: ! 84: extern FPP_PACK fpp_to_pack; ! 85: extern FPP_PACK fpp_from_pack; ! 86: ! 87: extern FPP_TO_SINGLE fpp_to_single; ! 88: extern FPP_FROM_SINGLE fpp_from_single; ! 89: extern FPP_TO_DOUBLE fpp_to_double; ! 90: extern FPP_FROM_DOUBLE fpp_from_double; ! 91: extern FPP_TO_EXTEN fpp_to_exten; ! 92: extern FPP_FROM_EXTEN fpp_from_exten; ! 93: extern FPP_TO_EXTEN fpp_to_exten_fmovem; ! 94: extern FPP_FROM_EXTEN fpp_from_exten_fmovem; ! 95: ! 96: extern FPP_A fpp_round_single; ! 97: extern FPP_A fpp_round_double; ! 98: extern FPP_A fpp_round32; ! 99: extern FPP_A fpp_round64; ! 100: ! 101: extern FPP_A fpp_normalize; ! 102: extern FPP_DENORMALIZE fpp_denormalize; ! 103: extern FPP_A fpp_get_internal_overflow; ! 104: extern FPP_A fpp_get_internal_underflow; ! 105: extern FPP_A fpp_get_internal_round_all; ! 106: extern FPP_A fpp_get_internal_round; ! 107: extern FPP_A fpp_get_internal_round_exten; ! 108: extern FPP_A fpp_get_internal; ! 109: extern FPP_GET32 fpp_get_internal_grs; ! 110: ! 111: extern FPP_AB fpp_int; ! 112: extern FPP_AB fpp_sinh; ! 113: extern FPP_AB fpp_intrz; ! 114: extern FPP_ABP fpp_sqrt; ! 115: extern FPP_AB fpp_lognp1; ! 116: extern FPP_AB fpp_etoxm1; ! 117: extern FPP_AB fpp_tanh; ! 118: extern FPP_AB fpp_atan; ! 119: extern FPP_AB fpp_atanh; ! 120: extern FPP_AB fpp_sin; ! 121: extern FPP_AB fpp_asin; ! 122: extern FPP_AB fpp_tan; ! 123: extern FPP_AB fpp_etox; ! 124: extern FPP_AB fpp_twotox; ! 125: extern FPP_AB fpp_tentox; ! 126: extern FPP_AB fpp_logn; ! 127: extern FPP_AB fpp_log10; ! 128: extern FPP_AB fpp_log2; ! 129: extern FPP_ABP fpp_abs; ! 130: extern FPP_AB fpp_cosh; ! 131: extern FPP_ABP fpp_neg; ! 132: extern FPP_AB fpp_acos; ! 133: extern FPP_AB fpp_cos; ! 134: extern FPP_AB fpp_getexp; ! 135: extern FPP_AB fpp_getman; ! 136: extern FPP_ABP fpp_div; ! 137: extern FPP_ABQS fpp_mod; ! 138: extern FPP_ABP fpp_add; ! 139: extern FPP_ABP fpp_mul; ! 140: extern FPP_ABQS fpp_rem; ! 141: extern FPP_AB fpp_scale; ! 142: extern FPP_ABP fpp_sub; ! 143: extern FPP_AB fpp_sgldiv; ! 144: extern FPP_AB fpp_sglmul; ! 145: extern FPP_AB fpp_cmp; ! 146: extern FPP_AB fpp_tst; ! 147: extern FPP_ABP fpp_move;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.