• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/ofed/opensm/complib/

Lines Matching defs:p_vector

180 void cl_vector_construct(IN cl_vector_t * const p_vector)
182 CL_ASSERT(p_vector);
184 memset(p_vector, 0, sizeof(cl_vector_t));
186 p_vector->state = CL_UNINITIALIZED;
189 cl_status_t cl_vector_init(IN cl_vector_t * const p_vector,
198 CL_ASSERT(p_vector);
201 cl_vector_construct(p_vector);
203 p_vector->grow_size = grow_size;
204 p_vector->element_size = element_size;
205 p_vector->pfn_init = pfn_init;
206 p_vector->pfn_dtor = pfn_dtor;
207 p_vector->context = context;
215 p_vector->pfn_copy = cl_vector_copy8;
219 p_vector->pfn_copy = cl_vector_copy16;
223 p_vector->pfn_copy = cl_vector_copy32;
227 p_vector->pfn_copy = cl_vector_copy64;
231 p_vector->pfn_copy = cl_vector_copy_general;
239 p_vector->state = CL_INITIALIZED;
242 cl_qlist_init(&p_vector->alloc_list);
246 status = cl_vector_set_size(p_vector, min_size);
248 cl_vector_destroy(p_vector);
254 void cl_vector_destroy(IN cl_vector_t * const p_vector)
259 CL_ASSERT(p_vector);
260 CL_ASSERT(cl_is_state_valid(p_vector->state));
263 if (p_vector->state == CL_INITIALIZED) {
264 if (p_vector->pfn_dtor) {
265 for (i = 0; i < p_vector->size; i++) {
266 p_element = p_vector->p_ptr_array[i];
269 p_vector->pfn_dtor(p_element,
270 (void *)p_vector->context);
275 while (!cl_is_qlist_empty(&p_vector->alloc_list))
276 free(cl_qlist_remove_head(&p_vector->alloc_list));
279 if (p_vector->p_ptr_array) {
280 free(p_vector->p_ptr_array);
281 p_vector->p_ptr_array = NULL;
285 p_vector->state = CL_UNINITIALIZED;
288 cl_status_t cl_vector_at(IN const cl_vector_t * const p_vector,
291 CL_ASSERT(p_vector);
292 CL_ASSERT(p_vector->state == CL_INITIALIZED);
295 if (index >= p_vector->size)
298 cl_vector_get(p_vector, index, p_element);
302 cl_status_t cl_vector_set(IN cl_vector_t * const p_vector,
308 CL_ASSERT(p_vector);
309 CL_ASSERT(p_vector->state == CL_INITIALIZED);
313 if (index >= p_vector->size) {
315 status = cl_vector_set_size(p_vector, index + 1);
318 if ((status != CL_SUCCESS) && (p_vector->size < index))
323 p_dest = cl_vector_get_ptr(p_vector, index);
328 p_vector->pfn_copy(p_dest, p_element, p_vector->element_size);
333 cl_status_t cl_vector_set_capacity(IN cl_vector_t * const p_vector,
342 CL_ASSERT(p_vector);
343 CL_ASSERT(p_vector->state == CL_INITIALIZED);
346 if (new_capacity <= p_vector->capacity) {
358 if (p_vector->p_ptr_array) {
360 memcpy(p_new_ptr_array, p_vector->p_ptr_array,
361 p_vector->capacity * sizeof(void *));
364 free(p_vector->p_ptr_array);
368 p_vector->p_ptr_array = p_new_ptr_array;
374 new_elements = new_capacity - p_vector->capacity;
376 alloc_size = new_elements * p_vector->element_size;
384 cl_qlist_insert_tail(&p_vector->alloc_list, p_buf);
388 for (i = p_vector->capacity; i < new_capacity; i++) {
389 p_vector->p_ptr_array[i] = p_buf;
391 p_buf = (void *)(((uint8_t *) p_buf) + p_vector->element_size);
395 p_vector->capacity = new_capacity;
400 cl_status_t cl_vector_set_size(IN cl_vector_t * const p_vector,
408 CL_ASSERT(p_vector);
409 CL_ASSERT(p_vector->state == CL_INITIALIZED);
412 if (size == p_vector->size)
416 if (size >= p_vector->capacity) {
417 if (!p_vector->grow_size)
422 if (size % p_vector->grow_size) {
424 new_capacity += p_vector->grow_size -
425 (size % p_vector->grow_size);
428 status = cl_vector_set_capacity(p_vector, new_capacity);
434 if (size > p_vector->size && p_vector->pfn_init) {
435 for (index = p_vector->size; index < size; index++) {
437 p_element = cl_vector_get_ptr(p_vector, index);
441 p_vector->pfn_init(p_element,
442 (void *)p_vector->context);
445 if (p_vector->pfn_dtor)
446 p_vector->pfn_dtor(p_element,
447 (void *)p_vector->
455 p_vector->size++;
457 } else if (p_vector->pfn_dtor) {
459 for (index = size; index < p_vector->size; index++) {
461 p_element = cl_vector_get_ptr(p_vector, index);
463 p_vector->pfn_dtor(p_element,
464 (void *)p_vector->context);
468 p_vector->size = size;
472 cl_status_t cl_vector_set_min_size(IN cl_vector_t * const p_vector,
475 CL_ASSERT(p_vector);
476 CL_ASSERT(p_vector->state == CL_INITIALIZED);
478 if (min_size > p_vector->size) {
480 return (cl_vector_set_size(p_vector, min_size));
487 void cl_vector_apply_func(IN const cl_vector_t * const p_vector,
494 CL_ASSERT(p_vector);
495 CL_ASSERT(p_vector->state == CL_INITIALIZED);
498 for (i = 0; i < p_vector->size; i++) {
499 p_element = cl_vector_get_ptr(p_vector, i);
504 size_t cl_vector_find_from_start(IN const cl_vector_t * const p_vector,
511 CL_ASSERT(p_vector);
512 CL_ASSERT(p_vector->state == CL_INITIALIZED);
515 for (i = 0; i < p_vector->size; i++) {
516 p_element = cl_vector_get_ptr(p_vector, i);
524 size_t cl_vector_find_from_end(IN const cl_vector_t * const p_vector,
531 CL_ASSERT(p_vector);
532 CL_ASSERT(p_vector->state == CL_INITIALIZED);
535 i = p_vector->size;
539 p_element = cl_vector_get_ptr(p_vector, --i);
547 return (p_vector->size);