Lines Matching refs:ulen

5526  * Conditions: ulen >= vlen, ulen >= 4
5530 mpd_size_t ulen, mpd_size_t vlen,
5536 assert(ulen >= 4);
5537 assert(ulen >= vlen);
5539 *rsize = _kmul_resultsize(ulen, vlen);
5544 m = _kmul_worksize(ulen, MPD_KARATSUBA_BASECASE);
5550 _karatsuba_rec(result, u, v, w, ulen, vlen);
5653 mpd_size_t ulen, mpd_size_t vlen,
5664 *rsize = add_size_t(ulen, vlen);
5679 memcpy(c1, u, ulen * (sizeof *c1));
5680 memcpy(c2, u, ulen * (sizeof *c2));
5681 memcpy(c3, u, ulen * (sizeof *c3));
5835 * (malloc error). Conditions: ulen >= vlen, ulen >= 4.
5839 mpd_size_t ulen, mpd_size_t vlen,
5845 assert(ulen >= 4);
5846 assert(ulen >= vlen);
5848 *rsize = _kmul_resultsize(ulen, vlen);
5853 m = _kmul_worksize(ulen, 3*(MPD_MAXTRANSFORM_2N/2));
5859 if (!_karatsuba_rec_fnt(result, u, v, w, ulen, vlen)) {
8152 mpd_uint_t *u, mpd_ssize_t ulen)
8156 assert(wlen > 0 && ulen > 0);
8166 (*w)[n++] = (uint16_t)_mpd_shortdiv(u, u, ulen, wbase);
8167 /* ulen is at least 1. u[ulen-1] can only be zero if ulen == 1. */
8168 ulen = _mpd_real_size(u, ulen);
8170 } while (u[ulen-1] != 0);
8177 const mpd_uint_t *u, size_t ulen, uint32_t ubase,
8183 assert(wlen > 0 && ulen > 0);
8186 w->data[n++] = u[--ulen];
8187 while (--ulen != SIZE_MAX) {
8198 carry = _mpd_shortadd(w->data, n, u[ulen]);
8216 mpd_uint_t *u, mpd_ssize_t ulen, mpd_uint_t ubase)
8220 assert(wlen > 0 && ulen > 0);
8230 (*w)[n++] = (uint32_t)_mpd_shortdiv_b(u, u, ulen, wbase, ubase);
8231 /* ulen is at least 1. u[ulen-1] can only be zero if ulen == 1. */
8232 ulen = _mpd_real_size(u, ulen);
8234 } while (u[ulen-1] != 0);
8243 const uint32_t *u, size_t ulen)
8245 if (wlen < ulen) {
8246 if (!mpd_resize_u32(w, ulen)) {
8251 memcpy(*w, u, ulen * (sizeof **w));
8252 return ulen;
8258 const mpd_uint_t *u, size_t ulen, mpd_uint_t ubase)
8263 assert(wlen > 0 && ulen > 0);
8266 (*w)[n++] = u[--ulen];
8267 while (--ulen != SIZE_MAX) {
8278 carry = _mpd_shortadd_b(*w, n, u[ulen], wbase);
8296 mpd_uint_t *u, mpd_ssize_t ulen, mpd_uint_t ubase,
8301 assert(wlen > 0 && ulen > 0);
8311 w->data[n++] = (uint32_t)_mpd_shortdiv_b(u, u, ulen, wbase, ubase);
8312 /* ulen is at least 1. u[ulen-1] can only be zero if ulen == 1. */
8313 ulen = _mpd_real_size(u, ulen);
8315 } while (u[ulen-1] != 0);
8324 const uint32_t *u, size_t ulen, mpd_uint_t ubase,
8330 assert(wlen > 0 && ulen > 0);
8333 w->data[n++] = u[--ulen];
8334 while (--ulen != SIZE_MAX) {
8345 carry = _mpd_shortadd_b(w->data, n, u[ulen], wbase);
8693 _uint_from_u16(mpd_uint_t *w, mpd_ssize_t wlen, const uint16_t *u, size_t ulen)
8699 assert(wlen > 0 && ulen > 0);
8701 w[n++] = u[--ulen];
8702 while (--ulen != SIZE_MAX) {
8710 carry = _mpd_shortadd(w, n, u[ulen]);
8895 _uint_to_u16(uint16_t w[8], mpd_uint_t *u, mpd_ssize_t ulen)
8900 assert(ulen > 0);
8906 w[n++] = (uint16_t)_mpd_shortdiv(u, u, ulen, wbase);
8907 /* ulen is at least 1. u[ulen-1] can only be zero if ulen == 1. */
8908 ulen = _mpd_real_size(u, ulen);
8910 } while (u[ulen-1] != 0);