Generated by Cython 0.29.21

Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.

Raw output: c_corr.c

+001: # cython: infer_types=True
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+002: import numpy as np
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 003: cimport cython
 004: 
 005: 
 006: ctypedef fused npType1:
 007:     short
 008:     int
 009:     long
 010:     float
 011:     double
 012: 
 013: ctypedef fused npType2:
 014:     short
 015:     int
 016:     long
 017: 
 018: 
 019: @cython.boundscheck(False)
 020: @cython.wraparound(False)
 021: @cython.embedsignature(True)
+022: def c_corr_at(npType1[:,::1] cc, npType2[::1, :] taus):
/* Python wrapper */
static PyObject *__pyx_pw_6c_corr_1c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6c_corr_c_corr_at[] = "c_corr_at(signatures, args, kwargs, defaults)";
static PyMethodDef __pyx_mdef_6c_corr_1c_corr_at = {"c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6c_corr_1c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_pw_6c_corr_1c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_signatures = 0;
  PyObject *__pyx_v_args = 0;
  PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED PyObject *__pyx_v_defaults = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fused_cpdef (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_signatures,&__pyx_n_s_args,&__pyx_n_s_kwargs,&__pyx_n_s_defaults,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_signatures)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 2); __PYX_ERR(0, 22, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_defaults)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 3); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_fused_cpdef") < 0)) __PYX_ERR(0, 22, __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_signatures = values[0];
    __pyx_v_args = values[1];
    __pyx_v_kwargs = values[2];
    __pyx_v_defaults = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_c_corr_at(__pyx_self, __pyx_v_signatures, __pyx_v_args, __pyx_v_kwargs, __pyx_v_defaults);
  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_6c_corr_c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_signatures, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, CYTHON_UNUSED PyObject *__pyx_v_defaults) {
  PyObject *__pyx_v_dest_sig = NULL;
  Py_ssize_t __pyx_v_i;
  PyTypeObject *__pyx_v_ndarray = 0;
  __Pyx_memviewslice __pyx_v_memslice;
  Py_ssize_t __pyx_v_itemsize;
  int __pyx_v_dtype_signed;
  char __pyx_v_kind;
  int __pyx_v_short_is_signed;
  int __pyx_v_int_is_signed;
  int __pyx_v_long_is_signed;
  PyObject *__pyx_v_arg = NULL;
  PyObject *__pyx_v_dtype = NULL;
  PyObject *__pyx_v_arg_base = NULL;
  PyObject *__pyx_v_candidates = NULL;
  PyObject *__pyx_v_sig = NULL;
  int __pyx_v_match_found;
  PyObject *__pyx_v_src_sig = NULL;
  PyObject *__pyx_v_dst_type = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at", 0);
  __Pyx_INCREF(__pyx_v_kwargs);
  __pyx_t_1 = PyList_New(1 * 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < 2; __pyx_temp++) {
      __Pyx_INCREF(Py_None);
      __Pyx_GIVEREF(Py_None);
      PyList_SET_ITEM(__pyx_t_1, __pyx_temp, Py_None);
    }
  }
  __pyx_v_dest_sig = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_kwargs); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_None);
    __Pyx_DECREF_SET(__pyx_v_kwargs, Py_None);
  }
  __pyx_t_1 = ((PyObject *)__Pyx_ImportNumPyArrayTypeIfAvailable()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ndarray = ((PyTypeObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_v_itemsize = -1L;
  __pyx_v_short_is_signed = (!((((short)-1L) > 0) != 0));
  __pyx_v_int_is_signed = (!((((int)-1L) > 0) != 0));
  __pyx_v_long_is_signed = (!((((long)-1L) > 0) != 0));
  if (unlikely(__pyx_v_args == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
  __pyx_t_2 = ((0 < __pyx_t_5) != 0);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 22, __pyx_L1_error)
    }
    __pyx_t_1 = PyTuple_GET_ITEM(((PyObject*)__pyx_v_args), 0);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L7_bool_binop_done;
  }
  if (unlikely(__pyx_v_kwargs == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_cc, ((PyObject*)__pyx_v_kwargs), Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_4 != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_kwargs == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 22, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_kwargs), __pyx_n_s_cc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  /*else*/ {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 22, __pyx_L1_error)
    }
    __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_int_2);
    __Pyx_GIVEREF(__pyx_int_2);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_2);
    __Pyx_INCREF(__pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_n_s_s);
    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Expected_at_least_d_argument_s_g, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_L6:;
  while (1) {
    __pyx_t_2 = (__pyx_v_ndarray != ((PyTypeObject*)Py_None));
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {
      __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_v_ndarray); 
      __pyx_t_2 = (__pyx_t_3 != 0);
      if (__pyx_t_2) {
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_v_dtype = __pyx_t_6;
        __pyx_t_6 = 0;
        goto __pyx_L12;
      }
      __pyx_t_2 = __pyx_memoryview_check(__pyx_v_arg); 
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_v_arg_base = __pyx_t_6;
        __pyx_t_6 = 0;
        __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_arg_base, __pyx_v_ndarray); 
        __pyx_t_2 = (__pyx_t_3 != 0);
        if (__pyx_t_2) {
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg_base, __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_v_dtype = __pyx_t_6;
          __pyx_t_6 = 0;
          goto __pyx_L13;
        }
        /*else*/ {
          __Pyx_INCREF(Py_None);
          __pyx_v_dtype = Py_None;
        }
        __pyx_L13:;
        goto __pyx_L12;
      }
      /*else*/ {
        __Pyx_INCREF(Py_None);
        __pyx_v_dtype = Py_None;
      }
      __pyx_L12:;
      __pyx_v_itemsize = -1L;
      __pyx_t_2 = (__pyx_v_dtype != Py_None);
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_v_itemsize = __pyx_t_5;
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_kind); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Ord(__pyx_t_6); if (unlikely(__pyx_t_7 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_v_kind = __pyx_t_7;
        __pyx_v_dtype_signed = (__pyx_v_kind == 'i');
        switch (__pyx_v_kind) {
          case 'i':
          case 'u':
          __pyx_t_2 = (((sizeof(short)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L16_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L16_bool_binop_done;
          }
          __pyx_t_2 = ((!((__pyx_v_short_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L16_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          __pyx_t_2 = (((sizeof(int)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L20_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L20_bool_binop_done;
          }
          __pyx_t_2 = ((!((__pyx_v_int_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L20_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          __pyx_t_2 = (((sizeof(long)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L24_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L24_bool_binop_done;
          }
          __pyx_t_2 = ((!((__pyx_v_long_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L24_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          break;
          case 'f':
          __pyx_t_2 = (((sizeof(float)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L28_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L28_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_float, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          __pyx_t_2 = (((sizeof(double)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L31_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L31_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_double, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          break;
          case 'c':
          break;
          case 'O':
          break;
          default: break;
        }
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L34_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(short))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L34_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L38_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(int))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L38_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L42_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(long))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L42_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L46_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(float))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L46_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_float, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L50_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(double))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L50_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_double, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, Py_None, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
    goto __pyx_L10_break;
  }
  __pyx_L10_break:;
  if (unlikely(__pyx_v_args == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
  __pyx_t_3 = ((1 < __pyx_t_5) != 0);
  if (__pyx_t_3) {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 22, __pyx_L1_error)
    }
    __pyx_t_6 = PyTuple_GET_ITEM(((PyObject*)__pyx_v_args), 1);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_DECREF_SET(__pyx_v_arg, __pyx_t_6);
    __pyx_t_6 = 0;
    goto __pyx_L53;
  }
  __pyx_t_2 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_3 = __pyx_t_4;
    goto __pyx_L54_bool_binop_done;
  }
  if (unlikely(__pyx_v_kwargs == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_taus, ((PyObject*)__pyx_v_kwargs), Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_4 != 0);
  __pyx_t_3 = __pyx_t_2;
  __pyx_L54_bool_binop_done:;
  if (__pyx_t_3) {
    if (unlikely(__pyx_v_kwargs == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 22, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_kwargs), __pyx_n_s_taus); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF_SET(__pyx_v_arg, __pyx_t_6);
    __pyx_t_6 = 0;
    goto __pyx_L53;
  }
  /*else*/ {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 22, __pyx_L1_error)
    }
    __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_int_2);
    __Pyx_GIVEREF(__pyx_int_2);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2);
    __Pyx_INCREF(__pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_n_s_s);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_Expected_at_least_d_argument_s_g, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_L53:;
  while (1) {
    __pyx_t_3 = (__pyx_v_ndarray != ((PyTypeObject*)Py_None));
    __pyx_t_2 = (__pyx_t_3 != 0);
    if (__pyx_t_2) {
      __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_v_ndarray); 
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_XDECREF_SET(__pyx_v_dtype, __pyx_t_1);
        __pyx_t_1 = 0;
        goto __pyx_L59;
      }
      __pyx_t_3 = __pyx_memoryview_check(__pyx_v_arg); 
      __pyx_t_2 = (__pyx_t_3 != 0);
      if (__pyx_t_2) {
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_XDECREF_SET(__pyx_v_arg_base, __pyx_t_1);
        __pyx_t_1 = 0;
        __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg_base, __pyx_v_ndarray); 
        __pyx_t_3 = (__pyx_t_2 != 0);
        if (__pyx_t_3) {
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg_base, __pyx_n_s_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_XDECREF_SET(__pyx_v_dtype, __pyx_t_1);
          __pyx_t_1 = 0;
          goto __pyx_L60;
        }
        /*else*/ {
          __Pyx_INCREF(Py_None);
          __Pyx_XDECREF_SET(__pyx_v_dtype, Py_None);
        }
        __pyx_L60:;
        goto __pyx_L59;
      }
      /*else*/ {
        __Pyx_INCREF(Py_None);
        __Pyx_XDECREF_SET(__pyx_v_dtype, Py_None);
      }
      __pyx_L59:;
      __pyx_v_itemsize = -1L;
      __pyx_t_3 = (__pyx_v_dtype != Py_None);
      __pyx_t_2 = (__pyx_t_3 != 0);
      if (__pyx_t_2) {
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_v_itemsize = __pyx_t_5;
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_kind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_7 = __Pyx_PyObject_Ord(__pyx_t_1); if (unlikely(__pyx_t_7 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_v_kind = __pyx_t_7;
        __pyx_v_dtype_signed = (__pyx_v_kind == 'i');
        switch (__pyx_v_kind) {
          case 'i':
          case 'u':
          __pyx_t_3 = (((sizeof(short)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L63_bool_binop_done;
          }
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_3 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L63_bool_binop_done;
          }
          __pyx_t_3 = ((!((__pyx_v_short_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_2 = __pyx_t_3;
          __pyx_L63_bool_binop_done:;
          if (__pyx_t_2) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L57_break;
          }
          __pyx_t_3 = (((sizeof(int)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L67_bool_binop_done;
          }
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_3 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L67_bool_binop_done;
          }
          __pyx_t_3 = ((!((__pyx_v_int_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_2 = __pyx_t_3;
          __pyx_L67_bool_binop_done:;
          if (__pyx_t_2) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L57_break;
          }
          __pyx_t_3 = (((sizeof(long)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L71_bool_binop_done;
          }
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_3 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L71_bool_binop_done;
          }
          __pyx_t_3 = ((!((__pyx_v_long_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_2 = __pyx_t_3;
          __pyx_L71_bool_binop_done:;
          if (__pyx_t_2) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
            goto __pyx_L57_break;
          }
          break;
          case 'f':
          break;
          case 'c':
          break;
          case 'O':
          break;
          default: break;
        }
      }
    }
    __pyx_t_3 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L75_bool_binop_done;
    }
    __pyx_t_3 = ((__pyx_v_itemsize == (sizeof(short))) != 0);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L75_bool_binop_done:;
    if (__pyx_t_2) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dcd__short(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_2 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_2) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L57_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_3 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L79_bool_binop_done;
    }
    __pyx_t_3 = ((__pyx_v_itemsize == (sizeof(int))) != 0);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L79_bool_binop_done:;
    if (__pyx_t_2) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dcd__int(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_2 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_2) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L57_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_3 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L83_bool_binop_done;
    }
    __pyx_t_3 = ((__pyx_v_itemsize == (sizeof(long))) != 0);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L83_bool_binop_done:;
    if (__pyx_t_2) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dcd__long(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_2 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_2) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        goto __pyx_L57_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, Py_None, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
    goto __pyx_L57_break;
  }
  __pyx_L57_break:;
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_candidates = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_5 = 0;
  if (unlikely(__pyx_v_signatures == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_dict_iterator(((PyObject*)__pyx_v_signatures), 1, ((PyObject *)NULL), (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_6;
  __pyx_t_6 = 0;
  while (1) {
    __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_9, &__pyx_t_5, &__pyx_t_6, NULL, NULL, __pyx_t_10);
    if (unlikely(__pyx_t_11 == 0)) break;
    if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_sig, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_v_match_found = 0;
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_sig, __pyx_n_s_strip); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_14 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
      __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
      if (likely(__pyx_t_14)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
        __Pyx_INCREF(__pyx_t_14);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_13, function);
      }
    }
    __pyx_t_12 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_s_) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s_);
    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
      __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_13);
      if (likely(__pyx_t_12)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
        __Pyx_INCREF(__pyx_t_12);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_13, function);
      }
    }
    __pyx_t_6 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_12, __pyx_kp_s__2) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__2);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_XDECREF_SET(__pyx_v_src_sig, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_15 = PyList_GET_SIZE(__pyx_v_dest_sig); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
    __pyx_t_16 = __pyx_t_15;
    for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) {
      __pyx_v_i = __pyx_t_17;
      __pyx_t_6 = PyList_GET_ITEM(__pyx_v_dest_sig, __pyx_v_i);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_dst_type, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_2 = (__pyx_v_dst_type != Py_None);
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_src_sig, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_13 = PyObject_RichCompare(__pyx_t_6, __pyx_v_dst_type, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        if (__pyx_t_3) {
          __pyx_v_match_found = 1;
          goto __pyx_L91;
        }
        /*else*/ {
          __pyx_v_match_found = 0;
          goto __pyx_L89_break;
        }
        __pyx_L91:;
      }
    }
    __pyx_L89_break:;
    __pyx_t_3 = (__pyx_v_match_found != 0);
    if (__pyx_t_3) {
      __pyx_t_18 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_v_sig); if (unlikely(__pyx_t_18 == ((int)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (PyList_GET_SIZE(__pyx_v_candidates) != 0);
  __pyx_t_2 = ((!__pyx_t_3) != 0);
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_t_9 = PyList_GET_SIZE(__pyx_v_candidates); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_9 > 1) != 0);
  if (__pyx_t_2) {
/* … */
  __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_No_matching_signature_found); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__3);
  __Pyx_GIVEREF(__pyx_tuple__3);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 22, __pyx_L1_error)
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_signatures == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 22, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_signatures), PyList_GET_ITEM(__pyx_v_candidates, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("c_corr.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dest_sig);
  __Pyx_XDECREF(__pyx_v_ndarray);
  __Pyx_XDECREF(__pyx_v_arg);
  __Pyx_XDECREF(__pyx_v_dtype);
  __Pyx_XDECREF(__pyx_v_arg_base);
  __Pyx_XDECREF(__pyx_v_candidates);
  __Pyx_XDECREF(__pyx_v_sig);
  __Pyx_XDECREF(__pyx_v_src_sig);
  __Pyx_XDECREF(__pyx_v_dst_type);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_0_0__pyx_pw_6c_corr_7c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0_0__pyx_mdef_6c_corr_7c_corr_at = {"__pyx_fuse_0_0c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0_0__pyx_pw_6c_corr_7c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_0_0__pyx_pw_6c_corr_7c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_6c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_6c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0_0c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_0_1__pyx_pw_6c_corr_9c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0_1__pyx_mdef_6c_corr_9c_corr_at = {"__pyx_fuse_0_1c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0_1__pyx_pw_6c_corr_9c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_0_1__pyx_pw_6c_corr_9c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_8c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_8c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0_1c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_0_2__pyx_pw_6c_corr_11c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0_2__pyx_mdef_6c_corr_11c_corr_at = {"__pyx_fuse_0_2c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0_2__pyx_pw_6c_corr_11c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_0_2__pyx_pw_6c_corr_11c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_10c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_10c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0_2c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_1_0__pyx_pw_6c_corr_13c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1_0__pyx_mdef_6c_corr_13c_corr_at = {"__pyx_fuse_1_0c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1_0__pyx_pw_6c_corr_13c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_1_0__pyx_pw_6c_corr_13c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_12c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_12c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1_0c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_1_1__pyx_pw_6c_corr_15c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1_1__pyx_mdef_6c_corr_15c_corr_at = {"__pyx_fuse_1_1c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1_1__pyx_pw_6c_corr_15c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_1_1__pyx_pw_6c_corr_15c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_14c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_14c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1_1c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_1_2__pyx_pw_6c_corr_17c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1_2__pyx_mdef_6c_corr_17c_corr_at = {"__pyx_fuse_1_2c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1_2__pyx_pw_6c_corr_17c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_1_2__pyx_pw_6c_corr_17c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_16c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_16c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1_2c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_2_0__pyx_pw_6c_corr_19c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_2_0__pyx_mdef_6c_corr_19c_corr_at = {"__pyx_fuse_2_0c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_2_0__pyx_pw_6c_corr_19c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_2_0__pyx_pw_6c_corr_19c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_18c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_18c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2_0c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_2_1__pyx_pw_6c_corr_21c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_2_1__pyx_mdef_6c_corr_21c_corr_at = {"__pyx_fuse_2_1c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_2_1__pyx_pw_6c_corr_21c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_2_1__pyx_pw_6c_corr_21c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_20c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_20c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2_1c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_2_2__pyx_pw_6c_corr_23c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_2_2__pyx_mdef_6c_corr_23c_corr_at = {"__pyx_fuse_2_2c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_2_2__pyx_pw_6c_corr_23c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_2_2__pyx_pw_6c_corr_23c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_22c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_22c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2_2c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_3_0__pyx_pw_6c_corr_25c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_3_0__pyx_mdef_6c_corr_25c_corr_at = {"__pyx_fuse_3_0c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_3_0__pyx_pw_6c_corr_25c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_3_0__pyx_pw_6c_corr_25c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_24c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_24c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_3_0c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_3_1__pyx_pw_6c_corr_27c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_3_1__pyx_mdef_6c_corr_27c_corr_at = {"__pyx_fuse_3_1c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_3_1__pyx_pw_6c_corr_27c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_3_1__pyx_pw_6c_corr_27c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_26c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_26c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_3_1c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_3_2__pyx_pw_6c_corr_29c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_3_2__pyx_mdef_6c_corr_29c_corr_at = {"__pyx_fuse_3_2c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_3_2__pyx_pw_6c_corr_29c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_3_2__pyx_pw_6c_corr_29c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_28c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_28c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_3_2c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_4_0__pyx_pw_6c_corr_31c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_4_0__pyx_mdef_6c_corr_31c_corr_at = {"__pyx_fuse_4_0c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_4_0__pyx_pw_6c_corr_31c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_4_0__pyx_pw_6c_corr_31c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_30c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_30c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_4_0c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_4_1__pyx_pw_6c_corr_33c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_4_1__pyx_mdef_6c_corr_33c_corr_at = {"__pyx_fuse_4_1c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_4_1__pyx_pw_6c_corr_33c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_4_1__pyx_pw_6c_corr_33c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_32c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_32c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_4_1c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_4_2__pyx_pw_6c_corr_35c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_4_2__pyx_mdef_6c_corr_35c_corr_at = {"__pyx_fuse_4_2c_corr_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_4_2__pyx_pw_6c_corr_35c_corr_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_c_corr_at};
static PyObject *__pyx_fuse_4_2__pyx_pw_6c_corr_35c_corr_at(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_at (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, 1); __PYX_ERR(0, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c_corr_at") < 0)) __PYX_ERR(0, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dcd__long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 22, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("c_corr_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_34c_corr_at(__pyx_self, __pyx_v_cc, __pyx_v_taus);
  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_6c_corr_34c_corr_at(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus) {
  Py_ssize_t __pyx_v_total;
  Py_ssize_t __pyx_v_n_pair;
  double __pyx_v_max_corr_val;
  int __pyx_v_index;
  double __pyx_v_corr_val;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_p;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_4_2c_corr_at", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("c_corr.c_corr_at", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Function_call_with_ambiguous_arg); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__4);
  __Pyx_GIVEREF(__pyx_tuple__4);
/* … */
  __pyx_tuple__23 = PyTuple_Pack(9, __pyx_n_s_cc, __pyx_n_s_taus, __pyx_n_s_total, __pyx_n_s_n_pair, __pyx_n_s_max_corr_val, __pyx_n_s_index, __pyx_n_s_corr_val, __pyx_n_s_i, __pyx_n_s_p); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__23);
  __Pyx_GIVEREF(__pyx_tuple__23);
/* … */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_0_0__pyx_mdef_6c_corr_7c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_short_short, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_0_1__pyx_mdef_6c_corr_9c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_short_int, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_0_2__pyx_mdef_6c_corr_11c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_short_long, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_1_0__pyx_mdef_6c_corr_13c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_int_short, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_1_1__pyx_mdef_6c_corr_15c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_int_int, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_1_2__pyx_mdef_6c_corr_17c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_int_long, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_2_0__pyx_mdef_6c_corr_19c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_long_short, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_2_1__pyx_mdef_6c_corr_21c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_long_int, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_2_2__pyx_mdef_6c_corr_23c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_long_long, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_3_0__pyx_mdef_6c_corr_25c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_float_short, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_3_1__pyx_mdef_6c_corr_27c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_float_int, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_3_2__pyx_mdef_6c_corr_29c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_float_long, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_4_0__pyx_mdef_6c_corr_31c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_double_short, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_4_1__pyx_mdef_6c_corr_33c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_double_int, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_4_2__pyx_mdef_6c_corr_35c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_double_long, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_mdef_6c_corr_1c_corr_at, 0, __pyx_n_s_c_corr_at, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  ((__pyx_FusedFunctionObject *) __pyx_t_2)->__signatures__ = __pyx_t_1;
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_c_corr_at, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_c_corr_pyx, __pyx_n_s_c_corr_at, 22, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 22, __pyx_L1_error)
+023:     total = taus.shape[1]
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
/* … */
  __pyx_v_total = (__pyx_v_taus.shape[1]);
+024:     n_pair = taus.shape[0]
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
/* … */
  __pyx_v_n_pair = (__pyx_v_taus.shape[0]);
+025:     cdef double max_corr_val = 0.0
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
/* … */
  __pyx_v_max_corr_val = 0.0;
+026:     cdef int index = 0
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
/* … */
  __pyx_v_index = 0;
+027:     cdef double corr_val = 0.0
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
+028:     for i in range(total):
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_total;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
+029:         corr_val = 1.0
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
/* … */
    __pyx_v_corr_val = 1.0;
+030:         for p in range(n_pair):
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
/* … */
    __pyx_t_4 = __pyx_v_n_pair;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_p = __pyx_t_6;
+031:             corr_val *= cc[p, taus[p, i]]
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((short *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((int *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((long *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((short *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((int *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((long *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((short *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((int *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((long *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((short *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((int *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((long *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((short *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((int *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
/* … */
      __pyx_t_7 = __pyx_v_p;
      __pyx_t_8 = __pyx_v_i;
      __pyx_t_9 = __pyx_v_p;
      __pyx_t_10 = (*((long *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_7)) ) + __pyx_t_8 * __pyx_v_taus.strides[1]) )));
      __pyx_v_corr_val = (__pyx_v_corr_val * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_9 * __pyx_v_cc.strides[0]) )) + __pyx_t_10)) ))));
    }
+032:         if corr_val > max_corr_val:
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
/* … */
    __pyx_t_11 = ((__pyx_v_corr_val > __pyx_v_max_corr_val) != 0);
    if (__pyx_t_11) {
/* … */
    }
  }
+033:             max_corr_val = corr_val
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
/* … */
      __pyx_v_max_corr_val = __pyx_v_corr_val;
+034:             index = i
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
/* … */
      __pyx_v_index = __pyx_v_i;
+035:     return np.log10(max_corr_val), index
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_log10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_max_corr_val); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_15 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
    if (likely(__pyx_t_15)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_14, function);
    }
  }
  __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13);
  __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_12);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_14);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_14);
  __pyx_t_12 = 0;
  __pyx_t_14 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;
 036: 
 037: 
 038: @cython.boundscheck(False)
 039: @cython.wraparound(False)
 040: @cython.embedsignature(True)
+041: cpdef c_corr_all(cc, npType2 max_tdoa, npType2 base_tdoa):
/* Python wrapper */
static PyObject *__pyx_pw_6c_corr_3c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6c_corr_2c_corr_all[] = "c_corr_all(signatures, args, kwargs, defaults)";
static PyMethodDef __pyx_mdef_6c_corr_3c_corr_all = {"c_corr_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6c_corr_3c_corr_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_2c_corr_all};
static PyObject *__pyx_pw_6c_corr_3c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_signatures = 0;
  PyObject *__pyx_v_args = 0;
  PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED PyObject *__pyx_v_defaults = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fused_cpdef (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_signatures,&__pyx_n_s_args,&__pyx_n_s_kwargs,&__pyx_n_s_defaults,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_signatures)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 1); __PYX_ERR(0, 41, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 2); __PYX_ERR(0, 41, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_defaults)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 3); __PYX_ERR(0, 41, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_fused_cpdef") < 0)) __PYX_ERR(0, 41, __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_signatures = values[0];
    __pyx_v_args = values[1];
    __pyx_v_kwargs = values[2];
    __pyx_v_defaults = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 41, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_2c_corr_all(__pyx_self, __pyx_v_signatures, __pyx_v_args, __pyx_v_kwargs, __pyx_v_defaults);
  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_6c_corr_2c_corr_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_signatures, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, CYTHON_UNUSED PyObject *__pyx_v_defaults) {
  PyObject *__pyx_v_dest_sig = NULL;
  Py_ssize_t __pyx_v_i;
  CYTHON_UNUSED PyTypeObject *__pyx_v_ndarray = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_v_itemsize;
  PyObject *__pyx_v_arg = NULL;
  PyObject *__pyx_v_candidates = NULL;
  PyObject *__pyx_v_sig = NULL;
  int __pyx_v_match_found;
  PyObject *__pyx_v_src_sig = NULL;
  PyObject *__pyx_v_dst_type = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("c_corr_all", 0);
  __Pyx_INCREF(__pyx_v_kwargs);
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyList_SET_ITEM(__pyx_t_1, 0, Py_None);
  __pyx_v_dest_sig = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_kwargs); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 41, __pyx_L1_error)
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_None);
    __Pyx_DECREF_SET(__pyx_v_kwargs, Py_None);
  }
  __pyx_t_1 = ((PyObject *)__Pyx_ImportNumPyArrayTypeIfAvailable()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ndarray = ((PyTypeObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_v_itemsize = -1L;
  if (unlikely(__pyx_v_args == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 41, __pyx_L1_error)
  }
  __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 41, __pyx_L1_error)
  __pyx_t_2 = ((1 < __pyx_t_5) != 0);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 41, __pyx_L1_error)
    }
    __pyx_t_1 = PyTuple_GET_ITEM(((PyObject*)__pyx_v_args), 1);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L7_bool_binop_done;
  }
  if (unlikely(__pyx_v_kwargs == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 41, __pyx_L1_error)
  }
  __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_max_tdoa, ((PyObject*)__pyx_v_kwargs), Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 41, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_4 != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_kwargs == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 41, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_kwargs), __pyx_n_s_max_tdoa); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  /*else*/ {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 41, __pyx_L1_error)
    }
    __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 41, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_int_3);
    __Pyx_GIVEREF(__pyx_int_3);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3);
    __Pyx_INCREF(__pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_n_s_s);
    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Expected_at_least_d_argument_s_g, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 41, __pyx_L1_error)
  }
  __pyx_L6:;
  while (1) {
    __pyx_t_3 = PyInt_Check(__pyx_v_arg); 
    __pyx_t_4 = (__pyx_t_3 != 0);
    if (!__pyx_t_4) {
    } else {
      __pyx_t_2 = __pyx_t_4;
      goto __pyx_L12_bool_binop_done;
    }
    __pyx_t_4 = PyLong_Check(__pyx_v_arg); 
    __pyx_t_3 = (__pyx_t_4 != 0);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L12_bool_binop_done:;
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {
      if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 41, __pyx_L1_error)
      goto __pyx_L10_break;
    }
    if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, Py_None, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 41, __pyx_L1_error)
    goto __pyx_L10_break;
  }
  __pyx_L10_break:;
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_candidates = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_t_5 = 0;
  if (unlikely(__pyx_v_signatures == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 41, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_dict_iterator(((PyObject*)__pyx_v_signatures), 1, ((PyObject *)NULL), (&__pyx_t_7), (&__pyx_t_8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __pyx_t_6 = __pyx_t_1;
  __pyx_t_1 = 0;
  while (1) {
    __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_6, __pyx_t_7, &__pyx_t_5, &__pyx_t_1, NULL, NULL, __pyx_t_8);
    if (unlikely(__pyx_t_9 == 0)) break;
    if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_sig, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_v_match_found = 0;
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_sig, __pyx_n_s_strip); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
      if (likely(__pyx_t_12)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_12);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_11, function);
      }
    }
    __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_kp_s_) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_kp_s_);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_split); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_11, function);
      }
    }
    __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_10, __pyx_kp_s__2) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_kp_s__2);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_XDECREF_SET(__pyx_v_src_sig, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_13 = PyList_GET_SIZE(__pyx_v_dest_sig); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 41, __pyx_L1_error)
    __pyx_t_14 = __pyx_t_13;
    for (__pyx_t_15 = 0; __pyx_t_15 < __pyx_t_14; __pyx_t_15+=1) {
      __pyx_v_i = __pyx_t_15;
      __pyx_t_1 = PyList_GET_ITEM(__pyx_v_dest_sig, __pyx_v_i);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_dst_type, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_3 = (__pyx_v_dst_type != Py_None);
      __pyx_t_2 = (__pyx_t_3 != 0);
      if (__pyx_t_2) {
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_src_sig, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_11 = PyObject_RichCompare(__pyx_t_1, __pyx_v_dst_type, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 41, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 41, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (__pyx_t_2) {
          __pyx_v_match_found = 1;
          goto __pyx_L19;
        }
        /*else*/ {
          __pyx_v_match_found = 0;
          goto __pyx_L17_break;
        }
        __pyx_L19:;
      }
    }
    __pyx_L17_break:;
    __pyx_t_2 = (__pyx_v_match_found != 0);
    if (__pyx_t_2) {
      __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_v_sig); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 41, __pyx_L1_error)
    }
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = (PyList_GET_SIZE(__pyx_v_candidates) != 0);
  __pyx_t_3 = ((!__pyx_t_2) != 0);
  if (__pyx_t_3) {
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 41, __pyx_L1_error)
  }
  __pyx_t_7 = PyList_GET_SIZE(__pyx_v_candidates); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 41, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_7 > 1) != 0);
  if (__pyx_t_3) {
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 41, __pyx_L1_error)
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_signatures == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 41, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_signatures), PyList_GET_ITEM(__pyx_v_candidates, 0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("c_corr.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dest_sig);
  __Pyx_XDECREF(__pyx_v_ndarray);
  __Pyx_XDECREF(__pyx_v_arg);
  __Pyx_XDECREF(__pyx_v_candidates);
  __Pyx_XDECREF(__pyx_v_sig);
  __Pyx_XDECREF(__pyx_v_src_sig);
  __Pyx_XDECREF(__pyx_v_dst_type);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pw_6c_corr_39__pyx_fuse_0c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_6c_corr_3c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_fuse_0__pyx_f_6c_corr_c_corr_all(PyObject *__pyx_v_cc, short __pyx_v_max_tdoa, short __pyx_v_base_tdoa, CYTHON_UNUSED int __pyx_skip_dispatch) {
  __Pyx_memviewslice __pyx_v_cc_mem = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_corr_val;
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0c_corr_all", 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_XDEC_MEMVIEW(&__pyx_t_5, 1);
  __Pyx_XDECREF(__pyx_t_7);
  __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
  __Pyx_AddTraceback("c_corr.c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc_mem, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6c_corr_39__pyx_fuse_0c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0__pyx_mdef_6c_corr_39__pyx_fuse_0c_corr_all = {"__pyx_fuse_0c_corr_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6c_corr_39__pyx_fuse_0c_corr_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_2c_corr_all};
static PyObject *__pyx_pw_6c_corr_39__pyx_fuse_0c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cc = 0;
  short __pyx_v_max_tdoa;
  short __pyx_v_base_tdoa;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0c_corr_all (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_max_tdoa,&__pyx_n_s_base_tdoa,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fuse_0c_corr_all", 1, 3, 3, 1); __PYX_ERR(0, 41, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_base_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fuse_0c_corr_all", 1, 3, 3, 2); __PYX_ERR(0, 41, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_fuse_0c_corr_all") < 0)) __PYX_ERR(0, 41, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      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);
    }
    __pyx_v_cc = values[0];
    __pyx_v_max_tdoa = __Pyx_PyInt_As_short(values[1]); if (unlikely((__pyx_v_max_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error)
    __pyx_v_base_tdoa = __Pyx_PyInt_As_short(values[2]); if (unlikely((__pyx_v_base_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_fuse_0c_corr_all", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 41, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.__pyx_fuse_0c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_38__pyx_fuse_0c_corr_all(__pyx_self, __pyx_v_cc, __pyx_v_max_tdoa, __pyx_v_base_tdoa);
  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_6c_corr_38__pyx_fuse_0c_corr_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cc, short __pyx_v_max_tdoa, short __pyx_v_base_tdoa) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0c_corr_all", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_fuse_0__pyx_f_6c_corr_c_corr_all(__pyx_v_cc, __pyx_v_max_tdoa, __pyx_v_base_tdoa, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("c_corr.__pyx_fuse_0c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pw_6c_corr_41__pyx_fuse_1c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_6c_corr_3c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_fuse_1__pyx_f_6c_corr_c_corr_all(PyObject *__pyx_v_cc, int __pyx_v_max_tdoa, int __pyx_v_base_tdoa, CYTHON_UNUSED int __pyx_skip_dispatch) {
  __Pyx_memviewslice __pyx_v_cc_mem = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_corr_val;
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1c_corr_all", 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_XDEC_MEMVIEW(&__pyx_t_5, 1);
  __Pyx_XDECREF(__pyx_t_7);
  __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
  __Pyx_AddTraceback("c_corr.c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc_mem, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6c_corr_41__pyx_fuse_1c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1__pyx_mdef_6c_corr_41__pyx_fuse_1c_corr_all = {"__pyx_fuse_1c_corr_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6c_corr_41__pyx_fuse_1c_corr_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_2c_corr_all};
static PyObject *__pyx_pw_6c_corr_41__pyx_fuse_1c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cc = 0;
  int __pyx_v_max_tdoa;
  int __pyx_v_base_tdoa;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1c_corr_all (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_max_tdoa,&__pyx_n_s_base_tdoa,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fuse_1c_corr_all", 1, 3, 3, 1); __PYX_ERR(0, 41, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_base_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fuse_1c_corr_all", 1, 3, 3, 2); __PYX_ERR(0, 41, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_fuse_1c_corr_all") < 0)) __PYX_ERR(0, 41, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      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);
    }
    __pyx_v_cc = values[0];
    __pyx_v_max_tdoa = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error)
    __pyx_v_base_tdoa = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_base_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_fuse_1c_corr_all", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 41, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.__pyx_fuse_1c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_40__pyx_fuse_1c_corr_all(__pyx_self, __pyx_v_cc, __pyx_v_max_tdoa, __pyx_v_base_tdoa);
  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_6c_corr_40__pyx_fuse_1c_corr_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cc, int __pyx_v_max_tdoa, int __pyx_v_base_tdoa) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1c_corr_all", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_fuse_1__pyx_f_6c_corr_c_corr_all(__pyx_v_cc, __pyx_v_max_tdoa, __pyx_v_base_tdoa, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("c_corr.__pyx_fuse_1c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pw_6c_corr_43__pyx_fuse_2c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_6c_corr_3c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_fuse_2__pyx_f_6c_corr_c_corr_all(PyObject *__pyx_v_cc, long __pyx_v_max_tdoa, long __pyx_v_base_tdoa, CYTHON_UNUSED int __pyx_skip_dispatch) {
  __Pyx_memviewslice __pyx_v_cc_mem = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_corr_val;
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2c_corr_all", 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_XDEC_MEMVIEW(&__pyx_t_5, 1);
  __Pyx_XDECREF(__pyx_t_7);
  __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
  __Pyx_AddTraceback("c_corr.c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc_mem, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6c_corr_43__pyx_fuse_2c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_2__pyx_mdef_6c_corr_43__pyx_fuse_2c_corr_all = {"__pyx_fuse_2c_corr_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6c_corr_43__pyx_fuse_2c_corr_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6c_corr_2c_corr_all};
static PyObject *__pyx_pw_6c_corr_43__pyx_fuse_2c_corr_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cc = 0;
  long __pyx_v_max_tdoa;
  long __pyx_v_base_tdoa;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2c_corr_all (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_max_tdoa,&__pyx_n_s_base_tdoa,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fuse_2c_corr_all", 1, 3, 3, 1); __PYX_ERR(0, 41, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_base_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fuse_2c_corr_all", 1, 3, 3, 2); __PYX_ERR(0, 41, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_fuse_2c_corr_all") < 0)) __PYX_ERR(0, 41, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      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);
    }
    __pyx_v_cc = values[0];
    __pyx_v_max_tdoa = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v_max_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error)
    __pyx_v_base_tdoa = __Pyx_PyInt_As_long(values[2]); if (unlikely((__pyx_v_base_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_fuse_2c_corr_all", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 41, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.__pyx_fuse_2c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_42__pyx_fuse_2c_corr_all(__pyx_self, __pyx_v_cc, __pyx_v_max_tdoa, __pyx_v_base_tdoa);
  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_6c_corr_42__pyx_fuse_2c_corr_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cc, long __pyx_v_max_tdoa, long __pyx_v_base_tdoa) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2c_corr_all", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_fuse_2__pyx_f_6c_corr_c_corr_all(__pyx_v_cc, __pyx_v_max_tdoa, __pyx_v_base_tdoa, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("c_corr.__pyx_fuse_2c_corr_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__25 = PyTuple_Pack(3, __pyx_n_s_cc, __pyx_n_s_max_tdoa, __pyx_n_s_base_tdoa); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__25);
  __Pyx_GIVEREF(__pyx_tuple__25);
/* … */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __pyx_FusedFunction_New(&__pyx_fuse_0__pyx_mdef_6c_corr_39__pyx_fuse_0c_corr_all, 0, __pyx_n_s_pyx_fuse_0c_corr_all, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_short, __pyx_t_1) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __pyx_FusedFunction_New(&__pyx_fuse_1__pyx_mdef_6c_corr_41__pyx_fuse_1c_corr_all, 0, __pyx_n_s_pyx_fuse_1c_corr_all, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_int, __pyx_t_1) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __pyx_FusedFunction_New(&__pyx_fuse_2__pyx_mdef_6c_corr_43__pyx_fuse_2c_corr_all, 0, __pyx_n_s_pyx_fuse_2c_corr_all, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_long, __pyx_t_1) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __pyx_FusedFunction_New(&__pyx_mdef_6c_corr_3c_corr_all, 0, __pyx_n_s_c_corr_all, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_empty_tuple);
  ((__pyx_FusedFunctionObject *) __pyx_t_1)->__signatures__ = __pyx_t_2;
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_c_corr_all, __pyx_t_1) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_c_corr_pyx, __pyx_n_s_pyx_fuse_0c_corr_all, 41, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 41, __pyx_L1_error)
+042:     cdef float[:,::1] cc_mem = cc.astype(np.float32)
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_astype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cc_mem = __pyx_t_5;
  __pyx_t_5.memview = NULL;
  __pyx_t_5.data = NULL;
/* … */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_astype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cc_mem = __pyx_t_5;
  __pyx_t_5.memview = NULL;
  __pyx_t_5.data = NULL;
/* … */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_astype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cc_mem = __pyx_t_5;
  __pyx_t_5.memview = NULL;
  __pyx_t_5.data = NULL;
+043:     cdef double corr_val = 0.0
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
/* … */
  __pyx_v_corr_val = 0.0;
+044:     cdef long[::1] taus = np.zeros(cc.shape[0], int)
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_t_3);
    __Pyx_INCREF(((PyObject *)(&PyInt_Type)));
    __Pyx_GIVEREF(((PyObject *)(&PyInt_Type)));
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, ((PyObject *)(&PyInt_Type)));
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_taus = __pyx_t_8;
  __pyx_t_8.memview = NULL;
  __pyx_t_8.data = NULL;
/* … */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_t_3);
    __Pyx_INCREF(((PyObject *)(&PyInt_Type)));
    __Pyx_GIVEREF(((PyObject *)(&PyInt_Type)));
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, ((PyObject *)(&PyInt_Type)));
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_taus = __pyx_t_8;
  __pyx_t_8.memview = NULL;
  __pyx_t_8.data = NULL;
/* … */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_t_3);
    __Pyx_INCREF(((PyObject *)(&PyInt_Type)));
    __Pyx_GIVEREF(((PyObject *)(&PyInt_Type)));
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, ((PyObject *)(&PyInt_Type)));
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_taus = __pyx_t_8;
  __pyx_t_8.memview = NULL;
  __pyx_t_8.data = NULL;
+045:     cdef long[::1] out_taus = np.zeros(cc.shape[0], int)
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_2 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_t_3);
    __Pyx_INCREF(((PyObject *)(&PyInt_Type)));
    __Pyx_GIVEREF(((PyObject *)(&PyInt_Type)));
    PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, ((PyObject *)(&PyInt_Type)));
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_out_taus = __pyx_t_8;
  __pyx_t_8.memview = NULL;
  __pyx_t_8.data = NULL;
/* … */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_2 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_t_3);
    __Pyx_INCREF(((PyObject *)(&PyInt_Type)));
    __Pyx_GIVEREF(((PyObject *)(&PyInt_Type)));
    PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, ((PyObject *)(&PyInt_Type)));
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_out_taus = __pyx_t_8;
  __pyx_t_8.memview = NULL;
  __pyx_t_8.data = NULL;
/* … */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, ((PyObject *)(&PyInt_Type))};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_2 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_t_3);
    __Pyx_INCREF(((PyObject *)(&PyInt_Type)));
    __Pyx_GIVEREF(((PyObject *)(&PyInt_Type)));
    PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, ((PyObject *)(&PyInt_Type)));
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_t_1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_out_taus = __pyx_t_8;
  __pyx_t_8.memview = NULL;
  __pyx_t_8.data = NULL;
+046:     corr_val = _c_corr_core(cc_mem, taus, out_taus,  corr_val, <long> base_tdoa-1, <long> base_tdoa,
  __pyx_v_corr_val = __pyx_f_6c_corr__c_corr_core(__pyx_v_cc_mem, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_corr_val, (((long)__pyx_v_base_tdoa) - 1), ((long)__pyx_v_base_tdoa), ((long)__pyx_v_max_tdoa), ((long)__pyx_t_9), ((long)__pyx_t_10));
/* … */
  __pyx_v_corr_val = __pyx_f_6c_corr__c_corr_core(__pyx_v_cc_mem, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_corr_val, (((long)__pyx_v_base_tdoa) - 1), ((long)__pyx_v_base_tdoa), ((long)__pyx_v_max_tdoa), ((long)__pyx_t_9), ((long)__pyx_t_10));
/* … */
  __pyx_v_corr_val = __pyx_f_6c_corr__c_corr_core(__pyx_v_cc_mem, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_corr_val, (((long)__pyx_v_base_tdoa) - 1), ((long)__pyx_v_base_tdoa), ((long)__pyx_v_max_tdoa), ((long)__pyx_t_9), ((long)__pyx_t_10));
+047:                             <long> max_tdoa, <long> cc.shape[1], <long> cc.shape[0])
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_9 = __Pyx_PyInt_As_long(__pyx_t_7); if (unlikely((__pyx_t_9 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_10 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_10 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* … */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_9 = __Pyx_PyInt_As_long(__pyx_t_7); if (unlikely((__pyx_t_9 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_10 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_10 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* … */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_9 = __Pyx_PyInt_As_long(__pyx_t_7); if (unlikely((__pyx_t_9 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_cc, __pyx_n_s_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_10 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_10 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+048:     return np.log10(corr_val), out_taus
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_log10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_corr_val); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_out_taus, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_log10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_corr_val); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_out_taus, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_log10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_corr_val); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_out_taus, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;
 049: 
 050: 
+051: cdef long moduloNeg(long a, long b):
static long __pyx_f_6c_corr_moduloNeg(long __pyx_v_a, long __pyx_v_b) {
  long __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("moduloNeg", 0);
/* … */
  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+052:     if a < 0:
  __pyx_t_1 = ((__pyx_v_a < 0) != 0);
  if (__pyx_t_1) {
/* … */
  }
+053:         return a + b
    __pyx_r = (__pyx_v_a + __pyx_v_b);
    goto __pyx_L0;
 054:     else:
+055:         return a
  /*else*/ {
    __pyx_r = __pyx_v_a;
    goto __pyx_L0;
  }
 056: 
 057: 
 058: @cython.boundscheck(False)
 059: @cython.wraparound(False)
 060: @cython.profile(True)
+061: cdef double _c_corr_core(float[:,::1] cc, long[::1] taus, long[::1] out_taus, double val,
static double __pyx_f_6c_corr__c_corr_core(__Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, long __pyx_v_curr_tdoa, long __pyx_v_ind_tdoa, long __pyx_v_max_tdoa, long __pyx_v_win_size, long __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_low;
  int __pyx_v_high;
  long __pyx_v_t;
  double __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core", 0);
  __Pyx_TraceCall("_c_corr_core", __pyx_f[0], 61, 0, __PYX_ERR(0, 61, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("c_corr._c_corr_core", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 062:                  long curr_tdoa, long ind_tdoa, long max_tdoa, long win_size, long n_pair):
+063:     cdef int i0 = 1
  __pyx_v_i0 = 1;
+064:     cdef int j0 = 0
  __pyx_v_j0 = 0;
+065:     cdef double tmp_val = 0.0
  __pyx_v_tmp_val = 0.0;
+066:     if curr_tdoa < 0:
  __pyx_t_1 = ((__pyx_v_curr_tdoa < 0) != 0);
  if (__pyx_t_1) {
/* … */
  }
+067:         for i in range(ind_tdoa, n_pair):
    __pyx_t_2 = __pyx_v_n_pair;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = __pyx_v_ind_tdoa; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;
+068:             taus[i] = taus[i0] - taus[j0]
      __pyx_t_5 = __pyx_v_i0;
      __pyx_t_6 = __pyx_v_j0;
      __pyx_t_7 = __pyx_v_i;
      *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_7)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_5)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) ))));
+069:             i0 += 1
      __pyx_v_i0 = (__pyx_v_i0 + 1);
+070:             if i0 >= ind_tdoa:
      __pyx_t_1 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
      if (__pyx_t_1) {
/* … */
      }
    }
+071:                 j0 += 1
        __pyx_v_j0 = (__pyx_v_j0 + 1);
+072:                 i0 = j0 + 1
        __pyx_v_i0 = (__pyx_v_j0 + 1);
+073:         tmp_val = cc[0, moduloNeg(taus[0], win_size)]
    __pyx_t_6 = 0;
    __pyx_t_5 = 0;
    __pyx_t_7 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) ))), __pyx_v_win_size);
    __pyx_v_tmp_val = (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_5 * __pyx_v_cc.strides[0]) )) + __pyx_t_7)) )));
+074:         for i in range(1, n_pair):
    __pyx_t_2 = __pyx_v_n_pair;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 1; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;
+075:             tmp_val *= cc[i, moduloNeg(taus[i], win_size)]
      __pyx_t_6 = __pyx_v_i;
      __pyx_t_7 = __pyx_v_i;
      __pyx_t_5 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) ))), __pyx_v_win_size);
      __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_7 * __pyx_v_cc.strides[0]) )) + __pyx_t_5)) ))));
    }
+076:         if val < tmp_val:
    __pyx_t_1 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
    if (__pyx_t_1) {
/* … */
    }
+077:             val = tmp_val
      __pyx_v_val = __pyx_v_tmp_val;
+078:             out_taus[:] = taus
      if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 78, __pyx_L1_error)
+079:         return val
    __pyx_r = __pyx_v_val;
    goto __pyx_L0;
+080:     cdef int low = -max_tdoa
  __pyx_v_low = (-__pyx_v_max_tdoa);
+081:     cdef int high = max_tdoa
  __pyx_v_high = __pyx_v_max_tdoa;
+082:     for i in range(curr_tdoa+1, ind_tdoa):
  __pyx_t_2 = __pyx_v_ind_tdoa;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = (__pyx_v_curr_tdoa + 1); __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;
+083:         if low < taus[i] - max_tdoa:
    __pyx_t_6 = __pyx_v_i;
    __pyx_t_1 = ((__pyx_v_low < ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) ))) - __pyx_v_max_tdoa)) != 0);
    if (__pyx_t_1) {
/* … */
    }
+084:             low = -max_tdoa + taus[i]
      __pyx_t_6 = __pyx_v_i;
      __pyx_v_low = ((-__pyx_v_max_tdoa) + (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) ))));
+085:         if high > max_tdoa + taus[i]:
    __pyx_t_6 = __pyx_v_i;
    __pyx_t_1 = ((__pyx_v_high > (__pyx_v_max_tdoa + (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) ))))) != 0);
    if (__pyx_t_1) {
/* … */
    }
  }
+086:             high = max_tdoa + taus[i]
      __pyx_t_6 = __pyx_v_i;
      __pyx_v_high = (__pyx_v_max_tdoa + (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) ))));
+087:     for t in range(low, high+1):
  __pyx_t_2 = (__pyx_v_high + 1);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = __pyx_v_low; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_t = __pyx_t_4;
+088:         taus[curr_tdoa] = t
    __pyx_t_6 = __pyx_v_curr_tdoa;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_6)) )) = __pyx_v_t;
+089:         val = _c_corr_core(cc, taus, out_taus, val, curr_tdoa-1, ind_tdoa, max_tdoa, win_size, n_pair)
    __pyx_v_val = __pyx_f_6c_corr__c_corr_core(__pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, (__pyx_v_curr_tdoa - 1), __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  }
+090:     return val
  __pyx_r = __pyx_v_val;
  goto __pyx_L0;
 091: 
 092: 
 093: @cython.boundscheck(False)
 094: @cython.wraparound(False)
 095: @cython.profile(True)
+096: def _c_corr_core2(npType1[:,::1] cc, npType2[::1] taus, npType2[::1] out_taus, double val,
/* Python wrapper */
static PyObject *__pyx_pw_6c_corr_5_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6c_corr_5_c_corr_core2 = {"_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6c_corr_5_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6c_corr_5_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_signatures = 0;
  PyObject *__pyx_v_args = 0;
  PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED PyObject *__pyx_v_defaults = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fused_cpdef (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_signatures,&__pyx_n_s_args,&__pyx_n_s_kwargs,&__pyx_n_s_defaults,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_signatures)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_defaults)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_fused_cpdef") < 0)) __PYX_ERR(0, 96, __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_signatures = values[0];
    __pyx_v_args = values[1];
    __pyx_v_kwargs = values[2];
    __pyx_v_defaults = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_4_c_corr_core2(__pyx_self, __pyx_v_signatures, __pyx_v_args, __pyx_v_kwargs, __pyx_v_defaults);
  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_6c_corr_4_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_signatures, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, CYTHON_UNUSED PyObject *__pyx_v_defaults) {
  PyObject *__pyx_v_dest_sig = NULL;
  Py_ssize_t __pyx_v_i;
  PyTypeObject *__pyx_v_ndarray = 0;
  __Pyx_memviewslice __pyx_v_memslice;
  Py_ssize_t __pyx_v_itemsize;
  int __pyx_v_dtype_signed;
  char __pyx_v_kind;
  int __pyx_v_short_is_signed;
  int __pyx_v_int_is_signed;
  int __pyx_v_long_is_signed;
  PyObject *__pyx_v_arg = NULL;
  PyObject *__pyx_v_dtype = NULL;
  PyObject *__pyx_v_arg_base = NULL;
  PyObject *__pyx_v_candidates = NULL;
  PyObject *__pyx_v_sig = NULL;
  int __pyx_v_match_found;
  PyObject *__pyx_v_src_sig = NULL;
  PyObject *__pyx_v_dst_type = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2", 0);
  __Pyx_TraceCall("_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_kwargs);
  __pyx_t_1 = PyList_New(1 * 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < 2; __pyx_temp++) {
      __Pyx_INCREF(Py_None);
      __Pyx_GIVEREF(Py_None);
      PyList_SET_ITEM(__pyx_t_1, __pyx_temp, Py_None);
    }
  }
  __pyx_v_dest_sig = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_kwargs); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_None);
    __Pyx_DECREF_SET(__pyx_v_kwargs, Py_None);
  }
  __pyx_t_1 = ((PyObject *)__Pyx_ImportNumPyArrayTypeIfAvailable()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ndarray = ((PyTypeObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_v_itemsize = -1L;
  __pyx_v_short_is_signed = (!((((short)-1L) > 0) != 0));
  __pyx_v_int_is_signed = (!((((int)-1L) > 0) != 0));
  __pyx_v_long_is_signed = (!((((long)-1L) > 0) != 0));
  if (unlikely(__pyx_v_args == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
  __pyx_t_2 = ((0 < __pyx_t_5) != 0);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 96, __pyx_L1_error)
    }
    __pyx_t_1 = PyTuple_GET_ITEM(((PyObject*)__pyx_v_args), 0);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L7_bool_binop_done;
  }
  if (unlikely(__pyx_v_kwargs == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_cc, ((PyObject*)__pyx_v_kwargs), Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_4 != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_kwargs == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 96, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_kwargs), __pyx_n_s_cc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  /*else*/ {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 96, __pyx_L1_error)
    }
    __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_int_9);
    __Pyx_GIVEREF(__pyx_int_9);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_9);
    __Pyx_INCREF(__pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_n_s_s);
    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Expected_at_least_d_argument_s_g, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_L6:;
  while (1) {
    __pyx_t_2 = (__pyx_v_ndarray != ((PyTypeObject*)Py_None));
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {
      __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_v_ndarray); 
      __pyx_t_2 = (__pyx_t_3 != 0);
      if (__pyx_t_2) {
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_v_dtype = __pyx_t_6;
        __pyx_t_6 = 0;
        goto __pyx_L12;
      }
      __pyx_t_2 = __pyx_memoryview_check(__pyx_v_arg); 
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_v_arg_base = __pyx_t_6;
        __pyx_t_6 = 0;
        __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_arg_base, __pyx_v_ndarray); 
        __pyx_t_2 = (__pyx_t_3 != 0);
        if (__pyx_t_2) {
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg_base, __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_v_dtype = __pyx_t_6;
          __pyx_t_6 = 0;
          goto __pyx_L13;
        }
        /*else*/ {
          __Pyx_INCREF(Py_None);
          __pyx_v_dtype = Py_None;
        }
        __pyx_L13:;
        goto __pyx_L12;
      }
      /*else*/ {
        __Pyx_INCREF(Py_None);
        __pyx_v_dtype = Py_None;
      }
      __pyx_L12:;
      __pyx_v_itemsize = -1L;
      __pyx_t_2 = (__pyx_v_dtype != Py_None);
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_v_itemsize = __pyx_t_5;
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_kind); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Ord(__pyx_t_6); if (unlikely(__pyx_t_7 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_v_kind = __pyx_t_7;
        __pyx_v_dtype_signed = (__pyx_v_kind == 'i');
        switch (__pyx_v_kind) {
          case 'i':
          case 'u':
          __pyx_t_2 = (((sizeof(short)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L16_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L16_bool_binop_done;
          }
          __pyx_t_2 = ((!((__pyx_v_short_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L16_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          __pyx_t_2 = (((sizeof(int)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L20_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L20_bool_binop_done;
          }
          __pyx_t_2 = ((!((__pyx_v_int_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L20_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          __pyx_t_2 = (((sizeof(long)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L24_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L24_bool_binop_done;
          }
          __pyx_t_2 = ((!((__pyx_v_long_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L24_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          break;
          case 'f':
          __pyx_t_2 = (((sizeof(float)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L28_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L28_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_float, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          __pyx_t_2 = (((sizeof(double)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_2) {
          } else {
            __pyx_t_3 = __pyx_t_2;
            goto __pyx_L31_bool_binop_done;
          }
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_2 = ((((Py_ssize_t)__pyx_t_5) == 2) != 0);
          __pyx_t_3 = __pyx_t_2;
          __pyx_L31_bool_binop_done:;
          if (__pyx_t_3) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_double, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L10_break;
          }
          break;
          case 'c':
          break;
          case 'O':
          break;
          default: break;
        }
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L34_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(short))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L34_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L38_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(int))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L38_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L42_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(long))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L42_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L46_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(float))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L46_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_float, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_2 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L50_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_itemsize == (sizeof(double))) != 0);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L50_bool_binop_done:;
    if (__pyx_t_3) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_3 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_3) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_double, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L10_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, Py_None, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
    goto __pyx_L10_break;
  }
  __pyx_L10_break:;
  if (unlikely(__pyx_v_args == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
  __pyx_t_3 = ((1 < __pyx_t_5) != 0);
  if (__pyx_t_3) {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 96, __pyx_L1_error)
    }
    __pyx_t_6 = PyTuple_GET_ITEM(((PyObject*)__pyx_v_args), 1);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_DECREF_SET(__pyx_v_arg, __pyx_t_6);
    __pyx_t_6 = 0;
    goto __pyx_L53;
  }
  __pyx_t_2 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_3 = __pyx_t_4;
    goto __pyx_L54_bool_binop_done;
  }
  if (unlikely(__pyx_v_kwargs == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_taus, ((PyObject*)__pyx_v_kwargs), Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_4 != 0);
  __pyx_t_3 = __pyx_t_2;
  __pyx_L54_bool_binop_done:;
  if (__pyx_t_3) {
    if (unlikely(__pyx_v_kwargs == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 96, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_kwargs), __pyx_n_s_taus); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF_SET(__pyx_v_arg, __pyx_t_6);
    __pyx_t_6 = 0;
    goto __pyx_L53;
  }
  /*else*/ {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 96, __pyx_L1_error)
    }
    __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_int_9);
    __Pyx_GIVEREF(__pyx_int_9);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_9);
    __Pyx_INCREF(__pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_n_s_s);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_Expected_at_least_d_argument_s_g, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_L53:;
  while (1) {
    __pyx_t_3 = (__pyx_v_ndarray != ((PyTypeObject*)Py_None));
    __pyx_t_2 = (__pyx_t_3 != 0);
    if (__pyx_t_2) {
      __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_v_ndarray); 
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_XDECREF_SET(__pyx_v_dtype, __pyx_t_1);
        __pyx_t_1 = 0;
        goto __pyx_L59;
      }
      __pyx_t_3 = __pyx_memoryview_check(__pyx_v_arg); 
      __pyx_t_2 = (__pyx_t_3 != 0);
      if (__pyx_t_2) {
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_XDECREF_SET(__pyx_v_arg_base, __pyx_t_1);
        __pyx_t_1 = 0;
        __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg_base, __pyx_v_ndarray); 
        __pyx_t_3 = (__pyx_t_2 != 0);
        if (__pyx_t_3) {
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg_base, __pyx_n_s_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_XDECREF_SET(__pyx_v_dtype, __pyx_t_1);
          __pyx_t_1 = 0;
          goto __pyx_L60;
        }
        /*else*/ {
          __Pyx_INCREF(Py_None);
          __Pyx_XDECREF_SET(__pyx_v_dtype, Py_None);
        }
        __pyx_L60:;
        goto __pyx_L59;
      }
      /*else*/ {
        __Pyx_INCREF(Py_None);
        __Pyx_XDECREF_SET(__pyx_v_dtype, Py_None);
      }
      __pyx_L59:;
      __pyx_v_itemsize = -1L;
      __pyx_t_3 = (__pyx_v_dtype != Py_None);
      __pyx_t_2 = (__pyx_t_3 != 0);
      if (__pyx_t_2) {
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_v_itemsize = __pyx_t_5;
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_kind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_7 = __Pyx_PyObject_Ord(__pyx_t_1); if (unlikely(__pyx_t_7 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_v_kind = __pyx_t_7;
        __pyx_v_dtype_signed = (__pyx_v_kind == 'i');
        switch (__pyx_v_kind) {
          case 'i':
          case 'u':
          __pyx_t_3 = (((sizeof(short)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L63_bool_binop_done;
          }
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_3 = ((((Py_ssize_t)__pyx_t_5) == 1) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L63_bool_binop_done;
          }
          __pyx_t_3 = ((!((__pyx_v_short_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_2 = __pyx_t_3;
          __pyx_L63_bool_binop_done:;
          if (__pyx_t_2) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L57_break;
          }
          __pyx_t_3 = (((sizeof(int)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L67_bool_binop_done;
          }
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_3 = ((((Py_ssize_t)__pyx_t_5) == 1) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L67_bool_binop_done;
          }
          __pyx_t_3 = ((!((__pyx_v_int_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_2 = __pyx_t_3;
          __pyx_L67_bool_binop_done:;
          if (__pyx_t_2) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L57_break;
          }
          __pyx_t_3 = (((sizeof(long)) == __pyx_v_itemsize) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L71_bool_binop_done;
          }
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_3 = ((((Py_ssize_t)__pyx_t_5) == 1) != 0);
          if (__pyx_t_3) {
          } else {
            __pyx_t_2 = __pyx_t_3;
            goto __pyx_L71_bool_binop_done;
          }
          __pyx_t_3 = ((!((__pyx_v_long_is_signed ^ __pyx_v_dtype_signed) != 0)) != 0);
          __pyx_t_2 = __pyx_t_3;
          __pyx_L71_bool_binop_done:;
          if (__pyx_t_2) {
            if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
            goto __pyx_L57_break;
          }
          break;
          case 'f':
          break;
          case 'c':
          break;
          case 'O':
          break;
          default: break;
        }
      }
    }
    __pyx_t_3 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L75_bool_binop_done;
    }
    __pyx_t_3 = ((__pyx_v_itemsize == (sizeof(short))) != 0);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L75_bool_binop_done:;
    if (__pyx_t_2) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_short(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_2 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_2) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_short, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L57_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_3 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L79_bool_binop_done;
    }
    __pyx_t_3 = ((__pyx_v_itemsize == (sizeof(int))) != 0);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L79_bool_binop_done:;
    if (__pyx_t_2) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_int(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_2 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_2) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_int, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L57_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    __pyx_t_3 = ((__pyx_v_itemsize == -1L) != 0);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L83_bool_binop_done;
    }
    __pyx_t_3 = ((__pyx_v_itemsize == (sizeof(long))) != 0);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L83_bool_binop_done:;
    if (__pyx_t_2) {
      __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dc_long(__pyx_v_arg, 0); 
      __pyx_v_memslice = __pyx_t_8;
      __pyx_t_2 = (__pyx_v_memslice.memview != 0);
      if (__pyx_t_2) {
        __PYX_XDEC_MEMVIEW((&__pyx_v_memslice), 1); 
        if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, __pyx_n_s_long, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        goto __pyx_L57_break;
      }
      /*else*/ {
        PyErr_Clear(); 
      }
    }
    if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 1, Py_None, long, 1, __Pyx_PyInt_From_long, 1, 0, 0) < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
    goto __pyx_L57_break;
  }
  __pyx_L57_break:;
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_candidates = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_5 = 0;
  if (unlikely(__pyx_v_signatures == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_dict_iterator(((PyObject*)__pyx_v_signatures), 1, ((PyObject *)NULL), (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_6;
  __pyx_t_6 = 0;
  while (1) {
    __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_9, &__pyx_t_5, &__pyx_t_6, NULL, NULL, __pyx_t_10);
    if (unlikely(__pyx_t_11 == 0)) break;
    if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_sig, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_v_match_found = 0;
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_sig, __pyx_n_s_strip); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_14 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
      __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
      if (likely(__pyx_t_14)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
        __Pyx_INCREF(__pyx_t_14);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_13, function);
      }
    }
    __pyx_t_12 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_s_) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s_);
    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
      __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_13);
      if (likely(__pyx_t_12)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
        __Pyx_INCREF(__pyx_t_12);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_13, function);
      }
    }
    __pyx_t_6 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_12, __pyx_kp_s__2) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__2);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_XDECREF_SET(__pyx_v_src_sig, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_15 = PyList_GET_SIZE(__pyx_v_dest_sig); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
    __pyx_t_16 = __pyx_t_15;
    for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) {
      __pyx_v_i = __pyx_t_17;
      __pyx_t_6 = PyList_GET_ITEM(__pyx_v_dest_sig, __pyx_v_i);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_dst_type, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_2 = (__pyx_v_dst_type != Py_None);
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_src_sig, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_13 = PyObject_RichCompare(__pyx_t_6, __pyx_v_dst_type, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 96, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        if (__pyx_t_3) {
          __pyx_v_match_found = 1;
          goto __pyx_L91;
        }
        /*else*/ {
          __pyx_v_match_found = 0;
          goto __pyx_L89_break;
        }
        __pyx_L91:;
      }
    }
    __pyx_L89_break:;
    __pyx_t_3 = (__pyx_v_match_found != 0);
    if (__pyx_t_3) {
      __pyx_t_18 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_v_sig); if (unlikely(__pyx_t_18 == ((int)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (PyList_GET_SIZE(__pyx_v_candidates) != 0);
  __pyx_t_2 = ((!__pyx_t_3) != 0);
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  __pyx_t_9 = PyList_GET_SIZE(__pyx_v_candidates); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 96, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_9 > 1) != 0);
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 96, __pyx_L1_error)
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_signatures == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 96, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_signatures), PyList_GET_ITEM(__pyx_v_candidates, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("c_corr.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dest_sig);
  __Pyx_XDECREF(__pyx_v_ndarray);
  __Pyx_XDECREF(__pyx_v_arg);
  __Pyx_XDECREF(__pyx_v_dtype);
  __Pyx_XDECREF(__pyx_v_arg_base);
  __Pyx_XDECREF(__pyx_v_candidates);
  __Pyx_XDECREF(__pyx_v_sig);
  __Pyx_XDECREF(__pyx_v_src_sig);
  __Pyx_XDECREF(__pyx_v_dst_type);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_0_0__pyx_pw_6c_corr_47_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0_0__pyx_mdef_6c_corr_47_c_corr_core2 = {"__pyx_fuse_0_0_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0_0__pyx_pw_6c_corr_47_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_0_0__pyx_pw_6c_corr_47_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED short __pyx_v_curr_tdoa;
  short __pyx_v_ind_tdoa;
  short __pyx_v_max_tdoa;
  short __pyx_v_win_size;
  short __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_short(values[4]); if (unlikely((__pyx_v_curr_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_short(values[5]); if (unlikely((__pyx_v_ind_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_short(values[6]); if (unlikely((__pyx_v_max_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_short(values[7]); if (unlikely((__pyx_v_win_size == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_short(values[8]); if (unlikely((__pyx_v_n_pair == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_46_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_46_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED short __pyx_v_curr_tdoa, short __pyx_v_ind_tdoa, short __pyx_v_max_tdoa, short __pyx_v_win_size, short __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0_0_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_0_0_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_0_1__pyx_pw_6c_corr_49_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0_1__pyx_mdef_6c_corr_49_c_corr_core2 = {"__pyx_fuse_0_1_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0_1__pyx_pw_6c_corr_49_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_0_1__pyx_pw_6c_corr_49_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED int __pyx_v_curr_tdoa;
  int __pyx_v_ind_tdoa;
  int __pyx_v_max_tdoa;
  int __pyx_v_win_size;
  int __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_curr_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_ind_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_max_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_win_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_int(values[8]); if (unlikely((__pyx_v_n_pair == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_48_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_48_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED int __pyx_v_curr_tdoa, int __pyx_v_ind_tdoa, int __pyx_v_max_tdoa, int __pyx_v_win_size, int __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0_1_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_0_1_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_0_2__pyx_pw_6c_corr_51_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0_2__pyx_mdef_6c_corr_51_c_corr_core2 = {"__pyx_fuse_0_2_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0_2__pyx_pw_6c_corr_51_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_0_2__pyx_pw_6c_corr_51_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED long __pyx_v_curr_tdoa;
  long __pyx_v_ind_tdoa;
  long __pyx_v_max_tdoa;
  long __pyx_v_win_size;
  long __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_short(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_long(values[4]); if (unlikely((__pyx_v_curr_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_long(values[5]); if (unlikely((__pyx_v_ind_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_long(values[6]); if (unlikely((__pyx_v_max_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_long(values[7]); if (unlikely((__pyx_v_win_size == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_long(values[8]); if (unlikely((__pyx_v_n_pair == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_50_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_50_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED long __pyx_v_curr_tdoa, long __pyx_v_ind_tdoa, long __pyx_v_max_tdoa, long __pyx_v_win_size, long __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_0_2_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_0_2_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_1_0__pyx_pw_6c_corr_53_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1_0__pyx_mdef_6c_corr_53_c_corr_core2 = {"__pyx_fuse_1_0_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1_0__pyx_pw_6c_corr_53_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_1_0__pyx_pw_6c_corr_53_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED short __pyx_v_curr_tdoa;
  short __pyx_v_ind_tdoa;
  short __pyx_v_max_tdoa;
  short __pyx_v_win_size;
  short __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_short(values[4]); if (unlikely((__pyx_v_curr_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_short(values[5]); if (unlikely((__pyx_v_ind_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_short(values[6]); if (unlikely((__pyx_v_max_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_short(values[7]); if (unlikely((__pyx_v_win_size == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_short(values[8]); if (unlikely((__pyx_v_n_pair == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_52_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_52_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED short __pyx_v_curr_tdoa, short __pyx_v_ind_tdoa, short __pyx_v_max_tdoa, short __pyx_v_win_size, short __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1_0_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_1_0_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_1_1__pyx_pw_6c_corr_55_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1_1__pyx_mdef_6c_corr_55_c_corr_core2 = {"__pyx_fuse_1_1_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1_1__pyx_pw_6c_corr_55_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_1_1__pyx_pw_6c_corr_55_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED int __pyx_v_curr_tdoa;
  int __pyx_v_ind_tdoa;
  int __pyx_v_max_tdoa;
  int __pyx_v_win_size;
  int __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_curr_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_ind_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_max_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_win_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_int(values[8]); if (unlikely((__pyx_v_n_pair == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_54_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_54_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED int __pyx_v_curr_tdoa, int __pyx_v_ind_tdoa, int __pyx_v_max_tdoa, int __pyx_v_win_size, int __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1_1_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_1_1_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_1_2__pyx_pw_6c_corr_57_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1_2__pyx_mdef_6c_corr_57_c_corr_core2 = {"__pyx_fuse_1_2_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1_2__pyx_pw_6c_corr_57_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_1_2__pyx_pw_6c_corr_57_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED long __pyx_v_curr_tdoa;
  long __pyx_v_ind_tdoa;
  long __pyx_v_max_tdoa;
  long __pyx_v_win_size;
  long __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_int(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_long(values[4]); if (unlikely((__pyx_v_curr_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_long(values[5]); if (unlikely((__pyx_v_ind_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_long(values[6]); if (unlikely((__pyx_v_max_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_long(values[7]); if (unlikely((__pyx_v_win_size == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_long(values[8]); if (unlikely((__pyx_v_n_pair == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_56_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_56_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED long __pyx_v_curr_tdoa, long __pyx_v_ind_tdoa, long __pyx_v_max_tdoa, long __pyx_v_win_size, long __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_1_2_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_1_2_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_2_0__pyx_pw_6c_corr_59_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_2_0__pyx_mdef_6c_corr_59_c_corr_core2 = {"__pyx_fuse_2_0_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_2_0__pyx_pw_6c_corr_59_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_2_0__pyx_pw_6c_corr_59_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED short __pyx_v_curr_tdoa;
  short __pyx_v_ind_tdoa;
  short __pyx_v_max_tdoa;
  short __pyx_v_win_size;
  short __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_short(values[4]); if (unlikely((__pyx_v_curr_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_short(values[5]); if (unlikely((__pyx_v_ind_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_short(values[6]); if (unlikely((__pyx_v_max_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_short(values[7]); if (unlikely((__pyx_v_win_size == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_short(values[8]); if (unlikely((__pyx_v_n_pair == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_58_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_58_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED short __pyx_v_curr_tdoa, short __pyx_v_ind_tdoa, short __pyx_v_max_tdoa, short __pyx_v_win_size, short __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2_0_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_2_0_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_2_1__pyx_pw_6c_corr_61_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_2_1__pyx_mdef_6c_corr_61_c_corr_core2 = {"__pyx_fuse_2_1_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_2_1__pyx_pw_6c_corr_61_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_2_1__pyx_pw_6c_corr_61_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED int __pyx_v_curr_tdoa;
  int __pyx_v_ind_tdoa;
  int __pyx_v_max_tdoa;
  int __pyx_v_win_size;
  int __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_curr_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_ind_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_max_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_win_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_int(values[8]); if (unlikely((__pyx_v_n_pair == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_60_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_60_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED int __pyx_v_curr_tdoa, int __pyx_v_ind_tdoa, int __pyx_v_max_tdoa, int __pyx_v_win_size, int __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2_1_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_2_1_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_2_2__pyx_pw_6c_corr_63_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_2_2__pyx_mdef_6c_corr_63_c_corr_core2 = {"__pyx_fuse_2_2_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_2_2__pyx_pw_6c_corr_63_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_2_2__pyx_pw_6c_corr_63_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED long __pyx_v_curr_tdoa;
  long __pyx_v_ind_tdoa;
  long __pyx_v_max_tdoa;
  long __pyx_v_win_size;
  long __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_long(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_long(values[4]); if (unlikely((__pyx_v_curr_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_long(values[5]); if (unlikely((__pyx_v_ind_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_long(values[6]); if (unlikely((__pyx_v_max_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_long(values[7]); if (unlikely((__pyx_v_win_size == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_long(values[8]); if (unlikely((__pyx_v_n_pair == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_62_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_62_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED long __pyx_v_curr_tdoa, long __pyx_v_ind_tdoa, long __pyx_v_max_tdoa, long __pyx_v_win_size, long __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_2_2_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_2_2_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_3_0__pyx_pw_6c_corr_65_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_3_0__pyx_mdef_6c_corr_65_c_corr_core2 = {"__pyx_fuse_3_0_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_3_0__pyx_pw_6c_corr_65_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_3_0__pyx_pw_6c_corr_65_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED short __pyx_v_curr_tdoa;
  short __pyx_v_ind_tdoa;
  short __pyx_v_max_tdoa;
  short __pyx_v_win_size;
  short __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_short(values[4]); if (unlikely((__pyx_v_curr_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_short(values[5]); if (unlikely((__pyx_v_ind_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_short(values[6]); if (unlikely((__pyx_v_max_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_short(values[7]); if (unlikely((__pyx_v_win_size == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_short(values[8]); if (unlikely((__pyx_v_n_pair == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_64_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_64_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED short __pyx_v_curr_tdoa, short __pyx_v_ind_tdoa, short __pyx_v_max_tdoa, short __pyx_v_win_size, short __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_3_0_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_3_0_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_3_1__pyx_pw_6c_corr_67_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_3_1__pyx_mdef_6c_corr_67_c_corr_core2 = {"__pyx_fuse_3_1_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_3_1__pyx_pw_6c_corr_67_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_3_1__pyx_pw_6c_corr_67_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED int __pyx_v_curr_tdoa;
  int __pyx_v_ind_tdoa;
  int __pyx_v_max_tdoa;
  int __pyx_v_win_size;
  int __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_curr_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_ind_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_max_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_win_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_int(values[8]); if (unlikely((__pyx_v_n_pair == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_66_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_66_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED int __pyx_v_curr_tdoa, int __pyx_v_ind_tdoa, int __pyx_v_max_tdoa, int __pyx_v_win_size, int __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_3_1_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_3_1_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_3_2__pyx_pw_6c_corr_69_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_3_2__pyx_mdef_6c_corr_69_c_corr_core2 = {"__pyx_fuse_3_2_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_3_2__pyx_pw_6c_corr_69_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_3_2__pyx_pw_6c_corr_69_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED long __pyx_v_curr_tdoa;
  long __pyx_v_ind_tdoa;
  long __pyx_v_max_tdoa;
  long __pyx_v_win_size;
  long __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_float(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_long(values[4]); if (unlikely((__pyx_v_curr_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_long(values[5]); if (unlikely((__pyx_v_ind_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_long(values[6]); if (unlikely((__pyx_v_max_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_long(values[7]); if (unlikely((__pyx_v_win_size == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_long(values[8]); if (unlikely((__pyx_v_n_pair == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_68_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_68_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED long __pyx_v_curr_tdoa, long __pyx_v_ind_tdoa, long __pyx_v_max_tdoa, long __pyx_v_win_size, long __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_3_2_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_3_2_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_4_0__pyx_pw_6c_corr_71_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_4_0__pyx_mdef_6c_corr_71_c_corr_core2 = {"__pyx_fuse_4_0_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_4_0__pyx_pw_6c_corr_71_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_4_0__pyx_pw_6c_corr_71_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED short __pyx_v_curr_tdoa;
  short __pyx_v_ind_tdoa;
  short __pyx_v_max_tdoa;
  short __pyx_v_win_size;
  short __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_short(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_short(values[4]); if (unlikely((__pyx_v_curr_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_short(values[5]); if (unlikely((__pyx_v_ind_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_short(values[6]); if (unlikely((__pyx_v_max_tdoa == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_short(values[7]); if (unlikely((__pyx_v_win_size == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_short(values[8]); if (unlikely((__pyx_v_n_pair == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_70_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_70_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED short __pyx_v_curr_tdoa, short __pyx_v_ind_tdoa, short __pyx_v_max_tdoa, short __pyx_v_win_size, short __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_4_0_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_4_0_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_4_1__pyx_pw_6c_corr_73_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_4_1__pyx_mdef_6c_corr_73_c_corr_core2 = {"__pyx_fuse_4_1_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_4_1__pyx_pw_6c_corr_73_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_4_1__pyx_pw_6c_corr_73_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED int __pyx_v_curr_tdoa;
  int __pyx_v_ind_tdoa;
  int __pyx_v_max_tdoa;
  int __pyx_v_win_size;
  int __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_int(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_curr_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_ind_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_max_tdoa == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_win_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_int(values[8]); if (unlikely((__pyx_v_n_pair == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_72_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_72_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED int __pyx_v_curr_tdoa, int __pyx_v_ind_tdoa, int __pyx_v_max_tdoa, int __pyx_v_win_size, int __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_4_1_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_4_1_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_4_2__pyx_pw_6c_corr_75_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_4_2__pyx_mdef_6c_corr_75_c_corr_core2 = {"__pyx_fuse_4_2_c_corr_core2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_4_2__pyx_pw_6c_corr_75_c_corr_core2, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_fuse_4_2__pyx_pw_6c_corr_75_c_corr_core2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __Pyx_memviewslice __pyx_v_cc = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_v_out_taus = { 0, 0, { 0 }, { 0 }, { 0 } };
  double __pyx_v_val;
  CYTHON_UNUSED long __pyx_v_curr_tdoa;
  long __pyx_v_ind_tdoa;
  long __pyx_v_max_tdoa;
  long __pyx_v_win_size;
  long __pyx_v_n_pair;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_c_corr_core2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cc,&__pyx_n_s_taus,&__pyx_n_s_out_taus,&__pyx_n_s_val,&__pyx_n_s_curr_tdoa,&__pyx_n_s_ind_tdoa,&__pyx_n_s_max_tdoa,&__pyx_n_s_win_size,&__pyx_n_s_n_pair,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 1); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_out_taus)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 2); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 3); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curr_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 4); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ind_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 5); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tdoa)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 6); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_win_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 7); __PYX_ERR(0, 96, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_pair)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, 8); __PYX_ERR(0, 96, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_c_corr_core2") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      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);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_cc = __Pyx_PyObject_to_MemoryviewSlice_d_dc_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_cc.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_out_taus = __Pyx_PyObject_to_MemoryviewSlice_dc_long(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_out_taus.memview)) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L3_error)
    __pyx_v_curr_tdoa = __Pyx_PyInt_As_long(values[4]); if (unlikely((__pyx_v_curr_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_ind_tdoa = __Pyx_PyInt_As_long(values[5]); if (unlikely((__pyx_v_ind_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_max_tdoa = __Pyx_PyInt_As_long(values[6]); if (unlikely((__pyx_v_max_tdoa == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_win_size = __Pyx_PyInt_As_long(values[7]); if (unlikely((__pyx_v_win_size == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
    __pyx_v_n_pair = __Pyx_PyInt_As_long(values[8]); if (unlikely((__pyx_v_n_pair == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_c_corr_core2", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6c_corr_74_c_corr_core2(__pyx_self, __pyx_v_cc, __pyx_v_taus, __pyx_v_out_taus, __pyx_v_val, __pyx_v_curr_tdoa, __pyx_v_ind_tdoa, __pyx_v_max_tdoa, __pyx_v_win_size, __pyx_v_n_pair);
  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_6c_corr_74_c_corr_core2(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_cc, __Pyx_memviewslice __pyx_v_taus, __Pyx_memviewslice __pyx_v_out_taus, double __pyx_v_val, CYTHON_UNUSED long __pyx_v_curr_tdoa, long __pyx_v_ind_tdoa, long __pyx_v_max_tdoa, long __pyx_v_win_size, long __pyx_v_n_pair) {
  int __pyx_v_i0;
  int __pyx_v_j0;
  double __pyx_v_tmp_val;
  long __pyx_v_i;
  int __pyx_v_level;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fuse_4_2_c_corr_core2", 0);
  __Pyx_TraceCall("__pyx_fuse_4_2_c_corr_core2", __pyx_f[0], 96, 0, __PYX_ERR(0, 96, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("c_corr._c_corr_core2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __PYX_XDEC_MEMVIEW(&__pyx_v_cc, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_taus, 1);
  __PYX_XDEC_MEMVIEW(&__pyx_v_out_taus, 1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__27 = PyTuple_Pack(14, __pyx_n_s_cc, __pyx_n_s_taus, __pyx_n_s_out_taus, __pyx_n_s_val, __pyx_n_s_curr_tdoa, __pyx_n_s_ind_tdoa, __pyx_n_s_max_tdoa, __pyx_n_s_win_size, __pyx_n_s_n_pair, __pyx_n_s_i0, __pyx_n_s_j0, __pyx_n_s_tmp_val, __pyx_n_s_i, __pyx_n_s_level); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__27);
  __Pyx_GIVEREF(__pyx_tuple__27);
/* … */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_0_0__pyx_mdef_6c_corr_47_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_short_short, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_0_1__pyx_mdef_6c_corr_49_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_short_int, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_0_2__pyx_mdef_6c_corr_51_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_short_long, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_1_0__pyx_mdef_6c_corr_53_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_int_short, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_1_1__pyx_mdef_6c_corr_55_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_int_int, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_1_2__pyx_mdef_6c_corr_57_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_int_long, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_2_0__pyx_mdef_6c_corr_59_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_long_short, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_2_1__pyx_mdef_6c_corr_61_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_long_int, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_2_2__pyx_mdef_6c_corr_63_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_long_long, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_3_0__pyx_mdef_6c_corr_65_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_float_short, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_3_1__pyx_mdef_6c_corr_67_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_float_int, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_3_2__pyx_mdef_6c_corr_69_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_float_long, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_4_0__pyx_mdef_6c_corr_71_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_double_short, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_4_1__pyx_mdef_6c_corr_73_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_double_int, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_fuse_4_2__pyx_mdef_6c_corr_75_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_double_long, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_FusedFunction_New(&__pyx_mdef_6c_corr_5_c_corr_core2, 0, __pyx_n_s_c_corr_core2, NULL, __pyx_n_s_c_corr, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_empty_tuple);
  ((__pyx_FusedFunctionObject *) __pyx_t_2)->__signatures__ = __pyx_t_1;
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_c_corr_core2, __pyx_t_2) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(9, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_c_corr_pyx, __pyx_n_s_c_corr_core2, 96, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 96, __pyx_L1_error)
 097:                  npType2 curr_tdoa, npType2 ind_tdoa, npType2 max_tdoa, npType2 win_size, npType2 n_pair):
+098:     cdef int i0 = 1
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
/* … */
  __pyx_v_i0 = 1;
+099:     cdef int j0 = 0
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
/* … */
  __pyx_v_j0 = 0;
+100:     cdef double tmp_val = 0.0
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
/* … */
  __pyx_v_tmp_val = 0.0;
+101:     for i in range(ind_tdoa):
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
/* … */
  __pyx_t_1 = __pyx_v_ind_tdoa;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
+102:         taus[i] =  - max_tdoa - 1
    __pyx_t_4 = __pyx_v_i;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
/* … */
    __pyx_t_4 = __pyx_v_i;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = ((-__pyx_v_max_tdoa) - 1);
  }
+103:     cdef int level = 0
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
/* … */
  __pyx_v_level = 0;
+104:     while level >= 0:
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
/* … */
  while (1) {
    __pyx_t_5 = ((__pyx_v_level >= 0) != 0);
    if (!__pyx_t_5) break;
+105:         taus[level] += 1
    __pyx_t_4 = __pyx_v_level;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
/* … */
    __pyx_t_4 = __pyx_v_level;
    *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) += 1;
+106:         if taus[level] > min(taus[:level]) + max_tdoa:
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_short((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_int((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_1 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = PyNumber_Add(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_RichCompare(__pyx_t_6, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_long((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_short((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_int((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_1 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = PyNumber_Add(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_RichCompare(__pyx_t_6, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_long((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_short((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_int((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_1 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = PyNumber_Add(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_RichCompare(__pyx_t_6, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_long((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_short((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_int((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_1 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = PyNumber_Add(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_RichCompare(__pyx_t_6, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_long((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_short((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_int((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_1 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = PyNumber_Add(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_RichCompare(__pyx_t_6, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_5) {
/* … */
    }
/* … */
    __pyx_t_4 = __pyx_v_level;
    __pyx_t_6 = __Pyx_PyInt_From_long((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.data = __pyx_v_taus.data;
    __pyx_t_7.memview = __pyx_v_taus.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
    __pyx_t_8 = -1;
    if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 106, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
    __pyx_t_7.memview = NULL;
    __pyx_t_7.data = NULL;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = PyNumber_Add(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_5) {
/* … */
    }
+107:             taus[level] = max(taus[:level]) - max_tdoa - 1
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_short(__pyx_t_9); if (unlikely((__pyx_t_1 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_1 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_long(__pyx_t_9); if (unlikely((__pyx_t_1 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_short(__pyx_t_9); if (unlikely((__pyx_t_1 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_1 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_long(__pyx_t_9); if (unlikely((__pyx_t_1 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_short(__pyx_t_9); if (unlikely((__pyx_t_1 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_1 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_long(__pyx_t_9); if (unlikely((__pyx_t_1 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_short(__pyx_t_9); if (unlikely((__pyx_t_1 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_1 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_long(__pyx_t_9); if (unlikely((__pyx_t_1 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_short, (int (*)(char *, PyObject *)) __pyx_memview_set_short, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_short(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_short(__pyx_t_9); if (unlikely((__pyx_t_1 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_1 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_1,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_8 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_int, (int (*)(char *, PyObject *)) __pyx_memview_set_int, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
/* … */
      __pyx_t_7.data = __pyx_v_taus.data;
      __pyx_t_7.memview = __pyx_v_taus.memview;
      __PYX_INC_MEMVIEW(&__pyx_t_7, 0);
      __pyx_t_8 = -1;
      if (unlikely(__pyx_memoryview_slice_memviewslice(
    &__pyx_t_7,
    __pyx_v_taus.shape[0], __pyx_v_taus.strides[0], __pyx_v_taus.suboffsets[0],
    0,
    0,
    &__pyx_t_8,
    0,
    __pyx_v_level,
    0,
    0,
    1,
    0,
    1) < 0))
{
    __PYX_ERR(0, 107, __pyx_L1_error)
}

__pyx_t_9 = __pyx_memoryview_fromslice(__pyx_t_7, 1, (PyObject *(*)(char *)) __pyx_memview_get_long, (int (*)(char *, PyObject *)) __pyx_memview_set_long, 0);; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
      __pyx_t_7.memview = NULL;
      __pyx_t_7.data = NULL;
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_max_tdoa); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyInt_As_long(__pyx_t_9); if (unlikely((__pyx_t_1 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = __pyx_v_level;
      *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) )) = __pyx_t_1;
+108:             level -= 1
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
+109:             continue
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
/* … */
      goto __pyx_L5_continue;
+110:         level +=1
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
/* … */
    __pyx_v_level = (__pyx_v_level + 1);
+111:         if level == ind_tdoa:
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
/* … */
    __pyx_t_5 = ((__pyx_v_level == __pyx_v_ind_tdoa) != 0);
    if (__pyx_t_5) {
/* … */
    }
    __pyx_L5_continue:;
  }
+112:             level -= 1
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
/* … */
      __pyx_v_level = (__pyx_v_level - 1);
+113:             for i in range(ind_tdoa, n_pair):
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = __pyx_v_ind_tdoa; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
+114:                 taus[i] = taus[i0] - taus[j0]
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_11 = __pyx_v_j0;
        __pyx_t_12 = __pyx_v_i;
        *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_12)) )) = ((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_11 = __pyx_v_j0;
        __pyx_t_12 = __pyx_v_i;
        *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_12)) )) = ((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_11 = __pyx_v_j0;
        __pyx_t_12 = __pyx_v_i;
        *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_12)) )) = ((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_11 = __pyx_v_j0;
        __pyx_t_12 = __pyx_v_i;
        *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_12)) )) = ((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_11 = __pyx_v_j0;
        __pyx_t_12 = __pyx_v_i;
        *((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_12)) )) = ((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))));
/* … */
        __pyx_t_4 = __pyx_v_i0;
        __pyx_t_12 = __pyx_v_j0;
        __pyx_t_13 = __pyx_v_i;
        *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_13)) )) = ((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_4)) ))) - (*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))));
+115:                 i0 += 1
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
/* … */
        __pyx_v_i0 = (__pyx_v_i0 + 1);
+116:                 if i0 >= ind_tdoa:
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
/* … */
        __pyx_t_5 = ((__pyx_v_i0 >= __pyx_v_ind_tdoa) != 0);
        if (__pyx_t_5) {
/* … */
        }
+117:                     j0 += 1
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_j0 = (__pyx_v_j0 + 1);
+118:                     i0 = j0 + 1
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
/* … */
          __pyx_v_i0 = (__pyx_v_j0 + 1);
+119:                 tmp_val = cc[0, moduloNeg(taus[0], win_size)]
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_11 = 0;
        __pyx_t_4 = 0;
        __pyx_t_12 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_12)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_11 = 0;
        __pyx_t_4 = 0;
        __pyx_t_12 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_12)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_11 = 0;
        __pyx_t_4 = 0;
        __pyx_t_12 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_12)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_11 = 0;
        __pyx_t_4 = 0;
        __pyx_t_12 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_12)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
/* … */
        __pyx_t_11 = 0;
        __pyx_t_4 = 0;
        __pyx_t_12 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_12)) )));
      }
/* … */
        __pyx_t_12 = 0;
        __pyx_t_4 = 0;
        __pyx_t_13 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_4 * __pyx_v_cc.strides[0]) )) + __pyx_t_13)) )));
      }
+120:             for i in range(1, n_pair):
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
/* … */
      __pyx_t_1 = __pyx_v_n_pair;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;
+121:                 tmp_val *= cc[i, moduloNeg(taus[i], win_size)]
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_11 = __pyx_v_i;
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_12 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((short *) ( /* dim=1 */ ((char *) (((short *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_11 = __pyx_v_i;
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_12 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((int *) ( /* dim=1 */ ((char *) (((int *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_11 = __pyx_v_i;
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_12 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((long *) ( /* dim=1 */ ((char *) (((long *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_11 = __pyx_v_i;
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_12 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((float *) ( /* dim=1 */ ((char *) (((float *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((short *) ( /* dim=0 */ ((char *) (((short *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_11 = __pyx_v_i;
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((int *) ( /* dim=0 */ ((char *) (((int *) __pyx_v_taus.data) + __pyx_t_11)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_12 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
/* … */
        __pyx_t_12 = __pyx_v_i;
        __pyx_t_13 = __pyx_v_i;
        __pyx_t_4 = __pyx_f_6c_corr_moduloNeg((*((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_taus.data) + __pyx_t_12)) ))), __pyx_v_win_size);
        __pyx_v_tmp_val = (__pyx_v_tmp_val * (*((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_cc.data + __pyx_t_13 * __pyx_v_cc.strides[0]) )) + __pyx_t_4)) ))));
      }
+122:             if val < tmp_val:
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
/* … */
      __pyx_t_5 = ((__pyx_v_val < __pyx_v_tmp_val) != 0);
      if (__pyx_t_5) {
/* … */
      }
+123:                 val = tmp_val
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
/* … */
        __pyx_v_val = __pyx_v_tmp_val;
+124:                 out_taus[:] = taus
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
/* … */
        if (unlikely(__pyx_memoryview_copy_contents(__pyx_v_taus, __pyx_v_out_taus, 1, 1, 0) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
+125:     return val
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;
/* … */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_val); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;