if (t<2) return FALSE; MR_IN(115) #ifndef MR_ALWAYS_BINARY if (mr_mip->base != mr_mip->base2) { mr_berror(_MIPP_ MR_ERR_NOT_SUPPORTED); MR_OUT return FALSE; } #endif B->window=window; B->max=nb; table=(epoint **)mr_alloc(_MIPP_ (1<<window),sizeof(epoint *)); if (table==NULL) { mr_berror(_MIPP_ MR_ERR_OUT_OF_MEMORY); MR_OUT return FALSE; } B->a=mirvar(_MIPP_ 0); B->b=mirvar(_MIPP_ 0); B->n=mirvar(_MIPP_ 0); copy(a,B->a); copy(b,B->b); copy(n,B->n); ecurve_init(_MIPP_ a,b,n,MR_BEST); w=epoint_init(_MIPPO_ );
if (t<2) return FALSE; MR_IN(109) #ifndef MR_ALWAYS_BINARY if (mr_mip->base != mr_mip->base2) { mr_berror(_MIPP_ MR_ERR_NOT_SUPPORTED); MR_OUT return FALSE; } #endif b->window=window; b->max=nb; table=mr_alloc(_MIPP_ (1<<window),sizeof(big)); if (table==NULL) { mr_berror(_MIPP_ MR_ERR_OUT_OF_MEMORY); MR_OUT return FALSE; } b->n=mirvar(_MIPP_ 0); copy(n,b->n); prepare_monty(_MIPP_ n); nres(_MIPP_ g,mr_mip->w1); convert(_MIPP_ 1,mr_mip->w2); nres(_MIPP_ mr_mip->w2,mr_mip->w2); table[0]=mirvar(_MIPP_ 0);