標準偏差を計算するための ac 拡張を書いています。大規模なデータセットに対して実行されるため、パフォーマンスは重要です。リストから項目を取得したら、pyobject の値を取得する方法を理解するのに苦労しています。Python 用の ac 拡張機能を作成するのはこれが初めてで、どんな助けも大歓迎です。どうやら私はコードサンプルボタンを正しく使用する方法を知りません:(
これは私がこれまでに持っているものです:
#include <Python.h>
static PyObject*
func(PyObject *self, PyObject *args)
{
PyObject *list, *item;
Py_ssize_t i, len;
if (!PyArg_UnpackTuple(args, "func", 1, 1, &list)){
return NULL;
}
printf("hello world\n");
Py_INCREF(list);
len = PyList_GET_SIZE(list);
for (i=0;i<len;i++){
item = PyList_GET_ITEM(list, i);
PyObject_Print(item,stdout,0);
}
return list;
}
static char func_doc[] = "This function calculates standard deviation.";
static PyMethodDef std_methods[] = {
{"func", func, METH_VARARGS, func_doc},
{NULL, NULL}
};
PyMODINIT_FUNC
initstd(void)
{
Py_InitModule3("std", std_methods, "This is a sample docstring.");
}