Generated by Cython 0.13 on Mon Apr 11 11:15:26 2011
Raw output: _sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.c
1:
2: include "interrupt.pxi" # ctrl-c interrupt block support
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_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: from sage.libs.gmp.all cimport * # (1)
7:
8: def add_rationals(bytes a, bytes b): # (2)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":8 * from sage.libs.gmp.all cimport * # (1) * * def add_rationals(bytes a, bytes b): # (2) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* cdef mpq_t x, y, z # (3) * mpq_init(x); mpq_init(y); mpq_init(z) # (4) */ static PyObject *__pyx_pf_78_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0_add_rationals(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_78_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0_add_rationals[] = "File: _sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx (starting at line 8)"; static PyObject *__pyx_pf_78_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0_add_rationals(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_a = 0; PyObject *__pyx_v_b = 0; mpq_t __pyx_v_x; mpq_t __pyx_v_y; mpq_t __pyx_v_z; int __pyx_v_n; char *__pyx_v_s; PyObject *__pyx_v_c = 0; PyObject *__pyx_r = NULL; static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__a,&__pyx_n_s__b,0}; __Pyx_RefNannySetupContext("add_rationals"); __pyx_self = __pyx_self; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__a); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__b); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("add_rationals", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "add_rationals")<
0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } __pyx_v_a = ((PyObject *)values[0]); __pyx_v_b = ((PyObject *)values[1]); } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { __pyx_v_a = ((PyObject *)PyTuple_GET_ITEM(__pyx_args, 0)); __pyx_v_b = ((PyObject *)PyTuple_GET_ITEM(__pyx_args, 1)); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("add_rationals", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.add_rationals"); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), &PyBytes_Type, 1, "a", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), &PyBytes_Type, 1, "b", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9: cdef mpq_t x, y, z # (3)
10: mpq_init(x); mpq_init(y); mpq_init(z) # (4)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":10 * def add_rationals(bytes a, bytes b): # (2) * cdef mpq_t x, y, z # (3) * mpq_init(x); mpq_init(y); mpq_init(z) # (4) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* mpq_set_str(x, a, 10) # base 10 string # (5) * mpq_set_str(y, b, 10) */ mpq_init(__pyx_v_x); mpq_init(__pyx_v_y); mpq_init(__pyx_v_z);
11: mpq_set_str(x, a, 10) # base 10 string # (5)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":11 * cdef mpq_t x, y, z # (3) * mpq_init(x); mpq_init(y); mpq_init(z) # (4) * mpq_set_str(x, a, 10) # base 10 string # (5) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* mpq_set_str(y, b, 10) * mpq_add(z, x, y) # (6) */ __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_a)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} mpq_set_str(__pyx_v_x, __pyx_t_1, 10);
12: mpq_set_str(y, b, 10)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":12 * mpq_init(x); mpq_init(y); mpq_init(z) # (4) * mpq_set_str(x, a, 10) # base 10 string # (5) * mpq_set_str(y, b, 10) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* mpq_add(z, x, y) # (6) * cdef int n = (mpz_sizeinbase (mpq_numref(z), 10) # (7) */ __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_b)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;} mpq_set_str(__pyx_v_y, __pyx_t_1, 10);
13: mpq_add(z, x, y) # (6)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":13 * mpq_set_str(x, a, 10) # base 10 string # (5) * mpq_set_str(y, b, 10) * mpq_add(z, x, y) # (6) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* cdef int n = (mpz_sizeinbase (mpq_numref(z), 10) # (7) * + mpz_sizeinbase (mpq_denref(z), 10) + 3) */ mpq_add(__pyx_v_z, __pyx_v_x, __pyx_v_y);
14: cdef int n = (mpz_sizeinbase (mpq_numref(z), 10) # (7)
15: + mpz_sizeinbase (mpq_denref(z), 10) + 3)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":15 * mpq_add(z, x, y) # (6) * cdef int n = (mpz_sizeinbase (mpq_numref(z), 10) # (7) * + mpz_sizeinbase (mpq_denref(z), 10) + 3) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* cdef char* s =<
char*>sage_malloc(sizeof(char)*n) # (8) * if not s: raise MemoryError # (9) */ __pyx_v_n = ((mpz_sizeinbase(mpq_numref(__pyx_v_z), 10) + mpz_sizeinbase(mpq_denref(__pyx_v_z), 10)) + 3);
16: cdef char* s = <char*>sage_malloc(sizeof(char)*n) # (8)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":16 * cdef int n = (mpz_sizeinbase (mpq_numref(z), 10) # (7) * + mpz_sizeinbase (mpq_denref(z), 10) + 3) * cdef char* s =<
char*>sage_malloc(sizeof(char)*n) # (8) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* if not s: raise MemoryError # (9) * cdef bytes c = mpq_get_str(s, 10, z) # (10) */ __pyx_v_s = ((char *)sage_malloc(((sizeof(char)) * __pyx_v_n)));
17: if not s: raise MemoryError # (9)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":17 * + mpz_sizeinbase (mpq_denref(z), 10) + 3) * cdef char* s =<
char*>sage_malloc(sizeof(char)*n) # (8) * if not s: raise MemoryError # (9) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* cdef bytes c = mpq_get_str(s, 10, z) # (10) * mpq_clear(x); mpq_clear(y); mpq_clear(z) # (11) */ __pyx_t_2 = (!(__pyx_v_s != 0)); if (__pyx_t_2) { __Pyx_Raise(__pyx_builtin_MemoryError, 0, 0); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:;
18: cdef bytes c = mpq_get_str(s, 10, z) # (10)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":18 * cdef char* s =<
char*>sage_malloc(sizeof(char)*n) # (8) * if not s: raise MemoryError # (9) * cdef bytes c = mpq_get_str(s, 10, z) # (10) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* mpq_clear(x); mpq_clear(y); mpq_clear(z) # (11) * sage_free(s) # (12) */ __pyx_t_3 = PyBytes_FromString(mpq_get_str(__pyx_v_s, 10, __pyx_v_z)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_v_c = __pyx_t_3; __pyx_t_3 = 0;
19: mpq_clear(x); mpq_clear(y); mpq_clear(z) # (11)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":19 * if not s: raise MemoryError # (9) * cdef bytes c = mpq_get_str(s, 10, z) # (10) * mpq_clear(x); mpq_clear(y); mpq_clear(z) # (11) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* sage_free(s) # (12) * return c */ mpq_clear(__pyx_v_x); mpq_clear(__pyx_v_y); mpq_clear(__pyx_v_z);
20: sage_free(s) # (12)
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":20 * cdef bytes c = mpq_get_str(s, 10, z) # (10) * mpq_clear(x); mpq_clear(y); mpq_clear(z) # (11) * sage_free(s) # (12) #<
<
<
<
<
<
<
<
<
<
<
<
<
<
* return c */ sage_free(__pyx_v_s);
21: return c
/* "/tmp/sagenbflask/temp/boxen/14347/spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx/_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.pyx":21 * mpq_clear(x); mpq_clear(y); mpq_clear(z) # (11) * sage_free(s) # (12) * return c #<
<
<
<
<
<
<
<
<
<
<
<
<
<
*/ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_c)); __pyx_r = ((PyObject *)__pyx_v_c); goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("_sagenb_flask_sage_notebook_sagenb_home_openidSfmMv1OuVE_27_code_sage59_spyx_0.add_rationals"); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_c); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }