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;
}