static PyObject * build_c_helpers_dict(void) { PyObject *dct = PyDict_New(); if (dct == NULL) goto error; #define _declpointer(name, value) do { \ PyObject *o = PyLong_FromVoidPtr(value); \ if (o == NULL) goto error; \ if (PyDict_SetItemString(dct, name, o)) { \ Py_DECREF(o); \ goto error; \ } \ Py_DECREF(o); \ } while (0) #define declmethod(func) _declpointer(#func, &NRT_##func) declmethod(adapt_ndarray_from_python); declmethod(adapt_ndarray_to_python); declmethod(adapt_buffer_from_python); declmethod(MemInfo_alloc); declmethod(MemInfo_alloc_safe); declmethod(MemInfo_alloc_aligned); declmethod(MemInfo_alloc_safe_aligned); declmethod(MemInfo_call_dtor); declmethod(MemInfo_varsize_alloc); declmethod(MemInfo_varsize_realloc); #undef declmethod return dct; error: Py_XDECREF(dct); return NULL; }
0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ (initproc)Capsule_init, /* tp_init */ 0, /* tp_alloc */ 0, /* tp_new */ }; /////////////////////////////////////////////////////////////////////////////// static PyMethodDef core_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } declmethod(getName), declmethod(getPointer), declmethod(check), declmethod(getClassName), declmethod(unwrap), declmethod(wrap), declmethod(has_ownership), declmethod(downcast), { NULL }, #undef declmethod }; // Module main function, hairy because of py3k port extern "C" { #if (PY_MAJOR_VERSION >= 3)
} static PyObject* join(PyObject *self, PyObject *args) { if ( ! PyArg_ParseTuple(args, "") ) { return NULL; } ThreadPool_join(&threadpool); Py_RETURN_NONE; } static PyMethodDef core_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } declmethod(init), declmethod(is_initialized), declmethod(enqueue), declmethod(join), { NULL }, #undef declmethod }; /* Module main function, hairy because of py3k port */ #if (PY_MAJOR_VERSION >= 3) struct PyModuleDef module_def = { PyModuleDef_HEAD_INIT, "cthreading", NULL, -1,
static PyObject* getClassName(PyObject* self, PyObject* args) { CapsuleContext* context = getContext(self, args); //Assert(context->_magic == 0xdead); if (!context) { return NULL; } else { return PyString_FromString(context->className); } } static PyMethodDef core_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } declmethod(getName), declmethod(getPointer), declmethod(check), declmethod(getClassName), { NULL }, #undef declmethod }; // Module main function, hairy because of py3k port extern "C" { #if (PY_MAJOR_VERSION >= 3) struct PyModuleDef module_def = { PyModuleDef_HEAD_INIT, "_capsule", NULL,
0, /* tp_alloc */ 0, /* tp_new */ }; static PyObject *compute_fingerprint(PyObject *self, PyObject *args) { PyObject *val; if (!PyArg_ParseTuple(args, "O:compute_fingerprint", &val)) return NULL; return typeof_compute_fingerprint(val); } static PyMethodDef ext_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } declmethod(typeof_init), declmethod(compute_fingerprint), { NULL }, #undef declmethod }; MOD_INIT(_dispatcher) { PyObject *m; MOD_DEF(m, "_dispatcher", "No docs", ext_methods) if (m == NULL) return MOD_ERROR_VAL; DispatcherType.tp_new = PyType_GenericNew; if (PyType_Ready(&DispatcherType) < 0) { return MOD_ERROR_VAL;
static PyObject * build_c_helpers_dict(void) { PyObject *dct = PyDict_New(); if (dct == NULL) goto error; #define _declpointer(name, value) do { \ PyObject *o = PyLong_FromVoidPtr(value); \ if (o == NULL) goto error; \ if (PyDict_SetItemString(dct, name, o)) { \ Py_DECREF(o); \ goto error; \ } \ Py_DECREF(o); \ } while (0) #define declmethod(func) _declpointer(#func, &numba_##func) #define declpointer(ptr) _declpointer(#ptr, &numba_##ptr) declmethod(sdiv); declmethod(srem); declmethod(udiv); declmethod(urem); declmethod(frexp); declmethod(frexpf); declmethod(ldexp); declmethod(ldexpf); declmethod(cpow); declmethod(erf); declmethod(erff); declmethod(erfc); declmethod(erfcf); declmethod(gamma); declmethod(gammaf); declmethod(lgamma); declmethod(lgammaf); declmethod(complex_adaptor); declmethod(adapt_ndarray); declmethod(ndarray_new); declmethod(extract_record_data); declmethod(get_buffer); declmethod(adapt_buffer); declmethod(release_buffer); declmethod(extract_np_datetime); declmethod(create_np_datetime); declmethod(extract_np_timedelta); declmethod(create_np_timedelta); declmethod(recreate_record); declmethod(fptoui); declmethod(fptouif); declmethod(gil_ensure); declmethod(gil_release); declmethod(py_type); declmethod(unpack_slice); declmethod(do_raise); declmethod(unpickle); declmethod(rnd_shuffle); declmethod(rnd_init); declmethod(poisson_ptrs); declmethod(attempt_nocopy_reshape); declmethod(get_list_private_data); declmethod(set_list_private_data); declmethod(reset_list_private_data); declmethod(xxgemm); declmethod(xxgemv); declmethod(xxdot); declpointer(py_random_state); declpointer(np_random_state); #define MATH_UNARY(F, R, A) declmethod(F); #define MATH_BINARY(F, R, A, B) declmethod(F); #include "mathnames.h" #undef MATH_UNARY #undef MATH_BINARY #undef declmethod return dct; error: Py_XDECREF(dct); return NULL; }
meminfo_alloc_safe(PyObject *self, PyObject *args) { NRT_MemInfo *mi; Py_ssize_t size; if (!PyArg_ParseTuple(args, "n", &size)) { return NULL; } mi = NRT_MemInfo_alloc_safe(size); return PyLong_FromVoidPtr(mi); } static PyMethodDef ext_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } #define declmethod_noargs(func) { #func , ( PyCFunction )func , METH_NOARGS, NULL } declmethod_noargs(memsys_use_cpython_allocator), declmethod_noargs(memsys_shutdown), declmethod(memsys_set_atomic_inc_dec), declmethod(memsys_set_atomic_cas), declmethod_noargs(memsys_get_stats_alloc), declmethod_noargs(memsys_get_stats_free), declmethod_noargs(memsys_get_stats_mi_alloc), declmethod_noargs(memsys_get_stats_mi_free), declmethod(meminfo_new), declmethod(meminfo_alloc), declmethod(meminfo_alloc_safe), { NULL }, #undef declmethod }; static PyObject *
static PyObject* select_overload(PyObject* self, PyObject* args); static PyObject* check_compatible(PyObject* self, PyObject* args); static PyObject* set_compatible(PyObject* self, PyObject* args); static PyObject* get_pointer(PyObject* self, PyObject* args); static PyMethodDef ext_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } declmethod(new_type_manager), declmethod(select_overload), declmethod(check_compatible), declmethod(set_compatible), declmethod(get_pointer), { NULL }, #undef declmethod }; MOD_INIT(_typeconv) { PyObject *m; MOD_DEF(m, "_typeconv", "No docs", ext_methods) if (m == NULL) return MOD_ERROR_VAL;
NRT_incref(MemInfo* mi) { if (mi) { NRT_MemInfo_acquire(mi); } } static void NRT_decref(MemInfo* mi) { if (mi) { NRT_MemInfo_release(mi, 0); } } static PyMethodDef ext_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } declmethod(memsys_shutdown), declmethod(memsys_set_atomic_inc_dec), declmethod(memsys_set_atomic_cas), declmethod(memsys_process_defer_dtor), declmethod(meminfo_new), declmethod(meminfo_alloc), declmethod(meminfo_alloc_safe), { NULL }, #undef declmethod }; static PyObject * build_c_helpers_dict(void) {
0, /* tp_is_gc */ 0, /* tp_bases */ 0, /* tp_mro */ 0, /* tp_cache */ 0, /* tp_subclasses */ 0, /* tp_weaklist */ 0, /* tp_del */ #if PY_VERSION_HEX >= 0x02060000 0, /* tp_version_tag */ #endif }; static PyMethodDef core_methods[] = { #define declmethod(func) { #func , ( PyCFunction )func , METH_VARARGS , NULL } declmethod(memoryview_get_buffer), declmethod(memoryview_get_extents), declmethod(memoryview_get_extents_info), { NULL }, #undef declmethod }; MOD_INIT(mviewbuf) { PyObject *module; MOD_DEF(module, "mviewbuf", "No docs", core_methods) if (module == NULL) return MOD_ERROR_VAL; MemAllocType.tp_new = PyType_GenericNew; if (PyType_Ready(&MemAllocType) < 0){