Generated by Cython 0.13 on Fri Apr 22 12:40:49 2011
Raw output: _sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.c
1:
2: include "interrupt.pxi" # ctrl-c interrupt block support
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":2 * * include "interrupt.pxi" # ctrl-c interrupt block support #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* include "stdsage.pxi" # ctrl-c interrupt block support * */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1))<
0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
3: include "stdsage.pxi" # ctrl-c interrupt block support
4:
5: include "cdefs.pxi"
6: cimport numpy as np
7: cdef extern:
8: double sqrt(double)
9:
10: def std_numpy4b(np.ndarray[np.float64_t, ndim=1] v):
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":10 * double sqrt(double) * * def std_numpy4b(np.ndarray[np.float64_t, ndim=1] v): #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* cdef Py_ssize_t i * cdef Py_ssize_t n = v.shape[0] # how many entries */ static PyObject *__pyx_pf_79_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0_std_numpy4b(PyObject *__pyx_self, PyObject *__pyx_v_v); /*proto*/ static char __pyx_doc_79_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0_std_numpy4b[] = "File: _sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx (starting at line 10)"; static PyObject *__pyx_pf_79_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0_std_numpy4b(PyObject *__pyx_self, PyObject *__pyx_v_v) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; double __pyx_v_m; double __pyx_v_s; Py_buffer __pyx_bstruct_v; Py_ssize_t __pyx_bstride_0_v = 0; Py_ssize_t __pyx_bshape_0_v = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannySetupContext("std_numpy4b"); __pyx_self = __pyx_self; __pyx_bstruct_v.buf = NULL; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_v), __pyx_ptype_5numpy_ndarray, 1, "v", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;} { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_v, (PyObject*)__pyx_v_v, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_bstride_0_v = __pyx_bstruct_v.strides[0]; __pyx_bshape_0_v = __pyx_bstruct_v.shape[0];
11: cdef Py_ssize_t i
12: cdef Py_ssize_t n = v.shape[0] # how many entries
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":12 * def std_numpy4b(np.ndarray[np.float64_t, ndim=1] v): * cdef Py_ssize_t i * cdef Py_ssize_t n = v.shape[0] # how many entries #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* * # Compute the mean */ __pyx_v_n = (((PyArrayObject *)__pyx_v_v)->dimensions[0]);
13:
14: # Compute the mean
15: cdef double m = 0
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":15 * * # Compute the mean * cdef double m = 0 #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* for i in range(n): * m += v[i] */ __pyx_v_m = 0.0;
16: for i in range(n):
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":16 * # Compute the mean * cdef double m = 0 * for i in range(n): #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* m += v[i] * m /= n */ __pyx_t_1 = __pyx_v_n; for (__pyx_t_2 = 0; __pyx_t_2<
__pyx_t_1; __pyx_t_2+=1) { __pyx_v_i = __pyx_t_2;
17: m += v[i]
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":17 * cdef double m = 0 * for i in range(n): * m += v[i] #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* m /= n * */ __pyx_t_3 = __pyx_v_i; __pyx_t_4 = -1; if (__pyx_t_3<
0) { __pyx_t_3 += __pyx_bshape_0_v; if (unlikely(__pyx_t_3<
0)) __pyx_t_4 = 0; } else if (unlikely(__pyx_t_3 >= __pyx_bshape_0_v)) __pyx_t_4 = 0; if (unlikely(__pyx_t_4 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_m += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_3, __pyx_bstride_0_v)); }
18: m /= n
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":18 * for i in range(n): * m += v[i] * m /= n #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* * # Compute variance */ __pyx_v_m /= __pyx_v_n;
19:
20: # Compute variance
21: cdef double s = 0
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":21 * * # Compute variance * cdef double s = 0 #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* for i in range(n): * s += (v[i] - m)**2 */ __pyx_v_s = 0.0;
22: for i in range(n):
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":22 * # Compute variance * cdef double s = 0 * for i in range(n): #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* s += (v[i] - m)**2 * */ __pyx_t_1 = __pyx_v_n; for (__pyx_t_2 = 0; __pyx_t_2<
__pyx_t_1; __pyx_t_2+=1) { __pyx_v_i = __pyx_t_2;
23: s += (v[i] - m)**2
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":23 * cdef double s = 0 * for i in range(n): * s += (v[i] - m)**2 #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* * return sqrt(s/n) */ __pyx_t_5 = __pyx_v_i; __pyx_t_4 = -1; if (__pyx_t_5<
0) { __pyx_t_5 += __pyx_bshape_0_v; if (unlikely(__pyx_t_5<
0)) __pyx_t_4 = 0; } else if (unlikely(__pyx_t_5 >= __pyx_bshape_0_v)) __pyx_t_4 = 0; if (unlikely(__pyx_t_4 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_s += pow(((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_5, __pyx_bstride_0_v)) - __pyx_v_m), 2.0); }
24:
25: return sqrt(s/n)
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.pyx":25 * s += (v[i] - m)**2 * * return sqrt(s/n) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
*/ __Pyx_XDECREF(__pyx_r); if (unlikely(__pyx_v_n == 0)) { PyErr_Format(PyExc_ZeroDivisionError, "float division"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_6 = PyFloat_FromDouble(sqrt((__pyx_v_s / __pyx_v_n))); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_bstruct_v); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage280_spyx_0.std_numpy4b"); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_bstruct_v); __pyx_L2:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }