void __chk8087( void ) /********************/ { if( _RWD_8087 != 0 ) { /* if we already know we have an 80x87 */ #if !defined( __386__ ) if( __dos87real ) __GrabFP87(); #endif _RWD_FPE_handler = __default_sigfpe_handler; return; /* this prevents real87 from being set */ } /* when we have an emulator */ _RWD_real87 = __x87id(); /* if a coprocessor is present then we */ _RWD_8087 = _RWD_real87; /* initialize even when NO87 is defined */ #if !defined( __386__ ) __dos87real = _RWD_real87; #endif __init_8087(); /* this handles the fpi87 and NO87 case */ if( _RWD_no87 != 0 ) { /* if NO87 environment var is defined */ _RWD_8087 = 0; /* then we want to pretend that the */ _RWD_real87 = 0; /* coprocessor doesn't exist */ } if( _RWD_real87 ) { __GrabFP87(); } if( _RWD_8087 ) { _RWD_FPE_handler = __default_sigfpe_handler; } }
void __chk8087( void ) /********************/ { char devinfo; #if defined( __386__ ) DosDevConfig( &devinfo, DEVINFO_COPROCESSOR ); if( devinfo == 0 ) { _RWD_real87 = 0; } else { _RWD_real87 = __x87id(); } _RWD_8087 = _RWD_real87; #else if( _RWD_8087 == 0 ) { DosDevConfig( &devinfo, 3, 0 ); if( devinfo == 0 ) { _RWD_real87 = 0; } else { _RWD_real87 = __x87id(); } _RWD_8087 = _RWD_real87; } if( _RWD_real87 ) { __GrabFP87(); } if( _RWD_8087 ) { _RWD_FPE_handler = __default_sigfpe_handler; } #endif _fpreset(); }
void __grab_fpe() { __GrabFP87(); }