Lines Matching refs:scratch
79 The scratch pointed by sp, needs a space of at least 3 * mn + 1 limbs.
109 and scratch should have room for mn*2+1 limbs.
118 mpn_lucm (mp_ptr lp, mp_srcptr np, mp_size_t nn, mp_srcptr mp, mp_size_t mn, mp_ptr scratch)
123 ASSERT (! MPN_OVERLAP_P (lp, MAX(2*mn+1,5), scratch, MAX(2*mn+1,5)));
126 neg = mpn_fib2m (lp, scratch, np, nn, mp, mn);
128 /* F[n] = +/-{lp, mn}, F[n-1] = +/-{scratch, mn} */
136 cy = mpn_rsblsh1_n (lp, lp, scratch, mn); /* L[n] = +/-(2F[n-1]-(-F[n])) */
138 cy = mpn_sublsh1_n (lp, lp, scratch, mn); /* L[n] = -/+(F[n]-(-2F[n-1])) */
145 cy = mpn_lshift (scratch, scratch, mn, 1); /* 2F[n-1] */
147 cy -= mpn_sub_n (lp, scratch, lp, mn); /* L[n] = +/-(2F[n-1]-(-F[n])) */
149 abs_sub_n (lp, lp, scratch, mn);
156 cy = mpn_addlsh1_n (lp, lp, scratch, mn); /* L[n] = +/-(2F[n-1]+F[n])) */
158 cy = mpn_lshift (scratch, scratch, mn, 1);
159 cy+= mpn_add_n (lp, lp, scratch, mn);
170 mpn_strongfibo (mp_srcptr mp, mp_size_t mn, mp_ptr scratch)
187 scratch [0] = 1;
195 mpn_rshift (scratch, mp + en, mn - en, cnt);
197 MPN_COPY (scratch, mp + en, mn - en);
199 scratch [0] |= 1;
200 en -= scratch [en - 1] == 0;
206 en = mpn_lucm (sp, scratch, en, mp, mn, lp);