Lines Matching refs:tab
45 int insert(uint64_t *tab, size_t len, uint64_t v)
51 while (tab[i]) {
52 if (tab[i] == v)
57 tab[i] = v;
83 uint64_t *tab;
108 if (n < 5*k && (n-k)*sizeof *tab < (size_t)-1) {
110 tab = malloc((n-k) * sizeof *tab);
111 if (!tab)
116 tab[i-k] = i;
118 shuffle2(p, tab, k, n-k);
120 shuffle2(tab, p, n-k, k);
121 free(tab);
127 tab = calloc(len, sizeof *tab);
128 if (!tab)
131 while (insert(tab, len, randn(n)+1));
133 if (tab[i])
134 *p++ = tab[i]-1;
135 free(tab);