Annotation of hatari/src/cpu/fpp.h, revision 1.1.1.1

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;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.