C elemental, querido numba

This post was originally published on this site
    <div>
      <br /> <!-- Generated by Cython 0.22 -->

      <br /> <br /> <br /> <br /> Generated by Cython 0.22</p>

      <div class="cython">
        <pre class='cython line score-19' onclick='toggleDiv(this)'>+01: <span class="k">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span></pre>

        <pre class='cython code score-19'>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_Import</span>(__pyx_n_s_numpy, 0, -1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>

Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE; goto pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; / / __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE; goto pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

        <pre class='cython line score-0'> 02: <span class="k">from</span> <span class="nn">cython</span> <span class="k">cimport</span> <span class="n">boundscheck</span><span class="p">,</span> <span class="n">wraparound</span></pre>

        <pre class='cython line score-0'> 03: </pre>

        <pre class='cython line score-22' onclick='toggleDiv(this)'>+04: <span class="k">cpdef</span> <span class="kt">char</span>[<span class="p">:,::</span><span class="mf">1</span><span class="p">]</span> <span class="n">busca_min_cython10</span><span class="p">(</span><span class="n">double</span><span class="p">[:,</span> <span class="p">::</span><span class="mf">1</span><span class="p">]</span> <span class="n">malla</span><span class="p">):</span></pre>

        <pre class='cython code score-22'>static PyObject *__pyx_pw_46_cython_magic_de7594aedda59602146d5e749862b110_1busca_min_cython10(PyObject *__pyx_self, PyObject *__pyx_arg_malla); /*proto*/

static __Pyx_memviewslice __pyx_f_46_cython_magic_de7594aedda59602146d5e749862b110_busca_min_cython10(__Pyx_memviewslice __pyx_v_malla, CYTHON_UNUSED int __pyx_skip_dispatch) { unsigned int __pyx_v_i; unsigned int __pyx_v_j; unsigned int __pyx_v_ii; unsigned int __pyx_v_jj; __Pyx_memviewslice __pyx_v_minimos = { 0, 0, { 0 }, { 0 }, { 0 } }; unsigned int __pyx_v_start; __Pyx_memviewslice __pyx_r = { 0, 0, { 0 }, { 0 }, { 0 } }; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext(«busca_min_cython10», 0); / / / function exit code / __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_XDEC_MEMVIEW(&__pyx_t_6, 1); __pyx_r.data = NULL; __pyx_r.memview = NULL; __Pyx_AddTraceback(«_cython_magic_de7594aedda59602146d5e749862b110.busca_min_cython10», __pyx_clineno, __pyx_lineno, __pyx_filename);

goto __pyx_L2; __pyx_L0:; if (unlikely(!__pyx_r.memview)) { PyErr_SetString(PyExc_TypeError,»Memoryview return value is not initialized»); } __pyx_L2:; __PYX_XDEC_MEMVIEW(&__pyx_v_minimos, 1); __Pyx_RefNannyFinishContext(); return __pyx_r; }

/ Python wrapper / static PyObject __pyx_pw_46_cython_magic_de7594aedda59602146d5e749862b110_1busca_min_cython10(PyObject __pyx_self, PyObject __pyx_arg_malla); /proto/ static PyObject __pyx_pw_46_cython_magic_de7594aedda59602146d5e749862b110_1busca_min_cython10(PyObject __pyx_self, PyObject __pyx_arg_malla) { __Pyx_memviewslice __pyx_v_malla = { 0, 0, { 0 }, { 0 }, { 0 } }; PyObject pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext(«busca_min_cython10 (wrapper)», 0); assert(__pyx_arg_malla); { __pyx_v_malla = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_arg_malla); if (unlikely(!__pyx_v_malla.memview)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; __pyx_clineno = __LINE; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; __Pyx_AddTraceback(«_cython_magic_de7594aedda59602146d5e749862b110.busca_min_cython10», __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_46_cython_magic_de7594aedda59602146d5e749862b110_busca_min_cython10(__pyx_self, __pyx_v_malla); int __pyx_lineno = 0; const char __pyx_filename = NULL; int __pyx_clineno = 0;

/ function exit code / __Pyx_RefNannyFinishContext(); return __pyx_r; }

static PyObject __pyx_pf_46_cython_magic_de7594aedda59602146d5e749862b110_busca_min_cython10(CYTHON_UNUSED PyObject pyx_self, __Pyx_memviewslice __pyx_v_malla) { PyObject pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext(«busca_min_cython10», 0); __Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_v_malla.memview)) { __Pyx_RaiseUnboundLocalError(«malla»); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; __pyx_clineno = __LINE; goto pyx_L1_error;} } __pyx_t_1 = __pyx_f_46_cython_magic_de7594aedda59602146d5e749862b110_busca_min_cython10(__pyx_v_malla, 0); if (unlikely(!__pyx_t_1.memview)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; __pyx_clineno = __LINE; goto __pyx_L1_error;} __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_t_1, 2, (PyObject ()(char )) __pyx_memview_get_char, (int ()(char , PyObject *)) __pyx_memview_set_char, 0);; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; __pyx_clineno = __LINE; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __PYX_XDEC_MEMVIEW(&__pyx_t_1, 1); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;

/ function exit code / __pyx_L1_error:; __PYX_XDEC_MEMVIEW(&__pyx_t_1, 1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback(«_cython_magic_de7594aedda59602146d5e749862b110.busca_min_cython10», __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XDEC_MEMVIEW(&__pyx_v_malla, 1); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }

        <pre class='cython line score-0'> 05:     <span class="k">cdef</span> <span class="kt">unsigned</span> <span class="kt">int</span> <span class="nf">i</span><span class="p">,</span> <span class="nf">j</span></pre>

        <pre class='cython line score-0' onclick='toggleDiv(this)'>+06:     <span class="k">cdef</span> <span class="kt">unsigned</span> <span class="kt">int</span> <span class="nf">ii</span> <span class="o">=</span> <span class="n">malla</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1</span></pre>

        <pre class='cython code score-0'>  __pyx_v_ii = ((__pyx_v_malla.shape[1]) - 1);
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+07:     <span class="k">cdef</span> <span class="kt">unsigned</span> <span class="kt">int</span> <span class="nf">jj</span> <span class="o">=</span> <span class="n">malla</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mf"></span><span class="p">]</span><span class="o">-</span><span class="mf">1</span></pre>

        <pre class='cython code score-0'>  __pyx_v_jj = ((__pyx_v_malla.shape[0]) - 1);
        <pre class='cython line score-35' onclick='toggleDiv(this)'>+08:     <span class="k">cdef</span> <span class="kt">char</span>[<span class="p">:,::</span><span class="mf">1</span><span class="p">]</span> <span class="n">minimos</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">malla</span><span class="p">,</span> <span class="n">dtype</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">int8</span><span class="p">)</span></pre>

        <pre class='cython code score-35'>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_n_s_np);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>

Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE; goto pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_memoryview_fromslice(__pyx_v_malla, 2, (PyObject ()(char )) __pyx_memview_get_double, (int ()(char , PyObject )) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE; goto pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); 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); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE; goto pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); 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_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE; goto pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE; goto pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __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_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_char(__pyx_t_5); if (unlikely(!__pyx_t_6.memview)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_minimos = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;

        <pre class='cython line score-0'> 09:     <span class="c">#minimos[...] = 0</span></pre>

        <pre class='cython line score-0' onclick='toggleDiv(this)'>+10:     <span class="k">cdef</span> <span class="kt">unsigned</span> <span class="kt">int</span> <span class="nf">start</span> <span class="o">=</span> <span class="mf">1</span></pre>

        <pre class='cython code score-0'>  __pyx_v_start = 1;
        <pre class='cython line score-0'> 11:     <span class="c">#cdef float [:, :] malla_view = malla</span></pre>

        <pre class='cython line score-0'> 12:     <span class="k">with</span> <span class="n">boundscheck</span><span class="p">(</span><span class="bp">False</span><span class="p">),</span> <span class="n">wraparound</span><span class="p">(</span><span class="bp">False</span><span class="p">):</span></pre>

        <pre class='cython line score-0' onclick='toggleDiv(this)'>+13:         <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">ii</span><span class="p">):</span></pre>

        <pre class='cython code score-0'>  __pyx_t_7 = __pyx_v_ii;

for (__pyx_t_8 = __pyx_v_start; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_j = __pyx_t_8;

        <pre class='cython line score-0' onclick='toggleDiv(this)'>+14:             <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">jj</span><span class="p">):</span></pre>

        <pre class='cython code score-0'>    __pyx_t_9 = __pyx_v_jj;
for (__pyx_t_10 = __pyx_v_start; __pyx_t_10 &lt; __pyx_t_9; __pyx_t_10+=1) {
  __pyx_v_i = __pyx_t_10;
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+15:                 <span class="k">if</span> <span class="p">(</span><span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="o">-</span><span class="mf">1</span><span class="p">,</span> <span class="n">i</span><span class="o">-</span><span class="mf">1</span><span class="p">]</span> <span class="ow">and</span></pre>

        <pre class='cython code score-0'>      __pyx_t_12 = __pyx_v_j;
  __pyx_t_13 = __pyx_v_i;
  __pyx_t_14 = (__pyx_v_j - 1);
  __pyx_t_15 = (__pyx_v_i - 1);
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_12 * __pyx_v_malla.strides[0]) )) + __pyx_t_13)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_14 * __pyx_v_malla.strides[0]) )) + __pyx_t_15)) )))) != 0);
  if (__pyx_t_16) {
  } else {
    __pyx_t_11 = __pyx_t_16;
    goto __pyx_L8_bool_binop_done;
  }
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+16:                     <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="o">-</span><span class="mf">1</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="ow">and</span></pre>

        <pre class='cython code score-0'>      __pyx_t_17 = __pyx_v_j;
  __pyx_t_18 = __pyx_v_i;
  __pyx_t_19 = (__pyx_v_j - 1);
  __pyx_t_20 = __pyx_v_i;
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_17 * __pyx_v_malla.strides[0]) )) + __pyx_t_18)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_19 * __pyx_v_malla.strides[0]) )) + __pyx_t_20)) )))) != 0);
  if (__pyx_t_16) {
  } else {
    __pyx_t_11 = __pyx_t_16;
    goto __pyx_L8_bool_binop_done;
  }
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+17:                     <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="o">-</span><span class="mf">1</span><span class="p">,</span> <span class="n">i</span><span class="o">+</span><span class="mf">1</span><span class="p">]</span> <span class="ow">and</span></pre>

        <pre class='cython code score-0'>      __pyx_t_21 = __pyx_v_j;
  __pyx_t_22 = __pyx_v_i;
  __pyx_t_23 = (__pyx_v_j - 1);
  __pyx_t_24 = (__pyx_v_i + 1);
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_21 * __pyx_v_malla.strides[0]) )) + __pyx_t_22)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_23 * __pyx_v_malla.strides[0]) )) + __pyx_t_24)) )))) != 0);
  if (__pyx_t_16) {
  } else {
    __pyx_t_11 = __pyx_t_16;
    goto __pyx_L8_bool_binop_done;
  }
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+18:                     <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="o">-</span><span class="mf">1</span><span class="p">]</span> <span class="ow">and</span></pre>

        <pre class='cython code score-0'>      __pyx_t_25 = __pyx_v_j;
  __pyx_t_26 = __pyx_v_i;
  __pyx_t_27 = __pyx_v_j;
  __pyx_t_28 = (__pyx_v_i - 1);
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_25 * __pyx_v_malla.strides[0]) )) + __pyx_t_26)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_27 * __pyx_v_malla.strides[0]) )) + __pyx_t_28)) )))) != 0);
  if (__pyx_t_16) {
  } else {
    __pyx_t_11 = __pyx_t_16;
    goto __pyx_L8_bool_binop_done;
  }
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+19:                     <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="o">+</span><span class="mf">1</span><span class="p">]</span> <span class="ow">and</span></pre>

        <pre class='cython code score-0'>      __pyx_t_29 = __pyx_v_j;
  __pyx_t_30 = __pyx_v_i;
  __pyx_t_31 = __pyx_v_j;
  __pyx_t_32 = (__pyx_v_i + 1);
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_29 * __pyx_v_malla.strides[0]) )) + __pyx_t_30)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_31 * __pyx_v_malla.strides[0]) )) + __pyx_t_32)) )))) != 0);
  if (__pyx_t_16) {
  } else {
    __pyx_t_11 = __pyx_t_16;
    goto __pyx_L8_bool_binop_done;
  }
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+20:                     <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="o">+</span><span class="mf">1</span><span class="p">,</span> <span class="n">i</span><span class="o">-</span><span class="mf">1</span><span class="p">]</span> <span class="ow">and</span></pre>

        <pre class='cython code score-0'>      __pyx_t_33 = __pyx_v_j;
  __pyx_t_34 = __pyx_v_i;
  __pyx_t_35 = (__pyx_v_j + 1);
  __pyx_t_36 = (__pyx_v_i - 1);
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_33 * __pyx_v_malla.strides[0]) )) + __pyx_t_34)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_35 * __pyx_v_malla.strides[0]) )) + __pyx_t_36)) )))) != 0);
  if (__pyx_t_16) {
  } else {
    __pyx_t_11 = __pyx_t_16;
    goto __pyx_L8_bool_binop_done;
  }
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+21:                     <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="o">+</span><span class="mf">1</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="ow">and</span></pre>

        <pre class='cython code score-0'>      __pyx_t_37 = __pyx_v_j;
  __pyx_t_38 = __pyx_v_i;
  __pyx_t_39 = (__pyx_v_j + 1);
  __pyx_t_40 = __pyx_v_i;
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_37 * __pyx_v_malla.strides[0]) )) + __pyx_t_38)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_39 * __pyx_v_malla.strides[0]) )) + __pyx_t_40)) )))) != 0);
  if (__pyx_t_16) {
  } else {
    __pyx_t_11 = __pyx_t_16;
    goto __pyx_L8_bool_binop_done;
  }
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+22:                     <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">i</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">malla</span><span class="p">[</span><span class="n">j</span><span class="o">+</span><span class="mf">1</span><span class="p">,</span> <span class="n">i</span><span class="o">+</span><span class="mf">1</span><span class="p">]):</span></pre>

        <pre class='cython code score-0'>      __pyx_t_41 = __pyx_v_j;
  __pyx_t_42 = __pyx_v_i;
  __pyx_t_43 = (__pyx_v_j + 1);
  __pyx_t_44 = (__pyx_v_i + 1);
  __pyx_t_16 = (((*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_41 * __pyx_v_malla.strides[0]) )) + __pyx_t_42)) ))) &lt; (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_malla.data + __pyx_t_43 * __pyx_v_malla.strides[0]) )) + __pyx_t_44)) )))) != 0);
  __pyx_t_11 = __pyx_t_16;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_11) {
        <pre class='cython line score-0' onclick='toggleDiv(this)'>+23:                     <span class="n">minimos</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1</span></pre>

        <pre class='cython code score-0'>        __pyx_t_45 = __pyx_v_i;
    __pyx_t_46 = __pyx_v_j;
    *((char *) ( /* dim=1 */ ((char *) (((char *) ( /* dim=0 */ (__pyx_v_minimos.data + __pyx_t_45 * __pyx_v_minimos.strides[0]) )) + __pyx_t_46)) )) = 1;
    goto __pyx_L7;
  }
  __pyx_L7:;
}

}

        <pre class='cython line score-0'> 24: </pre>

        <pre class='cython line score-0' onclick='toggleDiv(this)'>+25:     <span class="k">return</span> <span class="n">minimos</span></pre>

        <pre class='cython code score-0'>  __PYX_INC_MEMVIEW(&__pyx_v_minimos, 0);

__pyx_r = __pyx_v_minimos; goto __pyx_L0;

Comments are closed.