Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
PyMODINIT_FUNC
init_ext(void)
{
    import_array();
    import_umath();

    PyObject *module = Py_InitModule("_ext", ext_methods);
    return;
}
Exemplo n.º 4
0
PyObject *
PyInit__ext(void)
{
    import_array();
    import_umath();

    PyObject *module = PyModule_Create( &module_def );
    return module;
}
Exemplo n.º 5
0
PyMODINIT_FUNC initavxmath(void)
{
    PyObject *m;
    m = Py_InitModule("avxmath", AvxmathMethods);
    if (m == NULL) {
        return;
    }
    import_array();
    import_umath();
    register_avx_functions(m);
}
Exemplo n.º 6
0
PyMODINIT_FUNC PyInit_fastccd(void) {
  PyObject *m;
  m = PyModule_Create(&fastccdmodule);
  if(m == NULL){
    return NULL;
  }

  import_array();
  import_umath();

  return m;
}
Exemplo n.º 7
0
/** @brief Module initialization.
 */
PyMODINIT_FUNC PyInit_aquagpusph(void)
{
    PyObject *m;

    m = Py_InitModule("aquagpusph", methods);
    if (m == NULL) {
        return;
    }

    import_array();
    import_umath();
}
Exemplo n.º 8
0
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;
}
Exemplo n.º 9
0
/** @brief Module initialization.
 */
PyMODINIT_FUNC PyInit_aquagpusph(void)
{
    PyObject *m;
    m = PyModule_Create(&moduledef);
    if (!m) {
        return NULL;
    }

    import_array();
    import_umath();

    return m;
}
Exemplo n.º 10
0
PyMODINIT_FUNC initvista()
{
/*
    PyObject *m;

    m = Py_InitModule("vista", VistaMethods);
    import_array();
    import_umath();
    return m;*/
    Py_InitModule3("vista", VistaMethods, "");
    import_array();
    import_umath();
}
Exemplo n.º 11
0
void unused_function() {
    import_array();
    import_umath();
}
Exemplo n.º 12
0
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);
}
Exemplo n.º 13
0
void initialize_ufunc_pipeline(void) {
    import_array();
    import_umath();
}