void fasinh(_MIPD_ flash x,flash y) { /* calculate y=asinh(x) */ #ifdef MR_OS_THREADS miracl *mr_mip=get_mip(); #endif copy(x,y); if (mr_mip->ERNUM || size(y)==0) return; MR_IN(66) fmul(_MIPP_ y,y,mr_mip->w11); fincr(_MIPP_ mr_mip->w11,1,1,mr_mip->w11); froot(_MIPP_ mr_mip->w11,2,mr_mip->w11); fadd(_MIPP_ y,mr_mip->w11,y); flog(_MIPP_ y,y); MR_OUT }
void facosh(_MIPD_ flash x,flash y) { /* calculate y=acosh(x) */ #ifndef MR_GENERIC_MT miracl *mr_mip=get_mip(); #endif copy(x,y); if (mr_mip->ERNUM) return; MR_IN(62) fmul(_MIPP_ y,y,mr_mip->w11); fincr(_MIPP_ mr_mip->w11,(-1),1,mr_mip->w11); froot(_MIPP_ mr_mip->w11,2,mr_mip->w11); fadd(_MIPP_ y,mr_mip->w11,y); flog(_MIPP_ y,y); MR_OUT }