Generated by Cython 0.13 on Fri Apr 22 12:41:39 2011
Raw output: _sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_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_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_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: cimport cython
11: @cython.boundscheck(False) # turn of bounds-checking for entire function
12: def std_numpy5a(np.ndarray[np.float64_t, ndim=1] v):
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":12 * cimport cython * @cython.boundscheck(False) # turn of bounds-checking for entire function * def std_numpy5a(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_sage288_spyx_0_std_numpy5a(PyObject *__pyx_self, PyObject *__pyx_v_v); /*proto*/ static char __pyx_doc_79_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0_std_numpy5a[] = "File: _sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx (starting at line 12)"; static PyObject *__pyx_pf_79_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0_std_numpy5a(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_numpy5a"); __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 = 12; __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 = 12; __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];
13: cdef Py_ssize_t i
14: 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_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":14 * def std_numpy5a(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 * cdef double m = 0 */ __pyx_v_n = (((PyArrayObject *)__pyx_v_v)->dimensions[0]);
15: # Compute the mean
16: cdef double m = 0
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":16 * cdef Py_ssize_t n = v.shape[0] # how many entries * # Compute the mean * cdef double m = 0 #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* for i in range(n): * m += v[i] */ __pyx_v_m = 0.0;
17: for i in range(n):
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":17 * # 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;
18: m += v[i]
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":18 * cdef double m = 0 * for i in range(n): * m += v[i] #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* m /= n * # Compute variance */ __pyx_t_3 = __pyx_v_i; if (__pyx_t_3<
0) __pyx_t_3 += __pyx_bshape_0_v; __pyx_v_m += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_3, __pyx_bstride_0_v)); }
19: m /= n
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":19 * for i in range(n): * m += v[i] * m /= n #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* # Compute variance * cdef double s = 0 */ __pyx_v_m /= __pyx_v_n;
20: # Compute variance
21: cdef double s = 0
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":21 * m /= n * # 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_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":22 * # Compute variance * cdef double s = 0 * for i in range(n): #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* s += (v[i] - m)**2 * return sqrt(s/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;
23: s += (v[i] - m)**2
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":23 * cdef double s = 0 * for i in range(n): * s += (v[i] - m)**2 #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* return sqrt(s/n) */ __pyx_t_4 = __pyx_v_i; if (__pyx_t_4<
0) __pyx_t_4 += __pyx_bshape_0_v; __pyx_v_s += pow(((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_4, __pyx_bstride_0_v)) - __pyx_v_m), 2.0); }
24: return sqrt(s/n)
/* "/tmp/sagenbflask/temp/boxen/19348/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_44_code_sage288_spyx_0.pyx":24 * for i in range(n): * 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 = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_5 = PyFloat_FromDouble(sqrt((__pyx_v_s / __pyx_v_n))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); { 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_sage288_spyx_0.std_numpy5a"); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_bstruct_v); __pyx_L2:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }