Lines Matching refs:tab
94 static int insert(uint64_t *tab, size_t len, uint64_t v)
99 while (tab[i]) {
100 if (tab[i] == v)
105 tab[i] = v;
112 uint64_t *tab;
139 if (n < 5*k && (n-k)*sizeof *tab < (size_t)-1) {
141 tab = malloc((n-k) * sizeof *tab);
142 if (!tab)
147 tab[i-k] = i;
149 shuffle2(p, tab, k, n-k);
151 shuffle2(tab, p, n-k, k);
152 free(tab);
158 tab = calloc(len, sizeof *tab);
159 if (!tab)
162 while (insert(tab, len, t_randn(n)+1));
164 if (tab[i])
165 *p++ = tab[i]-1;
166 free(tab);