📄 gaussian.c
字号:
#include <Python.h>double gaussian(double x1, double x2, double mu, double sigma){ static double sq2 = M_SQRT2; double z = (x1-mu)/sigma; double ret1 = 0.5 * (1.0+erf(z/sq2)); assert(ret1 <= 1 && ret1 >= -1); z = (x2-mu)/sigma; double ret2 = 0.5* (1.0+erf(z/sq2)); assert(ret2 <= 1 && ret2 >= -1); double ret = ret2 - ret1; assert(ret <= 1 && ret >= 0); return ret;}static PyObject * calc_gaussian(PyObject *self, PyObject *args){ double x1,x2,mu,sigma,ret; if (!(PyArg_ParseTuple(args,"dddd",&x1,&x2,&mu,&sigma))) return NULL; ret = gaussian(x1,x2,mu,sigma); return Py_BuildValue("d",ret);}static PyMethodDef GaussMethods[] = { {"gaussian",calc_gaussian,METH_VARARGS,"Calculate a gaussian"}, {NULL, NULL, 0, NULL}};PyMODINIT_FUNC initgauss(void){ (void) Py_InitModule("gauss",GaussMethods);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -