Generated by Cython 0.9.6.14 on Mon May 12 14:19:54 2008
Raw output: _Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0.c
1:
2: include "interrupt.pxi" # ctrl-c interrupt block support
3: include "stdsage.pxi" # ctrl-c interrupt block support
4:
5: include "cdefs.pxi"
6: def newton_cython(f, double c, fprime, double eps, int maxiter=100):
static PyObject *__pyx_pf_65_Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0_newton_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_65_Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0_newton_cython[] = "File: _Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0.pyx (starting at line 6)"; static PyObject *__pyx_pf_65_Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0_newton_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_f = 0; double __pyx_v_c; PyObject *__pyx_v_fprime = 0; double __pyx_v_eps; int __pyx_v_maxiter; double __pyx_v_fc; int __pyx_v_i; PyObject *__pyx_v_absfc; PyObject *__pyx_r; PyObject *__pyx_1 = 0; PyObject *__pyx_2 = 0; double __pyx_3; int __pyx_4; PyObject *__pyx_5 = 0; PyObject *__pyx_6 = 0; static char *__pyx_argnames[] = {"f","c","fprime","eps","maxiter",0}; __pyx_v_maxiter = 100; if (likely(!__pyx_kwds) && likely(4 <= PyTuple_GET_SIZE(__pyx_args)) && likely(PyTuple_GET_SIZE(__pyx_args) <= 5)) { __pyx_v_f = PyTuple_GET_ITEM(__pyx_args, 0); __pyx_v_c = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L2;} __pyx_v_fprime = PyTuple_GET_ITEM(__pyx_args, 2); __pyx_v_eps = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L2;} if (PyTuple_GET_SIZE(__pyx_args) > 4) { __pyx_v_maxiter = __pyx_PyInt_int(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_maxiter == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L2;} } } else { if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OdOd|i", __pyx_argnames, &__pyx_v_f, &__pyx_v_c, &__pyx_v_fprime, &__pyx_v_eps, &__pyx_v_maxiter))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L2;} } goto __pyx_L3; __pyx_L2:; __Pyx_AddTraceback("_Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0.newton_cython"); return NULL; __pyx_L3:; __pyx_v_absfc = Py_None; Py_INCREF(Py_None); return; __pyx_L1:; __Pyx_AddTraceback("_Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0"); }
7: cdef double fc
8: cdef int i
9: for i from 0 <= i < maxiter:
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_maxiter; __pyx_v_i++) {
10: fc = fcoerce(ccoerce)
__pyx_1 = PyFloat_FromDouble(__pyx_v_c); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1;} __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); __pyx_1 = 0; __pyx_1 = PyObject_Call(__pyx_v_f, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; __pyx_3 = __pyx_PyFloat_AsDouble(__pyx_1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_v_fc = __pyx_3;
11: absfc = coerce-fc if fc < 0 else fc
if ((__pyx_v_fc < 0)) { __pyx_3 = (-__pyx_v_fc); } else { __pyx_3 = __pyx_v_fc; } __pyx_2 = PyFloat_FromDouble(__pyx_3); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(__pyx_v_absfc); __pyx_v_absfc = __pyx_2; __pyx_2 = 0;
12: if absfc coerce< epscoerce:
__pyx_1 = PyFloat_FromDouble(__pyx_v_eps); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1;} __pyx_2 = PyObject_RichCompare(__pyx_v_absfc, __pyx_1, Py_LT); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; if (__pyx_4) {
13: return ccoerce
__pyx_1 = PyFloat_FromDouble(__pyx_v_c); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1;} __pyx_r = __pyx_1; __pyx_1 = 0; goto __pyx_L0; goto __pyx_L6; } __pyx_L6:;
14: c = c coercecoerce- fccoerce/fprime(ccoerce)
__pyx_2 = PyFloat_FromDouble(__pyx_v_c); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} __pyx_1 = PyFloat_FromDouble(__pyx_v_fc); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} __pyx_5 = PyFloat_FromDouble(__pyx_v_c); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} __pyx_6 = PyTuple_New(1); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_6, 0, __pyx_5); __pyx_5 = 0; __pyx_5 = PyObject_Call(__pyx_v_fprime, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0; __pyx_6 = PyNumber_Divide(__pyx_1, __pyx_5); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_1 = PyNumber_Subtract(__pyx_2, __pyx_6); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_6); __pyx_6 = 0; __pyx_3 = __pyx_PyFloat_AsDouble(__pyx_1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_v_c = __pyx_3; }
15: return ccoerce
__pyx_5 = PyFloat_FromDouble(__pyx_v_c); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1;} __pyx_r = __pyx_5; __pyx_5 = 0; goto __pyx_L0; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_2); Py_XDECREF(__pyx_5); Py_XDECREF(__pyx_6); __Pyx_AddTraceback("_Users_was_notebook_misc_worksheets_admin_142_code_sage690_spyx_0.newton_cython"); __pyx_r = NULL; __pyx_L0:; Py_DECREF(__pyx_v_absfc); return __pyx_r; }