Generated by Cython 0.12.1 on Thu Jun 24 23:35:29 2010

Raw output: _Users_robertwb__sage_sage_notebook_sagenb_home_admin_97_code_sage33_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: import cython
 7: 
 8: @cython.locals(n=int, k=int)
 9: def is_prime2(n):
static PyObject *__pyx_pf_75_Users_robertwb__sage_sage_notebook_sagenb_home_admin_97_code_sage33_spyx_0_is_prime2(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_75_Users_robertwb__sage_sage_notebook_sagenb_home_admin_97_code_sage33_spyx_0_is_prime2[] = "File: _Users_robertwb__sage_sage_notebook_sagenb_home_admin_97_code_sage33_spyx_0.pyx (starting at line 9)";
static PyObject *__pyx_pf_75_Users_robertwb__sage_sage_notebook_sagenb_home_admin_97_code_sage33_spyx_0_is_prime2(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  int __pyx_v_n;
  int __pyx_v_k;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("is_prime2");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_n); {
    __pyx_v_n = __Pyx_PyInt_AsInt(__pyx_arg_n); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("_Users_robertwb__sage_sage_notebook_sagenb_home_admin_97_code_sage33_spyx_0.is_prime2");
  return NULL;
  __pyx_L4_argument_unpacking_done:;
 10:     if n == 2: return True
    __pyx_t_1 = (__pyx_v_n == 2);
  if (__pyx_t_1) {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
    goto __pyx_L5;
  }
  __pyx_L5:;
 11:     if n % 2 == 0 or n < 2: return False
    __pyx_t_1 = (__Pyx_mod_long(__pyx_v_n, 2) == 0);
  if (!__pyx_t_1) {
    __pyx_t_3 = (__pyx_v_n < 2);
    __pyx_t_4 = __pyx_t_3;
  } else {
    __pyx_t_4 = __pyx_t_1;
  }
  if (__pyx_t_4) {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBool_FromLong(0); 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_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
    goto __pyx_L6;
  }
  __pyx_L6:;
 12:     k = 3
    __pyx_v_k = 3;
 13:     while k*k <= n:
    while (1) {
    __pyx_t_4 = ((__pyx_v_k * __pyx_v_k) <= __pyx_v_n);
    if (!__pyx_t_4) break;
 14:         if n % k == 0: return False
        if (unlikely(__pyx_v_k == 0)) {
      PyErr_Format(PyExc_ZeroDivisionError, "integer division or modulo by zero");
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
    __pyx_t_4 = (__Pyx_mod_int(__pyx_v_n, __pyx_v_k) == 0);
    if (__pyx_t_4) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;
      goto __pyx_L9;
    }
    __pyx_L9:;
 15:         k += 2
        __pyx_v_k += 2;
  }
 16:     return True
    __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(1); 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_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_2);
  __Pyx_AddTraceback("_Users_robertwb__sage_sage_notebook_sagenb_home_admin_97_code_sage33_spyx_0.is_prime2");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}