Lines Matching refs:set

969 re_node_set_alloc (re_node_set *set, Idx size)  in re_node_set_alloc()  argument
971 set->alloc = size; in re_node_set_alloc()
972 set->nelem = 0; in re_node_set_alloc()
973 set->elems = re_malloc (Idx, size); in re_node_set_alloc()
974 if (__glibc_unlikely (set->elems == NULL) in re_node_set_alloc()
982 re_node_set_init_1 (re_node_set *set, Idx elem) in re_node_set_init_1() argument
984 set->alloc = 1; in re_node_set_init_1()
985 set->nelem = 1; in re_node_set_init_1()
986 set->elems = re_malloc (Idx, 1); in re_node_set_init_1()
987 if (__glibc_unlikely (set->elems == NULL)) in re_node_set_init_1()
989 set->alloc = set->nelem = 0; in re_node_set_init_1()
992 set->elems[0] = elem; in re_node_set_init_1()
998 re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2) in re_node_set_init_2() argument
1000 set->alloc = 2; in re_node_set_init_2()
1001 set->elems = re_malloc (Idx, 2); in re_node_set_init_2()
1002 if (__glibc_unlikely (set->elems == NULL)) in re_node_set_init_2()
1006 set->nelem = 1; in re_node_set_init_2()
1007 set->elems[0] = elem1; in re_node_set_init_2()
1011 set->nelem = 2; in re_node_set_init_2()
1014 set->elems[0] = elem1; in re_node_set_init_2()
1015 set->elems[1] = elem2; in re_node_set_init_2()
1019 set->elems[0] = elem2; in re_node_set_init_2()
1020 set->elems[1] = elem1; in re_node_set_init_2()
1284 re_node_set_insert (re_node_set *set, Idx elem) in re_node_set_insert() argument
1288 if (set->alloc == 0) in re_node_set_insert()
1289 return __glibc_likely (re_node_set_init_1 (set, elem) == REG_NOERROR); in re_node_set_insert()
1291 if (__glibc_unlikely (set->nelem) == 0) in re_node_set_insert()
1296 DEBUG_ASSERT (set->elems); in re_node_set_insert()
1297 set->elems[0] = elem; in re_node_set_insert()
1298 ++set->nelem; in re_node_set_insert()
1303 if (set->alloc == set->nelem) in re_node_set_insert()
1306 set->alloc = set->alloc * 2; in re_node_set_insert()
1307 new_elems = re_realloc (set->elems, Idx, set->alloc); in re_node_set_insert()
1310 set->elems = new_elems; in re_node_set_insert()
1315 if (elem < set->elems[0]) in re_node_set_insert()
1317 for (idx = set->nelem; idx > 0; idx--) in re_node_set_insert()
1318 set->elems[idx] = set->elems[idx - 1]; in re_node_set_insert()
1322 for (idx = set->nelem; set->elems[idx - 1] > elem; idx--) in re_node_set_insert()
1323 set->elems[idx] = set->elems[idx - 1]; in re_node_set_insert()
1324 DEBUG_ASSERT (set->elems[idx - 1] < elem); in re_node_set_insert()
1328 set->elems[idx] = elem; in re_node_set_insert()
1329 ++set->nelem; in re_node_set_insert()
1339 re_node_set_insert_last (re_node_set *set, Idx elem) in re_node_set_insert_last() argument
1342 if (set->alloc == set->nelem) in re_node_set_insert_last()
1345 set->alloc = (set->alloc + 1) * 2; in re_node_set_insert_last()
1346 new_elems = re_realloc (set->elems, Idx, set->alloc); in re_node_set_insert_last()
1349 set->elems = new_elems; in re_node_set_insert_last()
1353 set->elems[set->nelem++] = elem; in re_node_set_insert_last()
1377 re_node_set_contains (const re_node_set *set, Idx elem) in re_node_set_contains() argument
1380 if (set->nelem <= 0) in re_node_set_contains()
1385 right = set->nelem - 1; in re_node_set_contains()
1389 if (set->elems[mid] < elem) in re_node_set_contains()
1394 return set->elems[idx] == elem ? idx + 1 : 0; in re_node_set_contains()
1398 re_node_set_remove_at (re_node_set *set, Idx idx) in re_node_set_remove_at() argument
1400 if (idx < 0 || idx >= set->nelem) in re_node_set_remove_at()
1402 --set->nelem; in re_node_set_remove_at()
1403 for (; idx < set->nelem; idx++) in re_node_set_remove_at()
1404 set->elems[idx] = set->elems[idx + 1]; in re_node_set_remove_at()