_WMRTLINK double _matherr( struct _exception *excp ) /**************************************************/ { if( (*_RWD_matherr)( excp ) == 0 ) { __rterrmsg( excp->type, excp->name ); excp->type == DOMAIN ? __set_EDOM() : __set_ERANGE(); } return( excp->retval ); }
_WMRTLINK dcomplex __qmath2err( unsigned int err_info, dcomplex *arg1, dcomplex *arg2 ) { dcomplex res; int why; arg1 = arg1; arg2 = arg2; if( err_info & M_DOMAIN ) { why = DOMAIN; } __reporterrorsimple(why); res.realpart = 0.0; res.imagpart = 0.0; if( math_errhandling & MATH_ERRWATCOM ) { __rterrmsg( why, __rtmathfuncname( err_info & FP_FUNC_MASK ) ); if( err_info & V_ZERO ) { res.realpart = 0.0; res.imagpart = 0.0; } } return( res ); }