PyMODINIT_FUNC initnumpyColorgorical(void) { PyObject *colorIndex, *dict, *module, *score, *scorePenalty; module = Py_InitModule("numpyColorgorical", ScoreMethods); if (module == NULL) return; import_array(); import_umath(); colorIndex = PyUFunc_FromFuncAndData(double_colorIndex_func, double_colorIndex_data, double_colorIndex_types, 1, 1, 1, PyUFunc_None, "colorIndex", "colorIndex_docstring", 0); score = PyUFunc_FromFuncAndData(double_score_func, double_score_data, double_score_types, 1, 1, 1, PyUFunc_None, "score", "score_docstring", 0); scorePenalty = PyUFunc_FromFuncAndData(double_scorePenalty_func, double_scorePenalty_data, double_scorePenalty_types, 1, 1, 1, PyUFunc_None, "scorePenalty", "scorePenalty_docstring", 0); dict = PyModule_GetDict(module); PyDict_SetItemString(dict, "colorIndex", colorIndex); Py_DECREF(colorIndex); PyDict_SetItemString(dict, "score", score); Py_DECREF(score); PyDict_SetItemString(dict, "scorePenalty", scorePenalty); Py_DECREF(scorePenalty); }
PyMODINIT_FUNC init_quad(void) { PyObject *m; PyObject *np_module; PyObject *s; import_array(); if (PyErr_Occurred()) { return; } import_umath(); if (PyErr_Occurred()) { return; } s = PyString_FromString("numpy"); if (!s) { return; } np_module = PyImport_Import(s); Py_DECREF(s); m = Py_InitModule("_quad", ModuleMethods); if (m == NULL) { return; } init_quad_type(m, &PyGenericArrType_Type); init_quad_descriptor(np_module); }
PyMODINIT_FUNC init_ext(void) { import_array(); import_umath(); PyObject *module = Py_InitModule("_ext", ext_methods); return; }
PyObject * PyInit__ext(void) { import_array(); import_umath(); PyObject *module = PyModule_Create( &module_def ); return module; }
PyMODINIT_FUNC initavxmath(void) { PyObject *m; m = Py_InitModule("avxmath", AvxmathMethods); if (m == NULL) { return; } import_array(); import_umath(); register_avx_functions(m); }
PyMODINIT_FUNC PyInit_fastccd(void) { PyObject *m; m = PyModule_Create(&fastccdmodule); if(m == NULL){ return NULL; } import_array(); import_umath(); return m; }
/** @brief Module initialization. */ PyMODINIT_FUNC PyInit_aquagpusph(void) { PyObject *m; m = Py_InitModule("aquagpusph", methods); if (m == NULL) { return; } import_array(); import_umath(); }
PyMODINIT_FUNC PyInit_avxmath(void) { PyObject *m; m = PyModule_Create(&moduledef); if (!m) { return NULL; } import_array(); import_umath(); register_avx_functions(m); return m; }
/** @brief Module initialization. */ PyMODINIT_FUNC PyInit_aquagpusph(void) { PyObject *m; m = PyModule_Create(&moduledef); if (!m) { return NULL; } import_array(); import_umath(); return m; }
PyMODINIT_FUNC initvista() { /* PyObject *m; m = Py_InitModule("vista", VistaMethods); import_array(); import_umath(); return m;*/ Py_InitModule3("vista", VistaMethods, ""); import_array(); import_umath(); }
void unused_function() { import_array(); import_umath(); }
PyMODINIT_FUNC initnumpy_quaternion(void) { PyObject *m; int quaternionNum; PyObject* numpy = PyImport_ImportModule("numpy"); PyObject* numpy_dict = PyModule_GetDict(numpy); int arg_types[3]; m = Py_InitModule("numpy_quaternion", QuaternionMethods); if (m == NULL) { return; } /* Make sure NumPy is initialized */ import_array(); import_umath(); /* Register the quaternion array scalar type */ #if defined(NPY_PY3K) PyQuaternionArrType_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE; #else PyQuaternionArrType_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_CHECKTYPES; #endif PyQuaternionArrType_Type.tp_new = quaternion_arrtype_new; PyQuaternionArrType_Type.tp_richcompare = gentype_richcompare; PyQuaternionArrType_Type.tp_hash = quaternion_arrtype_hash; PyQuaternionArrType_Type.tp_repr = quaternion_arrtype_repr; PyQuaternionArrType_Type.tp_str = quaternion_arrtype_str; PyQuaternionArrType_Type.tp_base = &PyGenericArrType_Type; if (PyType_Ready(&PyQuaternionArrType_Type) < 0) { PyErr_Print(); PyErr_SetString(PyExc_SystemError, "could not initialize PyQuaternionArrType_Type"); return; } /* The array functions */ PyArray_InitArrFuncs(&_PyQuaternion_ArrFuncs); _PyQuaternion_ArrFuncs.getitem = (PyArray_GetItemFunc*)QUATERNION_getitem; _PyQuaternion_ArrFuncs.setitem = (PyArray_SetItemFunc*)QUATERNION_setitem; _PyQuaternion_ArrFuncs.copyswap = (PyArray_CopySwapFunc*)QUATERNION_copyswap; _PyQuaternion_ArrFuncs.copyswapn = (PyArray_CopySwapNFunc*)QUATERNION_copyswapn; _PyQuaternion_ArrFuncs.compare = (PyArray_CompareFunc*)QUATERNION_compare; _PyQuaternion_ArrFuncs.argmax = (PyArray_ArgFunc*)QUATERNION_argmax; _PyQuaternion_ArrFuncs.nonzero = (PyArray_NonzeroFunc*)QUATERNION_nonzero; _PyQuaternion_ArrFuncs.fillwithscalar = (PyArray_FillWithScalarFunc*)QUATERNION_fillwithscalar; /* The quaternion array descr */ quaternion_descr = PyObject_New(PyArray_Descr, &PyArrayDescr_Type); quaternion_descr->typeobj = &PyQuaternionArrType_Type; quaternion_descr->kind = 'q'; quaternion_descr->type = 'j'; quaternion_descr->byteorder = '='; quaternion_descr->type_num = 0; /* assigned at registration */ quaternion_descr->elsize = 8*4; quaternion_descr->alignment = 8; quaternion_descr->subarray = NULL; quaternion_descr->fields = NULL; quaternion_descr->names = NULL; quaternion_descr->f = &_PyQuaternion_ArrFuncs; Py_INCREF(&PyQuaternionArrType_Type); quaternionNum = PyArray_RegisterDataType(quaternion_descr); if (quaternionNum < 0) return; register_cast_function(NPY_BOOL, quaternionNum, (PyArray_VectorUnaryFunc*)BOOL_to_quaternion); register_cast_function(NPY_BYTE, quaternionNum, (PyArray_VectorUnaryFunc*)BYTE_to_quaternion); register_cast_function(NPY_UBYTE, quaternionNum, (PyArray_VectorUnaryFunc*)UBYTE_to_quaternion); register_cast_function(NPY_SHORT, quaternionNum, (PyArray_VectorUnaryFunc*)SHORT_to_quaternion); register_cast_function(NPY_USHORT, quaternionNum, (PyArray_VectorUnaryFunc*)USHORT_to_quaternion); register_cast_function(NPY_INT, quaternionNum, (PyArray_VectorUnaryFunc*)INT_to_quaternion); register_cast_function(NPY_UINT, quaternionNum, (PyArray_VectorUnaryFunc*)UINT_to_quaternion); register_cast_function(NPY_LONG, quaternionNum, (PyArray_VectorUnaryFunc*)LONG_to_quaternion); register_cast_function(NPY_ULONG, quaternionNum, (PyArray_VectorUnaryFunc*)ULONG_to_quaternion); register_cast_function(NPY_LONGLONG, quaternionNum, (PyArray_VectorUnaryFunc*)LONGLONG_to_quaternion); register_cast_function(NPY_ULONGLONG, quaternionNum, (PyArray_VectorUnaryFunc*)ULONGLONG_to_quaternion); register_cast_function(NPY_FLOAT, quaternionNum, (PyArray_VectorUnaryFunc*)FLOAT_to_quaternion); register_cast_function(NPY_DOUBLE, quaternionNum, (PyArray_VectorUnaryFunc*)DOUBLE_to_quaternion); register_cast_function(NPY_LONGDOUBLE, quaternionNum, (PyArray_VectorUnaryFunc*)LONGDOUBLE_to_quaternion); register_cast_function(NPY_CFLOAT, quaternionNum, (PyArray_VectorUnaryFunc*)CFLOAT_to_quaternion); register_cast_function(NPY_CDOUBLE, quaternionNum, (PyArray_VectorUnaryFunc*)CDOUBLE_to_quaternion); register_cast_function(NPY_CLONGDOUBLE, quaternionNum, (PyArray_VectorUnaryFunc*)CLONGDOUBLE_to_quaternion); #define REGISTER_UFUNC(name)\ PyUFunc_RegisterLoopForType((PyUFuncObject *)PyDict_GetItemString(numpy_dict, #name),\ quaternion_descr->type_num, quaternion_##name##_ufunc, arg_types, NULL) #define REGISTER_SCALAR_UFUNC(name)\ PyUFunc_RegisterLoopForType((PyUFuncObject *)PyDict_GetItemString(numpy_dict, #name),\ quaternion_descr->type_num, quaternion_##name##_scalar_ufunc, arg_types, NULL) /* quat -> bool */ arg_types[0] = quaternion_descr->type_num; arg_types[1] = NPY_BOOL; REGISTER_UFUNC(isnan); REGISTER_UFUNC(isinf); REGISTER_UFUNC(isfinite); /* quat -> double */ arg_types[1] = NPY_DOUBLE; REGISTER_UFUNC(absolute); /* quat -> quat */ arg_types[1] = quaternion_descr->type_num; REGISTER_UFUNC(log); REGISTER_UFUNC(exp); REGISTER_UFUNC(negative); REGISTER_UFUNC(conjugate); /* quat, quat -> bool */ arg_types[2] = NPY_BOOL; REGISTER_UFUNC(equal); REGISTER_UFUNC(not_equal); REGISTER_UFUNC(less); REGISTER_UFUNC(less_equal); /* quat, double -> quat */ arg_types[1] = NPY_DOUBLE; arg_types[2] = quaternion_descr->type_num; REGISTER_SCALAR_UFUNC(multiply); REGISTER_SCALAR_UFUNC(divide); REGISTER_SCALAR_UFUNC(power); /* quat, quat -> quat */ arg_types[1] = quaternion_descr->type_num; REGISTER_UFUNC(add); REGISTER_UFUNC(subtract); REGISTER_UFUNC(multiply); REGISTER_UFUNC(divide); REGISTER_UFUNC(power); REGISTER_UFUNC(copysign); PyModule_AddObject(m, "quaternion", (PyObject *)&PyQuaternionArrType_Type); }
void initialize_ufunc_pipeline(void) { import_array(); import_umath(); }