MCPcopy Create free account
hub / github.com/numpy/numpy / PyDataMem_UserNEW

Function PyDataMem_UserNEW

numpy/core/src/multiarray/alloc.c:433–454  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

431/* Wrappers for the default or any user-assigned PyDataMem_Handler */
432
433NPY_NO_EXPORT void *
434PyDataMem_UserNEW(size_t size, PyObject *mem_handler)
435{
436 void *result;
437 PyDataMem_Handler *handler = (PyDataMem_Handler *) PyCapsule_GetPointer(mem_handler, "mem_handler");
438 if (handler == NULL) {
439 return NULL;
440 }
441 assert(size != 0);
442 result = handler->allocator.malloc(handler->allocator.ctx, size);
443 if (_PyDataMem_eventhook != NULL) {
444 NPY_ALLOW_C_API_DEF
445 NPY_ALLOW_C_API
446 if (_PyDataMem_eventhook != NULL) {
447 (*_PyDataMem_eventhook)(NULL, result, size,
448 _PyDataMem_eventhook_user_data);
449 }
450 NPY_DISABLE_C_API
451 }
452 PyTraceMalloc_Track(NPY_TRACE_DOMAIN, (npy_uintp)result, size);
453 return result;
454}
455
456NPY_NO_EXPORT void *
457PyDataMem_UserNEW_ZEROED(size_t nmemb, size_t size, PyObject *mem_handler)

Callers 4

array_setstateFunction · 0.85
PyArray_NewFromDescr_intFunction · 0.85
_new_sortlikeFunction · 0.85
_new_argsortlikeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected