Generated by Cython 0.13 on Wed Nov 10 12:07:37 2010

Raw output: _Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.c

 1: 
 2: include "interrupt.pxi"  # ctrl-c interrupt block support
  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_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: # First naive (and pointless) use of Cython.
 7: class Elt2:
  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":7
 * include "cdefs.pxi"
 * # First naive (and pointless) use of Cython.
 * class Elt2:             # <<<<<<<<<<<<<<
 *     def __init__(self, a, b):
 *         self.a = a; self.b = b
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __pyx_t_2 = __Pyx_CreateClass(((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1), __pyx_n_s__Elt2, "_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
 8:     def __init__(self, a, b):
/* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":8
 * # First naive (and pointless) use of Cython.
 * class Elt2:
 *     def __init__(self, a, b):             # <<<<<<<<<<<<<<
 *         self.a = a; self.b = b
 *     def __repr__(self):
 */

static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___init__[] = "File: _Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx (starting at line 8)";
static PyMethodDef __pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___init__ = {__Pyx_NAMESTR("__init__"), (PyCFunction)__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___init__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___init__)};
static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_a = 0;
  PyObject *__pyx_v_b = 0;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__self,&__pyx_n_s__a,&__pyx_n_s__b,0};
  __Pyx_RefNannySetupContext("__init__");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      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;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__self);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__a);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__b);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); {__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), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_self = values[0];
    __pyx_v_a = values[1];
    __pyx_v_b = values[2];
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_self = PyTuple_GET_ITEM(__pyx_args, 0);
    __pyx_v_a = PyTuple_GET_ITEM(__pyx_args, 1);
    __pyx_v_b = PyTuple_GET_ITEM(__pyx_args, 2);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 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("_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.Elt2.__init__");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":8
 * # First naive (and pointless) use of Cython.
 * class Elt2:
 *     def __init__(self, a, b):             # <<<<<<<<<<<<<<
 *         self.a = a; self.b = b
 *     def __repr__(self):
 */
  __pyx_t_3 = PyCFunction_New(&__pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___init__, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyMethod_New(__pyx_t_3, 0, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyObject_SetAttr(__pyx_t_2, __pyx_n_s____init__, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 9:         self.a = a; self.b = b
  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":9
 * class Elt2:
 *     def __init__(self, a, b):
 *         self.a = a; self.b = b             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '%s + %s*gamma'%(self.a, self.b)
 */
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s__a, __pyx_v_a) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s__b, __pyx_v_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.Elt2.__init__");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 10:     def __repr__(self):
/* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":10
 *     def __init__(self, a, b):
 *         self.a = a; self.b = b
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '%s + %s*gamma'%(self.a, self.b)
 *     def __add__(left, right):
 */

static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___repr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___repr__[] = "File: _Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx (starting at line 10)";
static PyMethodDef __pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___repr__ = {__Pyx_NAMESTR("__repr__"), (PyCFunction)__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___repr__, METH_O, __Pyx_DOCSTR(__pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___repr__)};
static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___repr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("__repr__");
  __pyx_self = __pyx_self;

  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":10
 *     def __init__(self, a, b):
 *         self.a = a; self.b = b
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '%s + %s*gamma'%(self.a, self.b)
 *     def __add__(left, right):
 */
  __pyx_t_4 = PyCFunction_New(&__pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___repr__, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyMethod_New(__pyx_t_4, 0, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyObject_SetAttr(__pyx_t_2, __pyx_n_s____repr__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 11:         return '%s + %s*gamma'%(self.a, self.b)
  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":11
 *         self.a = a; self.b = b
 *     def __repr__(self):
 *         return '%s + %s*gamma'%(self.a, self.b)             # <<<<<<<<<<<<<<
 *     def __add__(left, right):
 *         return Elt2(left.a + right.a, left.b + right.b)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__a); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__b); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = ((PyObject *)__pyx_t_2);
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.Elt2.__repr__");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 12:     def __add__(left, right):
/* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":12
 *     def __repr__(self):
 *         return '%s + %s*gamma'%(self.a, self.b)
 *     def __add__(left, right):             # <<<<<<<<<<<<<<
 *         return Elt2(left.a + right.a, left.b + right.b)
 *     def __mul__(left, right):
 */

static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___add__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___add__[] = "File: _Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx (starting at line 12)";
static PyMethodDef __pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___add__ = {__Pyx_NAMESTR("__add__"), (PyCFunction)__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___add__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___add__)};
static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___add__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_left = 0;
  PyObject *__pyx_v_right = 0;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__left,&__pyx_n_s__right,0};
  __Pyx_RefNannySetupContext("__add__");
  __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__left);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__right);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("__add__", 1, 2, 2, 1); {__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), "__add__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_left = values[0];
    __pyx_v_right = values[1];
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_left = PyTuple_GET_ITEM(__pyx_args, 0);
    __pyx_v_right = PyTuple_GET_ITEM(__pyx_args, 1);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__add__", 1, 2, 2, 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("_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.Elt2.__add__");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":12
 *     def __repr__(self):
 *         return '%s + %s*gamma'%(self.a, self.b)
 *     def __add__(left, right):             # <<<<<<<<<<<<<<
 *         return Elt2(left.a + right.a, left.b + right.b)
 *     def __mul__(left, right):
 */
  __pyx_t_3 = PyCFunction_New(&__pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___add__, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyMethod_New(__pyx_t_3, 0, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyObject_SetAttr(__pyx_t_2, __pyx_n_s____add__, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 13:         return Elt2(left.a + right.a, left.b + right.b)
  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":13
 *         return '%s + %s*gamma'%(self.a, self.b)
 *     def __add__(left, right):
 *         return Elt2(left.a + right.a, left.b + right.b)             # <<<<<<<<<<<<<<
 *     def __mul__(left, right):
 *         a, b, c, d = left.a, left.b, right.a, right.b
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__Elt2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_left, __pyx_n_s__a); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_GetAttr(__pyx_v_right, __pyx_n_s__a); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_GetAttr(__pyx_v_left, __pyx_n_s__b); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_right, __pyx_n_s__b); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __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_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.Elt2.__add__");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 14:     def __mul__(left, right):
/* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":14
 *     def __add__(left, right):
 *         return Elt2(left.a + right.a, left.b + right.b)
 *     def __mul__(left, right):             # <<<<<<<<<<<<<<
 *         a, b, c, d = left.a, left.b, right.a, right.b
 *         return Elt2(a*c + b*d, b*c + a*d + b*d)
 */

static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___mul__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___mul__[] = "File: _Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx (starting at line 14)";
static PyMethodDef __pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___mul__ = {__Pyx_NAMESTR("__mul__"), (PyCFunction)__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___mul__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___mul__)};
static PyObject *__pyx_pf_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___mul__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_left = 0;
  PyObject *__pyx_v_right = 0;
  PyObject *__pyx_v_a;
  PyObject *__pyx_v_b;
  PyObject *__pyx_v_c;
  PyObject *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__left,&__pyx_n_s__right,0};
  __Pyx_RefNannySetupContext("__mul__");
  __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__left);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__right);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("__mul__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __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), "__mul__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_left = values[0];
    __pyx_v_right = values[1];
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_left = PyTuple_GET_ITEM(__pyx_args, 0);
    __pyx_v_right = PyTuple_GET_ITEM(__pyx_args, 1);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__mul__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.Elt2.__mul__");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_a = Py_None; __Pyx_INCREF(Py_None);
  __pyx_v_b = Py_None; __Pyx_INCREF(Py_None);
  __pyx_v_c = Py_None; __Pyx_INCREF(Py_None);
  __pyx_v_d = Py_None; __Pyx_INCREF(Py_None);

  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":14
 *     def __add__(left, right):
 *         return Elt2(left.a + right.a, left.b + right.b)
 *     def __mul__(left, right):             # <<<<<<<<<<<<<<
 *         a, b, c, d = left.a, left.b, right.a, right.b
 *         return Elt2(a*c + b*d, b*c + a*d + b*d)
 */
  __pyx_t_4 = PyCFunction_New(&__pyx_mdef_74_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0_4Elt2___mul__, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyMethod_New(__pyx_t_4, 0, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyObject_SetAttr(__pyx_t_2, __pyx_n_s____mul__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__Elt2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 15:         a, b, c, d = left.a, left.b, right.a, right.b
  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":15
 *         return Elt2(left.a + right.a, left.b + right.b)
 *     def __mul__(left, right):
 *         a, b, c, d = left.a, left.b, right.a, right.b             # <<<<<<<<<<<<<<
 *         return Elt2(a*c + b*d, b*c + a*d + b*d)
 */
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_left, __pyx_n_s__a); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_left, __pyx_n_s__b); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_GetAttr(__pyx_v_right, __pyx_n_s__a); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_GetAttr(__pyx_v_right, __pyx_n_s__b); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_v_a);
  __pyx_v_a = __pyx_t_1;
  __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_v_b);
  __pyx_v_b = __pyx_t_2;
  __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_v_c);
  __pyx_v_c = __pyx_t_3;
  __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_v_d);
  __pyx_v_d = __pyx_t_4;
  __pyx_t_4 = 0;
 16:         return Elt2(a*c + b*d, b*c + a*d + b*d)
  /* "/Users/wstein/.sage/temp/d_69_91_146_204.dhcp4.washington.edu/39540/spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx/_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.pyx":16
 *     def __mul__(left, right):
 *         a, b, c, d = left.a, left.b, right.a, right.b
 *         return Elt2(a*c + b*d, b*c + a*d + b*d)             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__Elt2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyNumber_Multiply(__pyx_v_a, __pyx_v_c); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyNumber_Multiply(__pyx_v_b, __pyx_v_d); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Multiply(__pyx_v_b, __pyx_v_c); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyNumber_Multiply(__pyx_v_a, __pyx_v_d); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_Multiply(__pyx_v_b, __pyx_v_d); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("_Users_wstein__sage_psage_notebook_sagenb_home_admin_22_code_sage72_spyx_0.Elt2.__mul__");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_a);
  __Pyx_DECREF(__pyx_v_b);
  __Pyx_DECREF(__pyx_v_c);
  __Pyx_DECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}