Generated by Cython 0.15.1 on Thu May 24 21:34:56 2012

Raw output: _sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.c

 1: 
 2: include "interrupt.pxi"  # ctrl-c interrupt block support
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":2
 * 
 * include "interrupt.pxi"  # ctrl-c interrupt block support             # <<<<<<<<<<<<<<
 * include "stdsage.pxi"  # ctrl-c interrupt block support
 * 
 */
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 3: include "stdsage.pxi"  # ctrl-c interrupt block support
 4: 
 5: include "cdefs.pxi"
 6: import numpy as np
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":6
 * 
 * include "cdefs.pxi"
 * import numpy as np             # <<<<<<<<<<<<<<
 * cimport numpy as np
 * 
 */
  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 7: cimport numpy as np
 8: 
 9: cdouble = np.double
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":9
 * cimport numpy as np
 * 
 * cdouble = np.double             # <<<<<<<<<<<<<<
 * ctypedef np.double_t cdouble_t
 * 
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__double); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__cdouble, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 10: ctypedef np.double_t cdouble_t
 11: 
 12: cpdef np.ndarray ode_cross(np.ndarray[cdouble_t] x, double t, double k_f, double k_r):
/* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":12
 * ctypedef np.double_t cdouble_t
 * 
 * cpdef np.ndarray ode_cross(np.ndarray[cdouble_t] x, double t, double k_f, double k_r):             # <<<<<<<<<<<<<<
 *     cdef double l   = x[0]
 *     cdef double r   = x[1]
 */

static PyObject *__pyx_pf_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_ode_cross(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyArrayObject *__pyx_f_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_ode_cross(PyArrayObject *__pyx_v_x, double __pyx_v_t, double __pyx_v_k_f, double __pyx_v_k_r, int __pyx_skip_dispatch) {
  double __pyx_v_l;
  double __pyx_v_r;
  double __pyx_v_c_1;
  double __pyx_v_c_2;
  double __pyx_v_c_3;
  Py_buffer __pyx_bstruct_x;
  Py_ssize_t __pyx_bstride_0_x = 0;
  Py_ssize_t __pyx_bshape_0_x = 0;
  PyArrayObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ode_cross");
  __pyx_bstruct_x.buf = NULL;
  {
    __Pyx_BufFmt_StackElem __pyx_stack[1];
    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_x, (PyObject*)__pyx_v_x, &__Pyx_TypeInfo_nn___pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_cdouble_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_x = __pyx_bstruct_x.strides[0];
  __pyx_bshape_0_x = __pyx_bstruct_x.shape[0];

/* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":12
 * ctypedef np.double_t cdouble_t
 * 
 * cpdef np.ndarray ode_cross(np.ndarray[cdouble_t] x, double t, double k_f, double k_r):             # <<<<<<<<<<<<<<
 *     cdef double l   = x[0]
 *     cdef double r   = x[1]
 */

static PyObject *__pyx_pf_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_ode_cross(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_ode_cross[] = "File: _sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx (starting at line 12)";
static PyObject *__pyx_pf_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_ode_cross(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyArrayObject *__pyx_v_x = 0;
  double __pyx_v_t;
  double __pyx_v_k_f;
  double __pyx_v_k_r;
  Py_buffer __pyx_bstruct_x;
  Py_ssize_t __pyx_bstride_0_x = 0;
  Py_ssize_t __pyx_bshape_0_x = 0;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__t,&__pyx_n_s__k_f,&__pyx_n_s__k_r,0};
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ode_cross");
  __pyx_self = __pyx_self;
  {
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  0:
        values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
        if (likely(values[0])) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__t);
        if (likely(values[1])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_cross", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_f);
        if (likely(values[2])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_cross", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_r);
        if (likely(values[3])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_cross", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __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), "ode_cross") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_x = ((PyArrayObject *)values[0]);
    __pyx_v_t = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_t == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_f = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_k_f == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_r = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_k_r == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("ode_cross", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.ode_cross", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_bstruct_x.buf = NULL;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 1, "x", 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_x, (PyObject*)__pyx_v_x, &__Pyx_TypeInfo_nn___pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_cdouble_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_x = __pyx_bstruct_x.strides[0];
  __pyx_bshape_0_x = __pyx_bstruct_x.shape[0];
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_ode_cross(__pyx_v_x, __pyx_v_t, __pyx_v_k_f, __pyx_v_k_r, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
    __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
  __Pyx_AddTraceback("_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.ode_cross", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  goto __pyx_L2;
  __pyx_L0:;
  __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __pyx_L2:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 13:     cdef double l   = x[0]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":13
 * 
 * cpdef np.ndarray ode_cross(np.ndarray[cdouble_t] x, double t, double k_f, double k_r):
 *     cdef double l   = x[0]             # <<<<<<<<<<<<<<
 *     cdef double r   = x[1]
 *     cdef double c_1 = x[2]
 */
  __pyx_t_1 = 0;
  __pyx_t_2 = -1;
  if (__pyx_t_1 < 0) {
    __pyx_t_1 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_1 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_1 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_l = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_1, __pyx_bstride_0_x));
 14:     cdef double r   = x[1]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":14
 * cpdef np.ndarray ode_cross(np.ndarray[cdouble_t] x, double t, double k_f, double k_r):
 *     cdef double l   = x[0]
 *     cdef double r   = x[1]             # <<<<<<<<<<<<<<
 *     cdef double c_1 = x[2]
 *     cdef double c_2 = x[3]
 */
  __pyx_t_3 = 1;
  __pyx_t_2 = -1;
  if (__pyx_t_3 < 0) {
    __pyx_t_3 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_3 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_3 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_r = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_3, __pyx_bstride_0_x));
 15:     cdef double c_1 = x[2]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":15
 *     cdef double l   = x[0]
 *     cdef double r   = x[1]
 *     cdef double c_1 = x[2]             # <<<<<<<<<<<<<<
 *     cdef double c_2 = x[3]
 *     cdef double c_3 = x[4]
 */
  __pyx_t_4 = 2;
  __pyx_t_2 = -1;
  if (__pyx_t_4 < 0) {
    __pyx_t_4 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_4 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_4 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_c_1 = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_4, __pyx_bstride_0_x));
 16:     cdef double c_2 = x[3]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":16
 *     cdef double r   = x[1]
 *     cdef double c_1 = x[2]
 *     cdef double c_2 = x[3]             # <<<<<<<<<<<<<<
 *     cdef double c_3 = x[4]
 *     return np.array(
 */
  __pyx_t_5 = 3;
  __pyx_t_2 = -1;
  if (__pyx_t_5 < 0) {
    __pyx_t_5 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_5 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_5 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_c_2 = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_5, __pyx_bstride_0_x));
 17:     cdef double c_3 = x[4]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":17
 *     cdef double c_1 = x[2]
 *     cdef double c_2 = x[3]
 *     cdef double c_3 = x[4]             # <<<<<<<<<<<<<<
 *     return np.array(
 *         [(-3*k_f)*l*r + k_r*c_1,
 */
  __pyx_t_6 = 4;
  __pyx_t_2 = -1;
  if (__pyx_t_6 < 0) {
    __pyx_t_6 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_6 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_6 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_c_3 = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_6, __pyx_bstride_0_x));
 18:     return np.array(
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":18
 *     cdef double c_2 = x[3]
 *     cdef double c_3 = x[4]
 *     return np.array(             # <<<<<<<<<<<<<<
 *         [(-3*k_f)*l*r + k_r*c_1,
 *          (-3*k_f)*l*r + (-2*k_f)*r*c_1 + (-k_f)*r*c_2 + k_r*c_1 + 2*k_r*c_2 + 3*k_r*c_3,
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__array); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 19:         [(-3*k_f)*l*r + k_r*c_1,
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":19
 *     cdef double c_3 = x[4]
 *     return np.array(
 *         [(-3*k_f)*l*r + k_r*c_1,             # <<<<<<<<<<<<<<
 *          (-3*k_f)*l*r + (-2*k_f)*r*c_1 + (-k_f)*r*c_2 + k_r*c_1 + 2*k_r*c_2 + 3*k_r*c_3,
 *          3*k_f*l*r + (-2*k_f)*r*c_1 + (-k_r)*c_1 + 2*k_r*c_2,
 */
  __pyx_t_7 = PyFloat_FromDouble(((((-3.0 * __pyx_v_k_f) * __pyx_v_l) * __pyx_v_r) + (__pyx_v_k_r * __pyx_v_c_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_7);
 20:          (-3*k_f)*l*r + (-2*k_f)*r*c_1 + (-k_f)*r*c_2 + k_r*c_1 + 2*k_r*c_2 + 3*k_r*c_3,
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":20
 *     return np.array(
 *         [(-3*k_f)*l*r + k_r*c_1,
 *          (-3*k_f)*l*r + (-2*k_f)*r*c_1 + (-k_f)*r*c_2 + k_r*c_1 + 2*k_r*c_2 + 3*k_r*c_3,             # <<<<<<<<<<<<<<
 *          3*k_f*l*r + (-2*k_f)*r*c_1 + (-k_r)*c_1 + 2*k_r*c_2,
 *          2*k_f*r*c_1 + (-k_f)*r*c_2 + (-2*k_r)*c_2 + 3*k_r*c_3,
 */
  __pyx_t_9 = PyFloat_FromDouble(((((((((-3.0 * __pyx_v_k_f) * __pyx_v_l) * __pyx_v_r) + (((-2.0 * __pyx_v_k_f) * __pyx_v_r) * __pyx_v_c_1)) + (((-__pyx_v_k_f) * __pyx_v_r) * __pyx_v_c_2)) + (__pyx_v_k_r * __pyx_v_c_1)) + ((2.0 * __pyx_v_k_r) * __pyx_v_c_2)) + ((3.0 * __pyx_v_k_r) * __pyx_v_c_3))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
 21:          3*k_f*l*r + (-2*k_f)*r*c_1 + (-k_r)*c_1 + 2*k_r*c_2,
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":21
 *         [(-3*k_f)*l*r + k_r*c_1,
 *          (-3*k_f)*l*r + (-2*k_f)*r*c_1 + (-k_f)*r*c_2 + k_r*c_1 + 2*k_r*c_2 + 3*k_r*c_3,
 *          3*k_f*l*r + (-2*k_f)*r*c_1 + (-k_r)*c_1 + 2*k_r*c_2,             # <<<<<<<<<<<<<<
 *          2*k_f*r*c_1 + (-k_f)*r*c_2 + (-2*k_r)*c_2 + 3*k_r*c_3,
 *          k_f*r*c_2 + (-3*k_r)*c_3])
 */
  __pyx_t_10 = PyFloat_FromDouble(((((((3.0 * __pyx_v_k_f) * __pyx_v_l) * __pyx_v_r) + (((-2.0 * __pyx_v_k_f) * __pyx_v_r) * __pyx_v_c_1)) + ((-__pyx_v_k_r) * __pyx_v_c_1)) + ((2.0 * __pyx_v_k_r) * __pyx_v_c_2))); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_10);
 22:          2*k_f*r*c_1 + (-k_f)*r*c_2 + (-2*k_r)*c_2 + 3*k_r*c_3,
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":22
 *          (-3*k_f)*l*r + (-2*k_f)*r*c_1 + (-k_f)*r*c_2 + k_r*c_1 + 2*k_r*c_2 + 3*k_r*c_3,
 *          3*k_f*l*r + (-2*k_f)*r*c_1 + (-k_r)*c_1 + 2*k_r*c_2,
 *          2*k_f*r*c_1 + (-k_f)*r*c_2 + (-2*k_r)*c_2 + 3*k_r*c_3,             # <<<<<<<<<<<<<<
 *          k_f*r*c_2 + (-3*k_r)*c_3])
 */
  __pyx_t_11 = PyFloat_FromDouble(((((((2.0 * __pyx_v_k_f) * __pyx_v_r) * __pyx_v_c_1) + (((-__pyx_v_k_f) * __pyx_v_r) * __pyx_v_c_2)) + ((-2.0 * __pyx_v_k_r) * __pyx_v_c_2)) + ((3.0 * __pyx_v_k_r) * __pyx_v_c_3))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_11);
 23:          k_f*r*c_2 + (-3*k_r)*c_3])
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.pyx":23
 *          3*k_f*l*r + (-2*k_f)*r*c_1 + (-k_r)*c_1 + 2*k_r*c_2,
 *          2*k_f*r*c_1 + (-k_f)*r*c_2 + (-2*k_r)*c_2 + 3*k_r*c_3,
 *          k_f*r*c_2 + (-3*k_r)*c_3])             # <<<<<<<<<<<<<<
 */
  __pyx_t_12 = PyFloat_FromDouble((((__pyx_v_k_f * __pyx_v_r) * __pyx_v_c_2) + ((-3.0 * __pyx_v_k_r) * __pyx_v_c_3))); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_13 = PyList_New(5); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_13));
  PyList_SET_ITEM(__pyx_t_13, 0, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_7);
  PyList_SET_ITEM(__pyx_t_13, 1, __pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_9);
  PyList_SET_ITEM(__pyx_t_13, 2, __pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_10);
  PyList_SET_ITEM(__pyx_t_13, 3, __pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_11);
  PyList_SET_ITEM(__pyx_t_13, 4, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_12);
  __pyx_t_7 = 0;
  __pyx_t_9 = 0;
  __pyx_t_10 = 0;
  __pyx_t_11 = 0;
  __pyx_t_12 = 0;
  __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_12));
  PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_t_13));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_13));
  __pyx_t_13 = 0;
  __pyx_t_13 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_12), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0;
  if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyArrayObject *)__pyx_t_13);
  __pyx_t_13 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
    __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
  __Pyx_AddTraceback("_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage63_spyx_0.ode_cross", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  goto __pyx_L2;
  __pyx_L0:;
  __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __pyx_L2:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}