/* Generated by Cython 0.25.2 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "extra_compile_args": [
            "-O2"
        ]
    }, 
    "module_name": "wlsqm.fitter.defs"
}
END: Cython Metadata */

#define PY_SSIZE_T_CLEAN
#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
    #error Cython requires Python 2.6+ or Python 3.2+.
#else
#define CYTHON_ABI "0_25_2"
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#ifndef HAVE_LONG_LONG
  #if PY_VERSION_HEX >= 0x03030000 || (PY_MAJOR_VERSION == 2 && PY_VERSION_HEX >= 0x02070000)
    #define HAVE_LONG_LONG
  #endif
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
#elif defined(PYSTON_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #if PY_MAJOR_VERSION < 3
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if PY_VERSION_HEX < 0x030300F0
    #undef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #elif !defined(CYTHON_USE_UNICODE_WRITER)
    #define CYTHON_USE_UNICODE_WRITER 1
  #endif
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #include "longintrepr.h"
  #undef SHIFT
  #undef BASE
  #undef MASK
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  #define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  #define __Pyx_DefaultClassType PyClass_Type
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  #define __Pyx_DefaultClassType PyType_Type
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef METH_FASTCALL
  #define METH_FASTCALL 0x80
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,
                                              Py_ssize_t nargs, PyObject *kwnames);
#else
  #define __Pyx_PyCFunctionFast _PyCFunctionFast
#endif
#if CYTHON_FAST_PYCCALL
#define __Pyx_PyFastCFunction_Check(func)\
    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST)))))
#else
#define __Pyx_PyFastCFunction_Check(func) 0
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
#else
  #define CYTHON_PEP393_ENABLED 0
  #define PyUnicode_1BYTE_KIND  1
  #define PyUnicode_2BYTE_KIND  2
  #define PyUnicode_4BYTE_KIND  4
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
#else
  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
  #define PyObject_Malloc(s)   PyMem_Malloc(s)
  #define PyObject_Free(p)     PyMem_Free(p)
  #define PyObject_Realloc(p)  PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_PYSTON
  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
#else
  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  #define PyObject_ASCII(o)            PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  #define PyNumber_Int                 PyNumber_Long
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  #ifndef PyUnicode_InternFromString
    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  #endif
#endif
#if PY_VERSION_HEX < 0x030200A4
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
#else
  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
#endif
#if CYTHON_USE_ASYNC_SLOTS
  #if PY_VERSION_HEX >= 0x030500B1
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  #else
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
    } __Pyx_PyAsyncMethodsStruct;
    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  #endif
#else
  #define __Pyx_PyType_AsAsync(obj) NULL
#endif
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER) && _MSC_VER >= 1400
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)

#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #elif defined(__GNUC__)
    #define CYTHON_INLINE __inline__
  #elif defined(_MSC_VER)
    #define CYTHON_INLINE __inline
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_INLINE inline
  #else
    #define CYTHON_INLINE
  #endif
#endif

#if defined(WIN32) || defined(MS_WINDOWS)
  #define _USE_MATH_DEFINES
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif


#define __PYX_ERR(f_index, lineno, Ln_error) \
{ \
  __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
}

#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#define __PYX_HAVE__wlsqm__fitter__defs
#define __PYX_HAVE_API__wlsqm__fitter__defs
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#ifdef PYREX_WITHOUT_ASSERTIONS
#define CYTHON_WITHOUT_ASSERTIONS
#endif

typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
    (sizeof(type) < sizeof(Py_ssize_t))  ||\
    (sizeof(type) > sizeof(Py_ssize_t) &&\
          likely(v < (type)PY_SSIZE_T_MAX ||\
                 v == (type)PY_SSIZE_T_MAX)  &&\
          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
                                v == (type)PY_SSIZE_T_MIN)))  ||\
    (sizeof(type) == sizeof(Py_ssize_t) &&\
          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                               v == (type)PY_SSIZE_T_MAX)))  )
#if defined (__cplusplus) && __cplusplus >= 201103L
    #include <cstdlib>
    #define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER) && defined (_M_X64)
    #define __Pyx_sst_abs(value) _abs64(value)
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
    #define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#define __Pyx_PyObject_AsSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#if PY_MAJOR_VERSION < 3
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
{
    const Py_UNICODE *u_end = u;
    while (*u_end++) ;
    return (size_t)(u_end - u - 1);
}
#else
#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
#endif
#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
#define __Pyx_PyBool_FromLong(b) ((b) ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False))
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    const char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    if (strcmp(default_encoding_c, "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (!ascii_chars_u) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
        Py_DECREF(ascii_chars_u);
        Py_DECREF(ascii_chars_b);
    }
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#endif


/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */

static PyObject *__pyx_m;
static PyObject *__pyx_d;
static PyObject *__pyx_b;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static PyObject *__pyx_empty_unicode;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;


static const char *__pyx_f[] = {
  "wlsqm/fitter/defs.pyx",
};

/*--- Type declarations ---*/

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
#ifdef WITH_THREAD
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          if (acquire_gil) {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
              PyGILState_Release(__pyx_gilstate_save);\
          } else {\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

/* CodeObjectCache.proto */
typedef struct {
    PyCodeObject* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(void);

/* PyObjectSetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o,n,NULL)
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_setattro))
        return tp->tp_setattro(obj, attr_name, value);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_setattr))
        return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
#endif
    return PyObject_SetAttr(obj, attr_name, value);
}
#else
#define __Pyx_PyObject_DelAttrStr(o,n)   PyObject_DelAttr(o,n)
#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
#endif

/* VoidPtrExport.proto */
static int __Pyx_ExportVoidPtr(PyObject *name, void *p, const char *sig);

/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);


/* Module declarations from 'wlsqm.fitter.defs' */
static int __pyx_v_5wlsqm_6fitter_4defs_ALGO_BASIC_c;
static int __pyx_v_5wlsqm_6fitter_4defs_ALGO_ITERATIVE_c;
static int __pyx_v_5wlsqm_6fitter_4defs_WEIGHT_UNIFORM_c;
static int __pyx_v_5wlsqm_6fitter_4defs_WEIGHT_CENTER_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_F_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_X_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_X2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_X3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_X4_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_0th_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_1st_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_2nd_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_3rd_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i1_4th_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_SIZE1_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_F_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_X_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_Y_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_X2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_XY_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_Y2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_X3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_X2Y_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_XY2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_Y3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_X4_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_X3Y_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_X2Y2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_XY3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_Y4_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_0th_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_1st_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_2nd_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_3rd_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i2_4th_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_SIZE2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_F_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Y_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Z_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XY_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Y2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_YZ_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Z2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XZ_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X2Y_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XY2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Y3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_YZ2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Z3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XZ2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X2Z_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XYZ_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X4_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X3Y_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X2Y2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XY3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Y4_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Y3Z_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_YZ3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_Z4_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XZ3_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X2Z2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X3Z_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_X2YZ_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XY2Z_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_XYZ2_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_0th_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_1st_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_2nd_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_3rd_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_i3_4th_end_c;
static int __pyx_v_5wlsqm_6fitter_4defs_SIZE3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b1_F_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b1_X_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b1_X2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b1_X3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b1_X4_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_F_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_X_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_Y_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_X2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_XY_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_Y2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_X3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_X2Y_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_XY2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_Y3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_X4_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_X3Y_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_X2Y2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_XY3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b2_Y4_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_F_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Y_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Z_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XY_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Y2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_YZ_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Z2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XZ_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X2Y_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XY2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Y3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_YZ2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Z3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XZ2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X2Z_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XYZ_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X4_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X3Y_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X2Y2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XY3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Y4_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Y3Z_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_YZ3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_Z4_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XZ3_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X2Z2_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X3Z_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_X2YZ_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XY2Z_c;
static PY_LONG_LONG __pyx_v_5wlsqm_6fitter_4defs_b3_XYZ2_c;
#define __Pyx_MODULE_NAME "wlsqm.fitter.defs"
int __pyx_module_is_main_wlsqm__fitter__defs = 0;

/* Implementation of 'wlsqm.fitter.defs' */
static const char __pyx_k_b1_F[] = "b1_F";
static const char __pyx_k_b1_X[] = "b1_X";
static const char __pyx_k_b2_F[] = "b2_F";
static const char __pyx_k_b2_X[] = "b2_X";
static const char __pyx_k_b2_Y[] = "b2_Y";
static const char __pyx_k_b3_F[] = "b3_F";
static const char __pyx_k_b3_X[] = "b3_X";
static const char __pyx_k_b3_Y[] = "b3_Y";
static const char __pyx_k_b3_Z[] = "b3_Z";
static const char __pyx_k_i1_F[] = "i1_F";
static const char __pyx_k_i1_X[] = "i1_X";
static const char __pyx_k_i2_F[] = "i2_F";
static const char __pyx_k_i2_X[] = "i2_X";
static const char __pyx_k_i2_Y[] = "i2_Y";
static const char __pyx_k_i3_F[] = "i3_F";
static const char __pyx_k_i3_X[] = "i3_X";
static const char __pyx_k_i3_Y[] = "i3_Y";
static const char __pyx_k_i3_Z[] = "i3_Z";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_SIZE1[] = "SIZE1";
static const char __pyx_k_SIZE2[] = "SIZE2";
static const char __pyx_k_SIZE3[] = "SIZE3";
static const char __pyx_k_b1_X2[] = "b1_X2";
static const char __pyx_k_b1_X3[] = "b1_X3";
static const char __pyx_k_b1_X4[] = "b1_X4";
static const char __pyx_k_b2_X2[] = "b2_X2";
static const char __pyx_k_b2_X3[] = "b2_X3";
static const char __pyx_k_b2_X4[] = "b2_X4";
static const char __pyx_k_b2_XY[] = "b2_XY";
static const char __pyx_k_b2_Y2[] = "b2_Y2";
static const char __pyx_k_b2_Y3[] = "b2_Y3";
static const char __pyx_k_b2_Y4[] = "b2_Y4";
static const char __pyx_k_b3_X2[] = "b3_X2";
static const char __pyx_k_b3_X3[] = "b3_X3";
static const char __pyx_k_b3_X4[] = "b3_X4";
static const char __pyx_k_b3_XY[] = "b3_XY";
static const char __pyx_k_b3_XZ[] = "b3_XZ";
static const char __pyx_k_b3_Y2[] = "b3_Y2";
static const char __pyx_k_b3_Y3[] = "b3_Y3";
static const char __pyx_k_b3_Y4[] = "b3_Y4";
static const char __pyx_k_b3_YZ[] = "b3_YZ";
static const char __pyx_k_b3_Z2[] = "b3_Z2";
static const char __pyx_k_b3_Z3[] = "b3_Z3";
static const char __pyx_k_b3_Z4[] = "b3_Z4";
static const char __pyx_k_i1_X2[] = "i1_X2";
static const char __pyx_k_i1_X3[] = "i1_X3";
static const char __pyx_k_i1_X4[] = "i1_X4";
static const char __pyx_k_i2_X2[] = "i2_X2";
static const char __pyx_k_i2_X3[] = "i2_X3";
static const char __pyx_k_i2_X4[] = "i2_X4";
static const char __pyx_k_i2_XY[] = "i2_XY";
static const char __pyx_k_i2_Y2[] = "i2_Y2";
static const char __pyx_k_i2_Y3[] = "i2_Y3";
static const char __pyx_k_i2_Y4[] = "i2_Y4";
static const char __pyx_k_i3_X2[] = "i3_X2";
static const char __pyx_k_i3_X3[] = "i3_X3";
static const char __pyx_k_i3_X4[] = "i3_X4";
static const char __pyx_k_i3_XY[] = "i3_XY";
static const char __pyx_k_i3_XZ[] = "i3_XZ";
static const char __pyx_k_i3_Y2[] = "i3_Y2";
static const char __pyx_k_i3_Y3[] = "i3_Y3";
static const char __pyx_k_i3_Y4[] = "i3_Y4";
static const char __pyx_k_i3_YZ[] = "i3_YZ";
static const char __pyx_k_i3_Z2[] = "i3_Z2";
static const char __pyx_k_i3_Z3[] = "i3_Z3";
static const char __pyx_k_i3_Z4[] = "i3_Z4";
static const char __pyx_k_b1_F_c[] = "b1_F_c";
static const char __pyx_k_b1_X_c[] = "b1_X_c";
static const char __pyx_k_b2_F_c[] = "b2_F_c";
static const char __pyx_k_b2_X2Y[] = "b2_X2Y";
static const char __pyx_k_b2_X3Y[] = "b2_X3Y";
static const char __pyx_k_b2_XY2[] = "b2_XY2";
static const char __pyx_k_b2_XY3[] = "b2_XY3";
static const char __pyx_k_b2_X_c[] = "b2_X_c";
static const char __pyx_k_b2_Y_c[] = "b2_Y_c";
static const char __pyx_k_b3_F_c[] = "b3_F_c";
static const char __pyx_k_b3_X2Y[] = "b3_X2Y";
static const char __pyx_k_b3_X2Z[] = "b3_X2Z";
static const char __pyx_k_b3_X3Y[] = "b3_X3Y";
static const char __pyx_k_b3_X3Z[] = "b3_X3Z";
static const char __pyx_k_b3_XY2[] = "b3_XY2";
static const char __pyx_k_b3_XY3[] = "b3_XY3";
static const char __pyx_k_b3_XYZ[] = "b3_XYZ";
static const char __pyx_k_b3_XZ2[] = "b3_XZ2";
static const char __pyx_k_b3_XZ3[] = "b3_XZ3";
static const char __pyx_k_b3_X_c[] = "b3_X_c";
static const char __pyx_k_b3_Y2Z[] = "b3_Y2Z";
static const char __pyx_k_b3_Y3Z[] = "b3_Y3Z";
static const char __pyx_k_b3_YZ2[] = "b3_YZ2";
static const char __pyx_k_b3_YZ3[] = "b3_YZ3";
static const char __pyx_k_b3_Y_c[] = "b3_Y_c";
static const char __pyx_k_b3_Z_c[] = "b3_Z_c";
static const char __pyx_k_i1_F_c[] = "i1_F_c";
static const char __pyx_k_i1_X_c[] = "i1_X_c";
static const char __pyx_k_i2_F_c[] = "i2_F_c";
static const char __pyx_k_i2_X2Y[] = "i2_X2Y";
static const char __pyx_k_i2_X3Y[] = "i2_X3Y";
static const char __pyx_k_i2_XY2[] = "i2_XY2";
static const char __pyx_k_i2_XY3[] = "i2_XY3";
static const char __pyx_k_i2_X_c[] = "i2_X_c";
static const char __pyx_k_i2_Y_c[] = "i2_Y_c";
static const char __pyx_k_i3_F_c[] = "i3_F_c";
static const char __pyx_k_i3_X2Y[] = "i3_X2Y";
static const char __pyx_k_i3_X2Z[] = "i3_X2Z";
static const char __pyx_k_i3_X3Y[] = "i3_X3Y";
static const char __pyx_k_i3_X3Z[] = "i3_X3Z";
static const char __pyx_k_i3_XY2[] = "i3_XY2";
static const char __pyx_k_i3_XY3[] = "i3_XY3";
static const char __pyx_k_i3_XYZ[] = "i3_XYZ";
static const char __pyx_k_i3_XZ2[] = "i3_XZ2";
static const char __pyx_k_i3_XZ3[] = "i3_XZ3";
static const char __pyx_k_i3_X_c[] = "i3_X_c";
static const char __pyx_k_i3_Y2Z[] = "i3_Y2Z";
static const char __pyx_k_i3_Y3Z[] = "i3_Y3Z";
static const char __pyx_k_i3_YZ2[] = "i3_YZ2";
static const char __pyx_k_i3_YZ3[] = "i3_YZ3";
static const char __pyx_k_i3_Y_c[] = "i3_Y_c";
static const char __pyx_k_i3_Z_c[] = "i3_Z_c";
static const char __pyx_k_SIZE1_c[] = "SIZE1_c";
static const char __pyx_k_SIZE2_c[] = "SIZE2_c";
static const char __pyx_k_SIZE3_c[] = "SIZE3_c";
static const char __pyx_k_b1_X2_c[] = "b1_X2_c";
static const char __pyx_k_b1_X3_c[] = "b1_X3_c";
static const char __pyx_k_b1_X4_c[] = "b1_X4_c";
static const char __pyx_k_b2_X2Y2[] = "b2_X2Y2";
static const char __pyx_k_b2_X2_c[] = "b2_X2_c";
static const char __pyx_k_b2_X3_c[] = "b2_X3_c";
static const char __pyx_k_b2_X4_c[] = "b2_X4_c";
static const char __pyx_k_b2_XY_c[] = "b2_XY_c";
static const char __pyx_k_b2_Y2_c[] = "b2_Y2_c";
static const char __pyx_k_b2_Y3_c[] = "b2_Y3_c";
static const char __pyx_k_b2_Y4_c[] = "b2_Y4_c";
static const char __pyx_k_b3_X2Y2[] = "b3_X2Y2";
static const char __pyx_k_b3_X2YZ[] = "b3_X2YZ";
static const char __pyx_k_b3_X2Z2[] = "b3_X2Z2";
static const char __pyx_k_b3_X2_c[] = "b3_X2_c";
static const char __pyx_k_b3_X3_c[] = "b3_X3_c";
static const char __pyx_k_b3_X4_c[] = "b3_X4_c";
static const char __pyx_k_b3_XY2Z[] = "b3_XY2Z";
static const char __pyx_k_b3_XYZ2[] = "b3_XYZ2";
static const char __pyx_k_b3_XY_c[] = "b3_XY_c";
static const char __pyx_k_b3_XZ_c[] = "b3_XZ_c";
static const char __pyx_k_b3_Y2Z2[] = "b3_Y2Z2";
static const char __pyx_k_b3_Y2_c[] = "b3_Y2_c";
static const char __pyx_k_b3_Y3_c[] = "b3_Y3_c";
static const char __pyx_k_b3_Y4_c[] = "b3_Y4_c";
static const char __pyx_k_b3_YZ_c[] = "b3_YZ_c";
static const char __pyx_k_b3_Z2_c[] = "b3_Z2_c";
static const char __pyx_k_b3_Z3_c[] = "b3_Z3_c";
static const char __pyx_k_b3_Z4_c[] = "b3_Z4_c";
static const char __pyx_k_i1_X2_c[] = "i1_X2_c";
static const char __pyx_k_i1_X3_c[] = "i1_X3_c";
static const char __pyx_k_i1_X4_c[] = "i1_X4_c";
static const char __pyx_k_i2_X2Y2[] = "i2_X2Y2";
static const char __pyx_k_i2_X2_c[] = "i2_X2_c";
static const char __pyx_k_i2_X3_c[] = "i2_X3_c";
static const char __pyx_k_i2_X4_c[] = "i2_X4_c";
static const char __pyx_k_i2_XY_c[] = "i2_XY_c";
static const char __pyx_k_i2_Y2_c[] = "i2_Y2_c";
static const char __pyx_k_i2_Y3_c[] = "i2_Y3_c";
static const char __pyx_k_i2_Y4_c[] = "i2_Y4_c";
static const char __pyx_k_i3_X2Y2[] = "i3_X2Y2";
static const char __pyx_k_i3_X2YZ[] = "i3_X2YZ";
static const char __pyx_k_i3_X2Z2[] = "i3_X2Z2";
static const char __pyx_k_i3_X2_c[] = "i3_X2_c";
static const char __pyx_k_i3_X3_c[] = "i3_X3_c";
static const char __pyx_k_i3_X4_c[] = "i3_X4_c";
static const char __pyx_k_i3_XY2Z[] = "i3_XY2Z";
static const char __pyx_k_i3_XYZ2[] = "i3_XYZ2";
static const char __pyx_k_i3_XY_c[] = "i3_XY_c";
static const char __pyx_k_i3_XZ_c[] = "i3_XZ_c";
static const char __pyx_k_i3_Y2Z2[] = "i3_Y2Z2";
static const char __pyx_k_i3_Y2_c[] = "i3_Y2_c";
static const char __pyx_k_i3_Y3_c[] = "i3_Y3_c";
static const char __pyx_k_i3_Y4_c[] = "i3_Y4_c";
static const char __pyx_k_i3_YZ_c[] = "i3_YZ_c";
static const char __pyx_k_i3_Z2_c[] = "i3_Z2_c";
static const char __pyx_k_i3_Z3_c[] = "i3_Z3_c";
static const char __pyx_k_i3_Z4_c[] = "i3_Z4_c";
static const char __pyx_k_b2_X2Y_c[] = "b2_X2Y_c";
static const char __pyx_k_b2_X3Y_c[] = "b2_X3Y_c";
static const char __pyx_k_b2_XY2_c[] = "b2_XY2_c";
static const char __pyx_k_b2_XY3_c[] = "b2_XY3_c";
static const char __pyx_k_b3_X2Y_c[] = "b3_X2Y_c";
static const char __pyx_k_b3_X2Z_c[] = "b3_X2Z_c";
static const char __pyx_k_b3_X3Y_c[] = "b3_X3Y_c";
static const char __pyx_k_b3_X3Z_c[] = "b3_X3Z_c";
static const char __pyx_k_b3_XY2_c[] = "b3_XY2_c";
static const char __pyx_k_b3_XY3_c[] = "b3_XY3_c";
static const char __pyx_k_b3_XYZ_c[] = "b3_XYZ_c";
static const char __pyx_k_b3_XZ2_c[] = "b3_XZ2_c";
static const char __pyx_k_b3_XZ3_c[] = "b3_XZ3_c";
static const char __pyx_k_b3_Y2Z_c[] = "b3_Y2Z_c";
static const char __pyx_k_b3_Y3Z_c[] = "b3_Y3Z_c";
static const char __pyx_k_b3_YZ2_c[] = "b3_YZ2_c";
static const char __pyx_k_b3_YZ3_c[] = "b3_YZ3_c";
static const char __pyx_k_i2_X2Y_c[] = "i2_X2Y_c";
static const char __pyx_k_i2_X3Y_c[] = "i2_X3Y_c";
static const char __pyx_k_i2_XY2_c[] = "i2_XY2_c";
static const char __pyx_k_i2_XY3_c[] = "i2_XY3_c";
static const char __pyx_k_i3_X2Y_c[] = "i3_X2Y_c";
static const char __pyx_k_i3_X2Z_c[] = "i3_X2Z_c";
static const char __pyx_k_i3_X3Y_c[] = "i3_X3Y_c";
static const char __pyx_k_i3_X3Z_c[] = "i3_X3Z_c";
static const char __pyx_k_i3_XY2_c[] = "i3_XY2_c";
static const char __pyx_k_i3_XY3_c[] = "i3_XY3_c";
static const char __pyx_k_i3_XYZ_c[] = "i3_XYZ_c";
static const char __pyx_k_i3_XZ2_c[] = "i3_XZ2_c";
static const char __pyx_k_i3_XZ3_c[] = "i3_XZ3_c";
static const char __pyx_k_i3_Y2Z_c[] = "i3_Y2Z_c";
static const char __pyx_k_i3_Y3Z_c[] = "i3_Y3Z_c";
static const char __pyx_k_i3_YZ2_c[] = "i3_YZ2_c";
static const char __pyx_k_i3_YZ3_c[] = "i3_YZ3_c";
static const char __pyx_k_pyx_capi[] = "__pyx_capi__";
static const char __pyx_k_b2_X2Y2_c[] = "b2_X2Y2_c";
static const char __pyx_k_b3_X2Y2_c[] = "b3_X2Y2_c";
static const char __pyx_k_b3_X2YZ_c[] = "b3_X2YZ_c";
static const char __pyx_k_b3_X2Z2_c[] = "b3_X2Z2_c";
static const char __pyx_k_b3_XY2Z_c[] = "b3_XY2Z_c";
static const char __pyx_k_b3_XYZ2_c[] = "b3_XYZ2_c";
static const char __pyx_k_b3_Y2Z2_c[] = "b3_Y2Z2_c";
static const char __pyx_k_i2_X2Y2_c[] = "i2_X2Y2_c";
static const char __pyx_k_i3_X2Y2_c[] = "i3_X2Y2_c";
static const char __pyx_k_i3_X2YZ_c[] = "i3_X2YZ_c";
static const char __pyx_k_i3_X2Z2_c[] = "i3_X2Z2_c";
static const char __pyx_k_i3_XY2Z_c[] = "i3_XY2Z_c";
static const char __pyx_k_i3_XYZ2_c[] = "i3_XYZ2_c";
static const char __pyx_k_i3_Y2Z2_c[] = "i3_Y2Z2_c";
static const char __pyx_k_ALGO_BASIC[] = "ALGO_BASIC";
static const char __pyx_k_i1_1st_end[] = "i1_1st_end";
static const char __pyx_k_i1_2nd_end[] = "i1_2nd_end";
static const char __pyx_k_i1_3rd_end[] = "i1_3rd_end";
static const char __pyx_k_i1_4th_end[] = "i1_4th_end";
static const char __pyx_k_i2_1st_end[] = "i2_1st_end";
static const char __pyx_k_i2_2nd_end[] = "i2_2nd_end";
static const char __pyx_k_i2_3rd_end[] = "i2_3rd_end";
static const char __pyx_k_i2_4th_end[] = "i2_4th_end";
static const char __pyx_k_i3_0th_end[] = "i3_0th_end";
static const char __pyx_k_i3_1st_end[] = "i3_1st_end";
static const char __pyx_k_i3_2nd_end[] = "i3_2nd_end";
static const char __pyx_k_i3_3rd_end[] = "i3_3rd_end";
static const char __pyx_k_i3_4th_end[] = "i3_4th_end";
static const char __pyx_k_ALGO_BASIC_c[] = "ALGO_BASIC_c";
static const char __pyx_k_i1_0th_end_c[] = "i1_0th_end_c";
static const char __pyx_k_i1_1st_end_c[] = "i1_1st_end_c";
static const char __pyx_k_i1_2nd_end_c[] = "i1_2nd_end_c";
static const char __pyx_k_i1_3rd_end_c[] = "i1_3rd_end_c";
static const char __pyx_k_i1_4th_end_c[] = "i1_4th_end_c";
static const char __pyx_k_i2_0th_end_c[] = "i2_0th_end_c";
static const char __pyx_k_i2_1st_end_c[] = "i2_1st_end_c";
static const char __pyx_k_i2_2nd_end_c[] = "i2_2nd_end_c";
static const char __pyx_k_i2_3rd_end_c[] = "i2_3rd_end_c";
static const char __pyx_k_i2_4th_end_c[] = "i2_4th_end_c";
static const char __pyx_k_i3_0th_end_c[] = "i3_0th_end_c";
static const char __pyx_k_i3_1st_end_c[] = "i3_1st_end_c";
static const char __pyx_k_i3_2nd_end_c[] = "i3_2nd_end_c";
static const char __pyx_k_i3_3rd_end_c[] = "i3_3rd_end_c";
static const char __pyx_k_i3_4th_end_c[] = "i3_4th_end_c";
static const char __pyx_k_WEIGHT_CENTER[] = "WEIGHT_CENTER";
static const char __pyx_k_ALGO_ITERATIVE[] = "ALGO_ITERATIVE";
static const char __pyx_k_WEIGHT_UNIFORM[] = "WEIGHT_UNIFORM";
static const char __pyx_k_WEIGHT_CENTER_c[] = "WEIGHT_CENTER_c";
static const char __pyx_k_ALGO_ITERATIVE_c[] = "ALGO_ITERATIVE_c";
static const char __pyx_k_WEIGHT_UNIFORM_c[] = "WEIGHT_UNIFORM_c";
static const char __pyx_k_WLSQM_Weighted_Least_SQuares_Mes[] = "WLSQM (Weighted Least SQuares Meshless): a fast and accurate meshless least-squares interpolator for Python, for scalar-valued data defined as point values on 1D, 2D and 3D point clouds.\n\nThis module contains C-level and Python-level definitions of constants. The constants are made visible to Python by creating Python objects, with their values copied from the corresponding C constants.\n\nIn the source code, the suffix of _c means \"visible at the C level in Cython\"; it is used to distinguish the typed C constants from the corresponding Python objects.\n\nNaming scheme:\n\n    ALGO_*   = algorithms for the solve step (for advanced API in wlsqm.fitter.expert).\n    WEIGHT_* = weighting methods for the error (data - predicted) in least-squares fitting.\n\n    i1_* = integer, 1D case\n    i2_* = integer, 2D case\n    i3_* = integer, 3D case\n\n        The i?_* constants are the human-readable names for the DOF indices in the \"fi\" array (see docstrings in wlsqm.fitter.simple).\n\n    b1_* = bitmask, 1D case\n    b2_* = bitmask, 2D case\n    b3_* = bitmask, 3D case\n\n    *_end = one-past-end index of this case. The ordinal (0th, 1st, 2nd, 3rd, 4th) refers to the degree of the fit.\n            E.g. i2_3rd_end = one-past-end for 2D with 3rd order fit.\n\n    SIZE1 = maximum possible number of DOFs (degrees of freedom), 1D case\n    SIZE2 = maximum possible number of DOFs (degrees of freedom), 2D case\n    SIZE3 = maximum possible number of DOFs (degrees of freedom), 3D case\n\n        (\"maximum possible\" because if order < 4, then only lower-degree DOFs will exist.)\n\n    F  = function value\n    X  = \"times x\" (coefficients) or \"differentiate by x\" (see wlsqm.fitter.interp)\n    X2 = \"times x**2\" or \"differentiate twice by x\"\n    Y, Z respectively\n\nExamples:\n\n    i2_F   = 2D case, function value\n    i2_X2Y = 2D case, coefficient of the X**2 * Y term in the polynomial; or request differentiation twice by x and once by y to compute d3f/dx2dy (see wl""sqm.fitter.interp)\n\n        IMPORTANT: the DOF values returned by the fitter are \"partially baked\" such that the DOF value directly corresponds to the value of the corresponding derivative.\n                   This is for convenience of evaluating derivatives at the model reference point.\n\n                   E.g. fi[:,i2_X2] is the coefficient of d2f/dx2 in a Taylor series expansion of f around the reference point xi.\n                   (The \":\" is here meant to refer to the reference point xi for all local models; see  wlsqm.fitter.simple.fit_2D_many()  for a description of the \"fi\" array.)\n\nJJ 2016-11-30\n";
static PyObject *__pyx_n_s_ALGO_BASIC;
static PyObject *__pyx_n_s_ALGO_BASIC_c;
static PyObject *__pyx_n_s_ALGO_ITERATIVE;
static PyObject *__pyx_n_s_ALGO_ITERATIVE_c;
static PyObject *__pyx_n_s_SIZE1;
static PyObject *__pyx_n_s_SIZE1_c;
static PyObject *__pyx_n_s_SIZE2;
static PyObject *__pyx_n_s_SIZE2_c;
static PyObject *__pyx_n_s_SIZE3;
static PyObject *__pyx_n_s_SIZE3_c;
static PyObject *__pyx_n_s_WEIGHT_CENTER;
static PyObject *__pyx_n_s_WEIGHT_CENTER_c;
static PyObject *__pyx_n_s_WEIGHT_UNIFORM;
static PyObject *__pyx_n_s_WEIGHT_UNIFORM_c;
static PyObject *__pyx_n_s_b1_F;
static PyObject *__pyx_n_s_b1_F_c;
static PyObject *__pyx_n_s_b1_X;
static PyObject *__pyx_n_s_b1_X2;
static PyObject *__pyx_n_s_b1_X2_c;
static PyObject *__pyx_n_s_b1_X3;
static PyObject *__pyx_n_s_b1_X3_c;
static PyObject *__pyx_n_s_b1_X4;
static PyObject *__pyx_n_s_b1_X4_c;
static PyObject *__pyx_n_s_b1_X_c;
static PyObject *__pyx_n_s_b2_F;
static PyObject *__pyx_n_s_b2_F_c;
static PyObject *__pyx_n_s_b2_X;
static PyObject *__pyx_n_s_b2_X2;
static PyObject *__pyx_n_s_b2_X2Y;
static PyObject *__pyx_n_s_b2_X2Y2;
static PyObject *__pyx_n_s_b2_X2Y2_c;
static PyObject *__pyx_n_s_b2_X2Y_c;
static PyObject *__pyx_n_s_b2_X2_c;
static PyObject *__pyx_n_s_b2_X3;
static PyObject *__pyx_n_s_b2_X3Y;
static PyObject *__pyx_n_s_b2_X3Y_c;
static PyObject *__pyx_n_s_b2_X3_c;
static PyObject *__pyx_n_s_b2_X4;
static PyObject *__pyx_n_s_b2_X4_c;
static PyObject *__pyx_n_s_b2_XY;
static PyObject *__pyx_n_s_b2_XY2;
static PyObject *__pyx_n_s_b2_XY2_c;
static PyObject *__pyx_n_s_b2_XY3;
static PyObject *__pyx_n_s_b2_XY3_c;
static PyObject *__pyx_n_s_b2_XY_c;
static PyObject *__pyx_n_s_b2_X_c;
static PyObject *__pyx_n_s_b2_Y;
static PyObject *__pyx_n_s_b2_Y2;
static PyObject *__pyx_n_s_b2_Y2_c;
static PyObject *__pyx_n_s_b2_Y3;
static PyObject *__pyx_n_s_b2_Y3_c;
static PyObject *__pyx_n_s_b2_Y4;
static PyObject *__pyx_n_s_b2_Y4_c;
static PyObject *__pyx_n_s_b2_Y_c;
static PyObject *__pyx_n_s_b3_F;
static PyObject *__pyx_n_s_b3_F_c;
static PyObject *__pyx_n_s_b3_X;
static PyObject *__pyx_n_s_b3_X2;
static PyObject *__pyx_n_s_b3_X2Y;
static PyObject *__pyx_n_s_b3_X2Y2;
static PyObject *__pyx_n_s_b3_X2Y2_c;
static PyObject *__pyx_n_s_b3_X2YZ;
static PyObject *__pyx_n_s_b3_X2YZ_c;
static PyObject *__pyx_n_s_b3_X2Y_c;
static PyObject *__pyx_n_s_b3_X2Z;
static PyObject *__pyx_n_s_b3_X2Z2;
static PyObject *__pyx_n_s_b3_X2Z2_c;
static PyObject *__pyx_n_s_b3_X2Z_c;
static PyObject *__pyx_n_s_b3_X2_c;
static PyObject *__pyx_n_s_b3_X3;
static PyObject *__pyx_n_s_b3_X3Y;
static PyObject *__pyx_n_s_b3_X3Y_c;
static PyObject *__pyx_n_s_b3_X3Z;
static PyObject *__pyx_n_s_b3_X3Z_c;
static PyObject *__pyx_n_s_b3_X3_c;
static PyObject *__pyx_n_s_b3_X4;
static PyObject *__pyx_n_s_b3_X4_c;
static PyObject *__pyx_n_s_b3_XY;
static PyObject *__pyx_n_s_b3_XY2;
static PyObject *__pyx_n_s_b3_XY2Z;
static PyObject *__pyx_n_s_b3_XY2Z_c;
static PyObject *__pyx_n_s_b3_XY2_c;
static PyObject *__pyx_n_s_b3_XY3;
static PyObject *__pyx_n_s_b3_XY3_c;
static PyObject *__pyx_n_s_b3_XYZ;
static PyObject *__pyx_n_s_b3_XYZ2;
static PyObject *__pyx_n_s_b3_XYZ2_c;
static PyObject *__pyx_n_s_b3_XYZ_c;
static PyObject *__pyx_n_s_b3_XY_c;
static PyObject *__pyx_n_s_b3_XZ;
static PyObject *__pyx_n_s_b3_XZ2;
static PyObject *__pyx_n_s_b3_XZ2_c;
static PyObject *__pyx_n_s_b3_XZ3;
static PyObject *__pyx_n_s_b3_XZ3_c;
static PyObject *__pyx_n_s_b3_XZ_c;
static PyObject *__pyx_n_s_b3_X_c;
static PyObject *__pyx_n_s_b3_Y;
static PyObject *__pyx_n_s_b3_Y2;
static PyObject *__pyx_n_s_b3_Y2Z;
static PyObject *__pyx_n_s_b3_Y2Z2;
static PyObject *__pyx_n_s_b3_Y2Z2_c;
static PyObject *__pyx_n_s_b3_Y2Z_c;
static PyObject *__pyx_n_s_b3_Y2_c;
static PyObject *__pyx_n_s_b3_Y3;
static PyObject *__pyx_n_s_b3_Y3Z;
static PyObject *__pyx_n_s_b3_Y3Z_c;
static PyObject *__pyx_n_s_b3_Y3_c;
static PyObject *__pyx_n_s_b3_Y4;
static PyObject *__pyx_n_s_b3_Y4_c;
static PyObject *__pyx_n_s_b3_YZ;
static PyObject *__pyx_n_s_b3_YZ2;
static PyObject *__pyx_n_s_b3_YZ2_c;
static PyObject *__pyx_n_s_b3_YZ3;
static PyObject *__pyx_n_s_b3_YZ3_c;
static PyObject *__pyx_n_s_b3_YZ_c;
static PyObject *__pyx_n_s_b3_Y_c;
static PyObject *__pyx_n_s_b3_Z;
static PyObject *__pyx_n_s_b3_Z2;
static PyObject *__pyx_n_s_b3_Z2_c;
static PyObject *__pyx_n_s_b3_Z3;
static PyObject *__pyx_n_s_b3_Z3_c;
static PyObject *__pyx_n_s_b3_Z4;
static PyObject *__pyx_n_s_b3_Z4_c;
static PyObject *__pyx_n_s_b3_Z_c;
static PyObject *__pyx_n_s_i1_0th_end_c;
static PyObject *__pyx_n_s_i1_1st_end;
static PyObject *__pyx_n_s_i1_1st_end_c;
static PyObject *__pyx_n_s_i1_2nd_end;
static PyObject *__pyx_n_s_i1_2nd_end_c;
static PyObject *__pyx_n_s_i1_3rd_end;
static PyObject *__pyx_n_s_i1_3rd_end_c;
static PyObject *__pyx_n_s_i1_4th_end;
static PyObject *__pyx_n_s_i1_4th_end_c;
static PyObject *__pyx_n_s_i1_F;
static PyObject *__pyx_n_s_i1_F_c;
static PyObject *__pyx_n_s_i1_X;
static PyObject *__pyx_n_s_i1_X2;
static PyObject *__pyx_n_s_i1_X2_c;
static PyObject *__pyx_n_s_i1_X3;
static PyObject *__pyx_n_s_i1_X3_c;
static PyObject *__pyx_n_s_i1_X4;
static PyObject *__pyx_n_s_i1_X4_c;
static PyObject *__pyx_n_s_i1_X_c;
static PyObject *__pyx_n_s_i2_0th_end_c;
static PyObject *__pyx_n_s_i2_1st_end;
static PyObject *__pyx_n_s_i2_1st_end_c;
static PyObject *__pyx_n_s_i2_2nd_end;
static PyObject *__pyx_n_s_i2_2nd_end_c;
static PyObject *__pyx_n_s_i2_3rd_end;
static PyObject *__pyx_n_s_i2_3rd_end_c;
static PyObject *__pyx_n_s_i2_4th_end;
static PyObject *__pyx_n_s_i2_4th_end_c;
static PyObject *__pyx_n_s_i2_F;
static PyObject *__pyx_n_s_i2_F_c;
static PyObject *__pyx_n_s_i2_X;
static PyObject *__pyx_n_s_i2_X2;
static PyObject *__pyx_n_s_i2_X2Y;
static PyObject *__pyx_n_s_i2_X2Y2;
static PyObject *__pyx_n_s_i2_X2Y2_c;
static PyObject *__pyx_n_s_i2_X2Y_c;
static PyObject *__pyx_n_s_i2_X2_c;
static PyObject *__pyx_n_s_i2_X3;
static PyObject *__pyx_n_s_i2_X3Y;
static PyObject *__pyx_n_s_i2_X3Y_c;
static PyObject *__pyx_n_s_i2_X3_c;
static PyObject *__pyx_n_s_i2_X4;
static PyObject *__pyx_n_s_i2_X4_c;
static PyObject *__pyx_n_s_i2_XY;
static PyObject *__pyx_n_s_i2_XY2;
static PyObject *__pyx_n_s_i2_XY2_c;
static PyObject *__pyx_n_s_i2_XY3;
static PyObject *__pyx_n_s_i2_XY3_c;
static PyObject *__pyx_n_s_i2_XY_c;
static PyObject *__pyx_n_s_i2_X_c;
static PyObject *__pyx_n_s_i2_Y;
static PyObject *__pyx_n_s_i2_Y2;
static PyObject *__pyx_n_s_i2_Y2_c;
static PyObject *__pyx_n_s_i2_Y3;
static PyObject *__pyx_n_s_i2_Y3_c;
static PyObject *__pyx_n_s_i2_Y4;
static PyObject *__pyx_n_s_i2_Y4_c;
static PyObject *__pyx_n_s_i2_Y_c;
static PyObject *__pyx_n_s_i3_0th_end;
static PyObject *__pyx_n_s_i3_0th_end_c;
static PyObject *__pyx_n_s_i3_1st_end;
static PyObject *__pyx_n_s_i3_1st_end_c;
static PyObject *__pyx_n_s_i3_2nd_end;
static PyObject *__pyx_n_s_i3_2nd_end_c;
static PyObject *__pyx_n_s_i3_3rd_end;
static PyObject *__pyx_n_s_i3_3rd_end_c;
static PyObject *__pyx_n_s_i3_4th_end;
static PyObject *__pyx_n_s_i3_4th_end_c;
static PyObject *__pyx_n_s_i3_F;
static PyObject *__pyx_n_s_i3_F_c;
static PyObject *__pyx_n_s_i3_X;
static PyObject *__pyx_n_s_i3_X2;
static PyObject *__pyx_n_s_i3_X2Y;
static PyObject *__pyx_n_s_i3_X2Y2;
static PyObject *__pyx_n_s_i3_X2Y2_c;
static PyObject *__pyx_n_s_i3_X2YZ;
static PyObject *__pyx_n_s_i3_X2YZ_c;
static PyObject *__pyx_n_s_i3_X2Y_c;
static PyObject *__pyx_n_s_i3_X2Z;
static PyObject *__pyx_n_s_i3_X2Z2;
static PyObject *__pyx_n_s_i3_X2Z2_c;
static PyObject *__pyx_n_s_i3_X2Z_c;
static PyObject *__pyx_n_s_i3_X2_c;
static PyObject *__pyx_n_s_i3_X3;
static PyObject *__pyx_n_s_i3_X3Y;
static PyObject *__pyx_n_s_i3_X3Y_c;
static PyObject *__pyx_n_s_i3_X3Z;
static PyObject *__pyx_n_s_i3_X3Z_c;
static PyObject *__pyx_n_s_i3_X3_c;
static PyObject *__pyx_n_s_i3_X4;
static PyObject *__pyx_n_s_i3_X4_c;
static PyObject *__pyx_n_s_i3_XY;
static PyObject *__pyx_n_s_i3_XY2;
static PyObject *__pyx_n_s_i3_XY2Z;
static PyObject *__pyx_n_s_i3_XY2Z_c;
static PyObject *__pyx_n_s_i3_XY2_c;
static PyObject *__pyx_n_s_i3_XY3;
static PyObject *__pyx_n_s_i3_XY3_c;
static PyObject *__pyx_n_s_i3_XYZ;
static PyObject *__pyx_n_s_i3_XYZ2;
static PyObject *__pyx_n_s_i3_XYZ2_c;
static PyObject *__pyx_n_s_i3_XYZ_c;
static PyObject *__pyx_n_s_i3_XY_c;
static PyObject *__pyx_n_s_i3_XZ;
static PyObject *__pyx_n_s_i3_XZ2;
static PyObject *__pyx_n_s_i3_XZ2_c;
static PyObject *__pyx_n_s_i3_XZ3;
static PyObject *__pyx_n_s_i3_XZ3_c;
static PyObject *__pyx_n_s_i3_XZ_c;
static PyObject *__pyx_n_s_i3_X_c;
static PyObject *__pyx_n_s_i3_Y;
static PyObject *__pyx_n_s_i3_Y2;
static PyObject *__pyx_n_s_i3_Y2Z;
static PyObject *__pyx_n_s_i3_Y2Z2;
static PyObject *__pyx_n_s_i3_Y2Z2_c;
static PyObject *__pyx_n_s_i3_Y2Z_c;
static PyObject *__pyx_n_s_i3_Y2_c;
static PyObject *__pyx_n_s_i3_Y3;
static PyObject *__pyx_n_s_i3_Y3Z;
static PyObject *__pyx_n_s_i3_Y3Z_c;
static PyObject *__pyx_n_s_i3_Y3_c;
static PyObject *__pyx_n_s_i3_Y4;
static PyObject *__pyx_n_s_i3_Y4_c;
static PyObject *__pyx_n_s_i3_YZ;
static PyObject *__pyx_n_s_i3_YZ2;
static PyObject *__pyx_n_s_i3_YZ2_c;
static PyObject *__pyx_n_s_i3_YZ3;
static PyObject *__pyx_n_s_i3_YZ3_c;
static PyObject *__pyx_n_s_i3_YZ_c;
static PyObject *__pyx_n_s_i3_Y_c;
static PyObject *__pyx_n_s_i3_Z;
static PyObject *__pyx_n_s_i3_Z2;
static PyObject *__pyx_n_s_i3_Z2_c;
static PyObject *__pyx_n_s_i3_Z3;
static PyObject *__pyx_n_s_i3_Z3_c;
static PyObject *__pyx_n_s_i3_Z4;
static PyObject *__pyx_n_s_i3_Z4_c;
static PyObject *__pyx_n_s_i3_Z_c;
static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_pyx_capi;
static PyObject *__pyx_n_s_test;

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};

#if PY_MAJOR_VERSION >= 3
static struct PyModuleDef __pyx_moduledef = {
  #if PY_VERSION_HEX < 0x03020000
    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
  #else
    PyModuleDef_HEAD_INIT,
  #endif
    "defs",
    __pyx_k_WLSQM_Weighted_Least_SQuares_Mes, /* m_doc */
    -1, /* m_size */
    __pyx_methods /* m_methods */,
    NULL, /* m_reload */
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_n_s_ALGO_BASIC, __pyx_k_ALGO_BASIC, sizeof(__pyx_k_ALGO_BASIC), 0, 0, 1, 1},
  {&__pyx_n_s_ALGO_BASIC_c, __pyx_k_ALGO_BASIC_c, sizeof(__pyx_k_ALGO_BASIC_c), 0, 0, 1, 1},
  {&__pyx_n_s_ALGO_ITERATIVE, __pyx_k_ALGO_ITERATIVE, sizeof(__pyx_k_ALGO_ITERATIVE), 0, 0, 1, 1},
  {&__pyx_n_s_ALGO_ITERATIVE_c, __pyx_k_ALGO_ITERATIVE_c, sizeof(__pyx_k_ALGO_ITERATIVE_c), 0, 0, 1, 1},
  {&__pyx_n_s_SIZE1, __pyx_k_SIZE1, sizeof(__pyx_k_SIZE1), 0, 0, 1, 1},
  {&__pyx_n_s_SIZE1_c, __pyx_k_SIZE1_c, sizeof(__pyx_k_SIZE1_c), 0, 0, 1, 1},
  {&__pyx_n_s_SIZE2, __pyx_k_SIZE2, sizeof(__pyx_k_SIZE2), 0, 0, 1, 1},
  {&__pyx_n_s_SIZE2_c, __pyx_k_SIZE2_c, sizeof(__pyx_k_SIZE2_c), 0, 0, 1, 1},
  {&__pyx_n_s_SIZE3, __pyx_k_SIZE3, sizeof(__pyx_k_SIZE3), 0, 0, 1, 1},
  {&__pyx_n_s_SIZE3_c, __pyx_k_SIZE3_c, sizeof(__pyx_k_SIZE3_c), 0, 0, 1, 1},
  {&__pyx_n_s_WEIGHT_CENTER, __pyx_k_WEIGHT_CENTER, sizeof(__pyx_k_WEIGHT_CENTER), 0, 0, 1, 1},
  {&__pyx_n_s_WEIGHT_CENTER_c, __pyx_k_WEIGHT_CENTER_c, sizeof(__pyx_k_WEIGHT_CENTER_c), 0, 0, 1, 1},
  {&__pyx_n_s_WEIGHT_UNIFORM, __pyx_k_WEIGHT_UNIFORM, sizeof(__pyx_k_WEIGHT_UNIFORM), 0, 0, 1, 1},
  {&__pyx_n_s_WEIGHT_UNIFORM_c, __pyx_k_WEIGHT_UNIFORM_c, sizeof(__pyx_k_WEIGHT_UNIFORM_c), 0, 0, 1, 1},
  {&__pyx_n_s_b1_F, __pyx_k_b1_F, sizeof(__pyx_k_b1_F), 0, 0, 1, 1},
  {&__pyx_n_s_b1_F_c, __pyx_k_b1_F_c, sizeof(__pyx_k_b1_F_c), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X, __pyx_k_b1_X, sizeof(__pyx_k_b1_X), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X2, __pyx_k_b1_X2, sizeof(__pyx_k_b1_X2), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X2_c, __pyx_k_b1_X2_c, sizeof(__pyx_k_b1_X2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X3, __pyx_k_b1_X3, sizeof(__pyx_k_b1_X3), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X3_c, __pyx_k_b1_X3_c, sizeof(__pyx_k_b1_X3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X4, __pyx_k_b1_X4, sizeof(__pyx_k_b1_X4), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X4_c, __pyx_k_b1_X4_c, sizeof(__pyx_k_b1_X4_c), 0, 0, 1, 1},
  {&__pyx_n_s_b1_X_c, __pyx_k_b1_X_c, sizeof(__pyx_k_b1_X_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_F, __pyx_k_b2_F, sizeof(__pyx_k_b2_F), 0, 0, 1, 1},
  {&__pyx_n_s_b2_F_c, __pyx_k_b2_F_c, sizeof(__pyx_k_b2_F_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X, __pyx_k_b2_X, sizeof(__pyx_k_b2_X), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X2, __pyx_k_b2_X2, sizeof(__pyx_k_b2_X2), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X2Y, __pyx_k_b2_X2Y, sizeof(__pyx_k_b2_X2Y), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X2Y2, __pyx_k_b2_X2Y2, sizeof(__pyx_k_b2_X2Y2), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X2Y2_c, __pyx_k_b2_X2Y2_c, sizeof(__pyx_k_b2_X2Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X2Y_c, __pyx_k_b2_X2Y_c, sizeof(__pyx_k_b2_X2Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X2_c, __pyx_k_b2_X2_c, sizeof(__pyx_k_b2_X2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X3, __pyx_k_b2_X3, sizeof(__pyx_k_b2_X3), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X3Y, __pyx_k_b2_X3Y, sizeof(__pyx_k_b2_X3Y), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X3Y_c, __pyx_k_b2_X3Y_c, sizeof(__pyx_k_b2_X3Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X3_c, __pyx_k_b2_X3_c, sizeof(__pyx_k_b2_X3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X4, __pyx_k_b2_X4, sizeof(__pyx_k_b2_X4), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X4_c, __pyx_k_b2_X4_c, sizeof(__pyx_k_b2_X4_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_XY, __pyx_k_b2_XY, sizeof(__pyx_k_b2_XY), 0, 0, 1, 1},
  {&__pyx_n_s_b2_XY2, __pyx_k_b2_XY2, sizeof(__pyx_k_b2_XY2), 0, 0, 1, 1},
  {&__pyx_n_s_b2_XY2_c, __pyx_k_b2_XY2_c, sizeof(__pyx_k_b2_XY2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_XY3, __pyx_k_b2_XY3, sizeof(__pyx_k_b2_XY3), 0, 0, 1, 1},
  {&__pyx_n_s_b2_XY3_c, __pyx_k_b2_XY3_c, sizeof(__pyx_k_b2_XY3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_XY_c, __pyx_k_b2_XY_c, sizeof(__pyx_k_b2_XY_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_X_c, __pyx_k_b2_X_c, sizeof(__pyx_k_b2_X_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y, __pyx_k_b2_Y, sizeof(__pyx_k_b2_Y), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y2, __pyx_k_b2_Y2, sizeof(__pyx_k_b2_Y2), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y2_c, __pyx_k_b2_Y2_c, sizeof(__pyx_k_b2_Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y3, __pyx_k_b2_Y3, sizeof(__pyx_k_b2_Y3), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y3_c, __pyx_k_b2_Y3_c, sizeof(__pyx_k_b2_Y3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y4, __pyx_k_b2_Y4, sizeof(__pyx_k_b2_Y4), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y4_c, __pyx_k_b2_Y4_c, sizeof(__pyx_k_b2_Y4_c), 0, 0, 1, 1},
  {&__pyx_n_s_b2_Y_c, __pyx_k_b2_Y_c, sizeof(__pyx_k_b2_Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_F, __pyx_k_b3_F, sizeof(__pyx_k_b3_F), 0, 0, 1, 1},
  {&__pyx_n_s_b3_F_c, __pyx_k_b3_F_c, sizeof(__pyx_k_b3_F_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X, __pyx_k_b3_X, sizeof(__pyx_k_b3_X), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2, __pyx_k_b3_X2, sizeof(__pyx_k_b3_X2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Y, __pyx_k_b3_X2Y, sizeof(__pyx_k_b3_X2Y), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Y2, __pyx_k_b3_X2Y2, sizeof(__pyx_k_b3_X2Y2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Y2_c, __pyx_k_b3_X2Y2_c, sizeof(__pyx_k_b3_X2Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2YZ, __pyx_k_b3_X2YZ, sizeof(__pyx_k_b3_X2YZ), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2YZ_c, __pyx_k_b3_X2YZ_c, sizeof(__pyx_k_b3_X2YZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Y_c, __pyx_k_b3_X2Y_c, sizeof(__pyx_k_b3_X2Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Z, __pyx_k_b3_X2Z, sizeof(__pyx_k_b3_X2Z), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Z2, __pyx_k_b3_X2Z2, sizeof(__pyx_k_b3_X2Z2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Z2_c, __pyx_k_b3_X2Z2_c, sizeof(__pyx_k_b3_X2Z2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2Z_c, __pyx_k_b3_X2Z_c, sizeof(__pyx_k_b3_X2Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X2_c, __pyx_k_b3_X2_c, sizeof(__pyx_k_b3_X2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X3, __pyx_k_b3_X3, sizeof(__pyx_k_b3_X3), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X3Y, __pyx_k_b3_X3Y, sizeof(__pyx_k_b3_X3Y), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X3Y_c, __pyx_k_b3_X3Y_c, sizeof(__pyx_k_b3_X3Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X3Z, __pyx_k_b3_X3Z, sizeof(__pyx_k_b3_X3Z), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X3Z_c, __pyx_k_b3_X3Z_c, sizeof(__pyx_k_b3_X3Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X3_c, __pyx_k_b3_X3_c, sizeof(__pyx_k_b3_X3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X4, __pyx_k_b3_X4, sizeof(__pyx_k_b3_X4), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X4_c, __pyx_k_b3_X4_c, sizeof(__pyx_k_b3_X4_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY, __pyx_k_b3_XY, sizeof(__pyx_k_b3_XY), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY2, __pyx_k_b3_XY2, sizeof(__pyx_k_b3_XY2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY2Z, __pyx_k_b3_XY2Z, sizeof(__pyx_k_b3_XY2Z), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY2Z_c, __pyx_k_b3_XY2Z_c, sizeof(__pyx_k_b3_XY2Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY2_c, __pyx_k_b3_XY2_c, sizeof(__pyx_k_b3_XY2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY3, __pyx_k_b3_XY3, sizeof(__pyx_k_b3_XY3), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY3_c, __pyx_k_b3_XY3_c, sizeof(__pyx_k_b3_XY3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XYZ, __pyx_k_b3_XYZ, sizeof(__pyx_k_b3_XYZ), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XYZ2, __pyx_k_b3_XYZ2, sizeof(__pyx_k_b3_XYZ2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XYZ2_c, __pyx_k_b3_XYZ2_c, sizeof(__pyx_k_b3_XYZ2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XYZ_c, __pyx_k_b3_XYZ_c, sizeof(__pyx_k_b3_XYZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XY_c, __pyx_k_b3_XY_c, sizeof(__pyx_k_b3_XY_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XZ, __pyx_k_b3_XZ, sizeof(__pyx_k_b3_XZ), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XZ2, __pyx_k_b3_XZ2, sizeof(__pyx_k_b3_XZ2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XZ2_c, __pyx_k_b3_XZ2_c, sizeof(__pyx_k_b3_XZ2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XZ3, __pyx_k_b3_XZ3, sizeof(__pyx_k_b3_XZ3), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XZ3_c, __pyx_k_b3_XZ3_c, sizeof(__pyx_k_b3_XZ3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_XZ_c, __pyx_k_b3_XZ_c, sizeof(__pyx_k_b3_XZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_X_c, __pyx_k_b3_X_c, sizeof(__pyx_k_b3_X_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y, __pyx_k_b3_Y, sizeof(__pyx_k_b3_Y), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y2, __pyx_k_b3_Y2, sizeof(__pyx_k_b3_Y2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y2Z, __pyx_k_b3_Y2Z, sizeof(__pyx_k_b3_Y2Z), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y2Z2, __pyx_k_b3_Y2Z2, sizeof(__pyx_k_b3_Y2Z2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y2Z2_c, __pyx_k_b3_Y2Z2_c, sizeof(__pyx_k_b3_Y2Z2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y2Z_c, __pyx_k_b3_Y2Z_c, sizeof(__pyx_k_b3_Y2Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y2_c, __pyx_k_b3_Y2_c, sizeof(__pyx_k_b3_Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y3, __pyx_k_b3_Y3, sizeof(__pyx_k_b3_Y3), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y3Z, __pyx_k_b3_Y3Z, sizeof(__pyx_k_b3_Y3Z), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y3Z_c, __pyx_k_b3_Y3Z_c, sizeof(__pyx_k_b3_Y3Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y3_c, __pyx_k_b3_Y3_c, sizeof(__pyx_k_b3_Y3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y4, __pyx_k_b3_Y4, sizeof(__pyx_k_b3_Y4), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y4_c, __pyx_k_b3_Y4_c, sizeof(__pyx_k_b3_Y4_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_YZ, __pyx_k_b3_YZ, sizeof(__pyx_k_b3_YZ), 0, 0, 1, 1},
  {&__pyx_n_s_b3_YZ2, __pyx_k_b3_YZ2, sizeof(__pyx_k_b3_YZ2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_YZ2_c, __pyx_k_b3_YZ2_c, sizeof(__pyx_k_b3_YZ2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_YZ3, __pyx_k_b3_YZ3, sizeof(__pyx_k_b3_YZ3), 0, 0, 1, 1},
  {&__pyx_n_s_b3_YZ3_c, __pyx_k_b3_YZ3_c, sizeof(__pyx_k_b3_YZ3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_YZ_c, __pyx_k_b3_YZ_c, sizeof(__pyx_k_b3_YZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Y_c, __pyx_k_b3_Y_c, sizeof(__pyx_k_b3_Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z, __pyx_k_b3_Z, sizeof(__pyx_k_b3_Z), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z2, __pyx_k_b3_Z2, sizeof(__pyx_k_b3_Z2), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z2_c, __pyx_k_b3_Z2_c, sizeof(__pyx_k_b3_Z2_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z3, __pyx_k_b3_Z3, sizeof(__pyx_k_b3_Z3), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z3_c, __pyx_k_b3_Z3_c, sizeof(__pyx_k_b3_Z3_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z4, __pyx_k_b3_Z4, sizeof(__pyx_k_b3_Z4), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z4_c, __pyx_k_b3_Z4_c, sizeof(__pyx_k_b3_Z4_c), 0, 0, 1, 1},
  {&__pyx_n_s_b3_Z_c, __pyx_k_b3_Z_c, sizeof(__pyx_k_b3_Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_0th_end_c, __pyx_k_i1_0th_end_c, sizeof(__pyx_k_i1_0th_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_1st_end, __pyx_k_i1_1st_end, sizeof(__pyx_k_i1_1st_end), 0, 0, 1, 1},
  {&__pyx_n_s_i1_1st_end_c, __pyx_k_i1_1st_end_c, sizeof(__pyx_k_i1_1st_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_2nd_end, __pyx_k_i1_2nd_end, sizeof(__pyx_k_i1_2nd_end), 0, 0, 1, 1},
  {&__pyx_n_s_i1_2nd_end_c, __pyx_k_i1_2nd_end_c, sizeof(__pyx_k_i1_2nd_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_3rd_end, __pyx_k_i1_3rd_end, sizeof(__pyx_k_i1_3rd_end), 0, 0, 1, 1},
  {&__pyx_n_s_i1_3rd_end_c, __pyx_k_i1_3rd_end_c, sizeof(__pyx_k_i1_3rd_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_4th_end, __pyx_k_i1_4th_end, sizeof(__pyx_k_i1_4th_end), 0, 0, 1, 1},
  {&__pyx_n_s_i1_4th_end_c, __pyx_k_i1_4th_end_c, sizeof(__pyx_k_i1_4th_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_F, __pyx_k_i1_F, sizeof(__pyx_k_i1_F), 0, 0, 1, 1},
  {&__pyx_n_s_i1_F_c, __pyx_k_i1_F_c, sizeof(__pyx_k_i1_F_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X, __pyx_k_i1_X, sizeof(__pyx_k_i1_X), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X2, __pyx_k_i1_X2, sizeof(__pyx_k_i1_X2), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X2_c, __pyx_k_i1_X2_c, sizeof(__pyx_k_i1_X2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X3, __pyx_k_i1_X3, sizeof(__pyx_k_i1_X3), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X3_c, __pyx_k_i1_X3_c, sizeof(__pyx_k_i1_X3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X4, __pyx_k_i1_X4, sizeof(__pyx_k_i1_X4), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X4_c, __pyx_k_i1_X4_c, sizeof(__pyx_k_i1_X4_c), 0, 0, 1, 1},
  {&__pyx_n_s_i1_X_c, __pyx_k_i1_X_c, sizeof(__pyx_k_i1_X_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_0th_end_c, __pyx_k_i2_0th_end_c, sizeof(__pyx_k_i2_0th_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_1st_end, __pyx_k_i2_1st_end, sizeof(__pyx_k_i2_1st_end), 0, 0, 1, 1},
  {&__pyx_n_s_i2_1st_end_c, __pyx_k_i2_1st_end_c, sizeof(__pyx_k_i2_1st_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_2nd_end, __pyx_k_i2_2nd_end, sizeof(__pyx_k_i2_2nd_end), 0, 0, 1, 1},
  {&__pyx_n_s_i2_2nd_end_c, __pyx_k_i2_2nd_end_c, sizeof(__pyx_k_i2_2nd_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_3rd_end, __pyx_k_i2_3rd_end, sizeof(__pyx_k_i2_3rd_end), 0, 0, 1, 1},
  {&__pyx_n_s_i2_3rd_end_c, __pyx_k_i2_3rd_end_c, sizeof(__pyx_k_i2_3rd_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_4th_end, __pyx_k_i2_4th_end, sizeof(__pyx_k_i2_4th_end), 0, 0, 1, 1},
  {&__pyx_n_s_i2_4th_end_c, __pyx_k_i2_4th_end_c, sizeof(__pyx_k_i2_4th_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_F, __pyx_k_i2_F, sizeof(__pyx_k_i2_F), 0, 0, 1, 1},
  {&__pyx_n_s_i2_F_c, __pyx_k_i2_F_c, sizeof(__pyx_k_i2_F_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X, __pyx_k_i2_X, sizeof(__pyx_k_i2_X), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X2, __pyx_k_i2_X2, sizeof(__pyx_k_i2_X2), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X2Y, __pyx_k_i2_X2Y, sizeof(__pyx_k_i2_X2Y), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X2Y2, __pyx_k_i2_X2Y2, sizeof(__pyx_k_i2_X2Y2), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X2Y2_c, __pyx_k_i2_X2Y2_c, sizeof(__pyx_k_i2_X2Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X2Y_c, __pyx_k_i2_X2Y_c, sizeof(__pyx_k_i2_X2Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X2_c, __pyx_k_i2_X2_c, sizeof(__pyx_k_i2_X2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X3, __pyx_k_i2_X3, sizeof(__pyx_k_i2_X3), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X3Y, __pyx_k_i2_X3Y, sizeof(__pyx_k_i2_X3Y), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X3Y_c, __pyx_k_i2_X3Y_c, sizeof(__pyx_k_i2_X3Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X3_c, __pyx_k_i2_X3_c, sizeof(__pyx_k_i2_X3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X4, __pyx_k_i2_X4, sizeof(__pyx_k_i2_X4), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X4_c, __pyx_k_i2_X4_c, sizeof(__pyx_k_i2_X4_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_XY, __pyx_k_i2_XY, sizeof(__pyx_k_i2_XY), 0, 0, 1, 1},
  {&__pyx_n_s_i2_XY2, __pyx_k_i2_XY2, sizeof(__pyx_k_i2_XY2), 0, 0, 1, 1},
  {&__pyx_n_s_i2_XY2_c, __pyx_k_i2_XY2_c, sizeof(__pyx_k_i2_XY2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_XY3, __pyx_k_i2_XY3, sizeof(__pyx_k_i2_XY3), 0, 0, 1, 1},
  {&__pyx_n_s_i2_XY3_c, __pyx_k_i2_XY3_c, sizeof(__pyx_k_i2_XY3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_XY_c, __pyx_k_i2_XY_c, sizeof(__pyx_k_i2_XY_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_X_c, __pyx_k_i2_X_c, sizeof(__pyx_k_i2_X_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y, __pyx_k_i2_Y, sizeof(__pyx_k_i2_Y), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y2, __pyx_k_i2_Y2, sizeof(__pyx_k_i2_Y2), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y2_c, __pyx_k_i2_Y2_c, sizeof(__pyx_k_i2_Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y3, __pyx_k_i2_Y3, sizeof(__pyx_k_i2_Y3), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y3_c, __pyx_k_i2_Y3_c, sizeof(__pyx_k_i2_Y3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y4, __pyx_k_i2_Y4, sizeof(__pyx_k_i2_Y4), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y4_c, __pyx_k_i2_Y4_c, sizeof(__pyx_k_i2_Y4_c), 0, 0, 1, 1},
  {&__pyx_n_s_i2_Y_c, __pyx_k_i2_Y_c, sizeof(__pyx_k_i2_Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_0th_end, __pyx_k_i3_0th_end, sizeof(__pyx_k_i3_0th_end), 0, 0, 1, 1},
  {&__pyx_n_s_i3_0th_end_c, __pyx_k_i3_0th_end_c, sizeof(__pyx_k_i3_0th_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_1st_end, __pyx_k_i3_1st_end, sizeof(__pyx_k_i3_1st_end), 0, 0, 1, 1},
  {&__pyx_n_s_i3_1st_end_c, __pyx_k_i3_1st_end_c, sizeof(__pyx_k_i3_1st_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_2nd_end, __pyx_k_i3_2nd_end, sizeof(__pyx_k_i3_2nd_end), 0, 0, 1, 1},
  {&__pyx_n_s_i3_2nd_end_c, __pyx_k_i3_2nd_end_c, sizeof(__pyx_k_i3_2nd_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_3rd_end, __pyx_k_i3_3rd_end, sizeof(__pyx_k_i3_3rd_end), 0, 0, 1, 1},
  {&__pyx_n_s_i3_3rd_end_c, __pyx_k_i3_3rd_end_c, sizeof(__pyx_k_i3_3rd_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_4th_end, __pyx_k_i3_4th_end, sizeof(__pyx_k_i3_4th_end), 0, 0, 1, 1},
  {&__pyx_n_s_i3_4th_end_c, __pyx_k_i3_4th_end_c, sizeof(__pyx_k_i3_4th_end_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_F, __pyx_k_i3_F, sizeof(__pyx_k_i3_F), 0, 0, 1, 1},
  {&__pyx_n_s_i3_F_c, __pyx_k_i3_F_c, sizeof(__pyx_k_i3_F_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X, __pyx_k_i3_X, sizeof(__pyx_k_i3_X), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2, __pyx_k_i3_X2, sizeof(__pyx_k_i3_X2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Y, __pyx_k_i3_X2Y, sizeof(__pyx_k_i3_X2Y), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Y2, __pyx_k_i3_X2Y2, sizeof(__pyx_k_i3_X2Y2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Y2_c, __pyx_k_i3_X2Y2_c, sizeof(__pyx_k_i3_X2Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2YZ, __pyx_k_i3_X2YZ, sizeof(__pyx_k_i3_X2YZ), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2YZ_c, __pyx_k_i3_X2YZ_c, sizeof(__pyx_k_i3_X2YZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Y_c, __pyx_k_i3_X2Y_c, sizeof(__pyx_k_i3_X2Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Z, __pyx_k_i3_X2Z, sizeof(__pyx_k_i3_X2Z), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Z2, __pyx_k_i3_X2Z2, sizeof(__pyx_k_i3_X2Z2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Z2_c, __pyx_k_i3_X2Z2_c, sizeof(__pyx_k_i3_X2Z2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2Z_c, __pyx_k_i3_X2Z_c, sizeof(__pyx_k_i3_X2Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X2_c, __pyx_k_i3_X2_c, sizeof(__pyx_k_i3_X2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X3, __pyx_k_i3_X3, sizeof(__pyx_k_i3_X3), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X3Y, __pyx_k_i3_X3Y, sizeof(__pyx_k_i3_X3Y), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X3Y_c, __pyx_k_i3_X3Y_c, sizeof(__pyx_k_i3_X3Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X3Z, __pyx_k_i3_X3Z, sizeof(__pyx_k_i3_X3Z), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X3Z_c, __pyx_k_i3_X3Z_c, sizeof(__pyx_k_i3_X3Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X3_c, __pyx_k_i3_X3_c, sizeof(__pyx_k_i3_X3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X4, __pyx_k_i3_X4, sizeof(__pyx_k_i3_X4), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X4_c, __pyx_k_i3_X4_c, sizeof(__pyx_k_i3_X4_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY, __pyx_k_i3_XY, sizeof(__pyx_k_i3_XY), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY2, __pyx_k_i3_XY2, sizeof(__pyx_k_i3_XY2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY2Z, __pyx_k_i3_XY2Z, sizeof(__pyx_k_i3_XY2Z), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY2Z_c, __pyx_k_i3_XY2Z_c, sizeof(__pyx_k_i3_XY2Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY2_c, __pyx_k_i3_XY2_c, sizeof(__pyx_k_i3_XY2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY3, __pyx_k_i3_XY3, sizeof(__pyx_k_i3_XY3), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY3_c, __pyx_k_i3_XY3_c, sizeof(__pyx_k_i3_XY3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XYZ, __pyx_k_i3_XYZ, sizeof(__pyx_k_i3_XYZ), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XYZ2, __pyx_k_i3_XYZ2, sizeof(__pyx_k_i3_XYZ2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XYZ2_c, __pyx_k_i3_XYZ2_c, sizeof(__pyx_k_i3_XYZ2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XYZ_c, __pyx_k_i3_XYZ_c, sizeof(__pyx_k_i3_XYZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XY_c, __pyx_k_i3_XY_c, sizeof(__pyx_k_i3_XY_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XZ, __pyx_k_i3_XZ, sizeof(__pyx_k_i3_XZ), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XZ2, __pyx_k_i3_XZ2, sizeof(__pyx_k_i3_XZ2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XZ2_c, __pyx_k_i3_XZ2_c, sizeof(__pyx_k_i3_XZ2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XZ3, __pyx_k_i3_XZ3, sizeof(__pyx_k_i3_XZ3), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XZ3_c, __pyx_k_i3_XZ3_c, sizeof(__pyx_k_i3_XZ3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_XZ_c, __pyx_k_i3_XZ_c, sizeof(__pyx_k_i3_XZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_X_c, __pyx_k_i3_X_c, sizeof(__pyx_k_i3_X_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y, __pyx_k_i3_Y, sizeof(__pyx_k_i3_Y), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y2, __pyx_k_i3_Y2, sizeof(__pyx_k_i3_Y2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y2Z, __pyx_k_i3_Y2Z, sizeof(__pyx_k_i3_Y2Z), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y2Z2, __pyx_k_i3_Y2Z2, sizeof(__pyx_k_i3_Y2Z2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y2Z2_c, __pyx_k_i3_Y2Z2_c, sizeof(__pyx_k_i3_Y2Z2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y2Z_c, __pyx_k_i3_Y2Z_c, sizeof(__pyx_k_i3_Y2Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y2_c, __pyx_k_i3_Y2_c, sizeof(__pyx_k_i3_Y2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y3, __pyx_k_i3_Y3, sizeof(__pyx_k_i3_Y3), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y3Z, __pyx_k_i3_Y3Z, sizeof(__pyx_k_i3_Y3Z), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y3Z_c, __pyx_k_i3_Y3Z_c, sizeof(__pyx_k_i3_Y3Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y3_c, __pyx_k_i3_Y3_c, sizeof(__pyx_k_i3_Y3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y4, __pyx_k_i3_Y4, sizeof(__pyx_k_i3_Y4), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y4_c, __pyx_k_i3_Y4_c, sizeof(__pyx_k_i3_Y4_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_YZ, __pyx_k_i3_YZ, sizeof(__pyx_k_i3_YZ), 0, 0, 1, 1},
  {&__pyx_n_s_i3_YZ2, __pyx_k_i3_YZ2, sizeof(__pyx_k_i3_YZ2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_YZ2_c, __pyx_k_i3_YZ2_c, sizeof(__pyx_k_i3_YZ2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_YZ3, __pyx_k_i3_YZ3, sizeof(__pyx_k_i3_YZ3), 0, 0, 1, 1},
  {&__pyx_n_s_i3_YZ3_c, __pyx_k_i3_YZ3_c, sizeof(__pyx_k_i3_YZ3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_YZ_c, __pyx_k_i3_YZ_c, sizeof(__pyx_k_i3_YZ_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Y_c, __pyx_k_i3_Y_c, sizeof(__pyx_k_i3_Y_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z, __pyx_k_i3_Z, sizeof(__pyx_k_i3_Z), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z2, __pyx_k_i3_Z2, sizeof(__pyx_k_i3_Z2), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z2_c, __pyx_k_i3_Z2_c, sizeof(__pyx_k_i3_Z2_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z3, __pyx_k_i3_Z3, sizeof(__pyx_k_i3_Z3), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z3_c, __pyx_k_i3_Z3_c, sizeof(__pyx_k_i3_Z3_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z4, __pyx_k_i3_Z4, sizeof(__pyx_k_i3_Z4), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z4_c, __pyx_k_i3_Z4_c, sizeof(__pyx_k_i3_Z4_c), 0, 0, 1, 1},
  {&__pyx_n_s_i3_Z_c, __pyx_k_i3_Z_c, sizeof(__pyx_k_i3_Z_c), 0, 0, 1, 1},
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_capi, __pyx_k_pyx_capi, sizeof(__pyx_k_pyx_capi), 0, 0, 1, 1},
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static int __Pyx_InitCachedBuiltins(void) {
  return 0;
}

static int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_InitGlobals(void) {
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  return 0;
  __pyx_L1_error:;
  return -1;
}

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initdefs(void); /*proto*/
PyMODINIT_FUNC initdefs(void)
#else
PyMODINIT_FUNC PyInit_defs(void); /*proto*/
PyMODINIT_FUNC PyInit_defs(void)
#endif
{
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannyDeclarations
  #if CYTHON_REFNANNY
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
  if (!__Pyx_RefNanny) {
      PyErr_Clear();
      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
      if (!__Pyx_RefNanny)
          Py_FatalError("failed to import 'refnanny' module");
  }
  #endif
  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_defs(void)", 0);
  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  #ifdef WITH_THREAD /* Python build with threading support? */
  PyEval_InitThreads();
  #endif
  #endif
  /*--- Module creation code ---*/
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4("defs", __pyx_methods, __pyx_k_WLSQM_Weighted_Least_SQuares_Mes, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
  #if CYTHON_COMPILING_IN_PYPY
  Py_INCREF(__pyx_b);
  #endif
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_wlsqm__fitter__defs) {
    if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "wlsqm.fitter.defs")) {
      if (unlikely(PyDict_SetItemString(modules, "wlsqm.fitter.defs", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Global init code ---*/
  /*--- Variable export code ---*/
  if (__Pyx_ExportVoidPtr(__pyx_n_s_ALGO_BASIC_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_ALGO_BASIC_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_ALGO_ITERATIVE_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_ALGO_ITERATIVE_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_WEIGHT_UNIFORM_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_WEIGHT_UNIFORM_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_WEIGHT_CENTER_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_WEIGHT_CENTER_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_F_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_F_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_X_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_X_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_X2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_X2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_X3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_X3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_X4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_X4_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_0th_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_0th_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_1st_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_1st_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_2nd_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_2nd_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_3rd_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_3rd_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i1_4th_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i1_4th_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_SIZE1_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_SIZE1_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_F_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_F_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_X_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_X_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_Y_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_X2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_X2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_XY_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_XY_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_Y2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_X3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_X3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_X2Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_X2Y_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_XY2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_XY2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_Y3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_Y3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_X4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_X4_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_X3Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_X3Y_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_X2Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_X2Y2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_XY3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_XY3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_Y4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_Y4_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_0th_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_0th_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_1st_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_1st_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_2nd_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_2nd_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_3rd_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_3rd_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i2_4th_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i2_4th_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_SIZE2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_SIZE2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_F_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_F_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Y_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Z_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XY_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XY_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Y2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_YZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_YZ_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Z2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Z2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XZ_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X2Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X2Y_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XY2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XY2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Y3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Y3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Y2Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_YZ2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_YZ2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Z3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Z3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XZ2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XZ2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X2Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X2Z_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XYZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XYZ_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X4_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X3Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X3Y_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X2Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X2Y2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XY3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XY3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Y4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Y4_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Y3Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Y3Z_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Y2Z2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_YZ3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_YZ3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_Z4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_Z4_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XZ3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XZ3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X2Z2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X2Z2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X3Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X3Z_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_X2YZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_X2YZ_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XY2Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XY2Z_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_XYZ2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_XYZ2_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_0th_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_0th_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_1st_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_1st_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_2nd_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_2nd_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_3rd_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_3rd_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_i3_4th_end_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_i3_4th_end_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_SIZE3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_SIZE3_c, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b1_F_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b1_F_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b1_X_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b1_X_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b1_X2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b1_X2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b1_X3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b1_X3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b1_X4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b1_X4_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_F_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_F_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_X_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_X_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_Y_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_X2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_X2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_XY_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_XY_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_Y2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_X3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_X3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_X2Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_X2Y_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_XY2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_XY2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_Y3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_Y3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_X4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_X4_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_X3Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_X3Y_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_X2Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_X2Y2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_XY3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_XY3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b2_Y4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b2_Y4_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_F_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_F_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Y_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Z_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XY_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XY_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Y2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_YZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_YZ_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Z2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Z2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XZ_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X2Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X2Y_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XY2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XY2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Y3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Y3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Y2Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_YZ2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_YZ2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Z3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Z3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XZ2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XZ2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X2Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X2Z_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XYZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XYZ_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X4_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X3Y_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X3Y_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X2Y2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X2Y2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XY3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XY3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Y4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Y4_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Y3Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Y3Z_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Y2Z2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_YZ3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_YZ3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_Z4_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_Z4_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XZ3_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XZ3_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X2Z2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X2Z2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X3Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X3Z_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_X2YZ_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_X2YZ_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XY2Z_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XY2Z_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportVoidPtr(__pyx_n_s_b3_XYZ2_c, (void *)&__pyx_v_5wlsqm_6fitter_4defs_b3_XYZ2_c, "PY_LONG_LONG") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Function export code ---*/
  /*--- Type init code ---*/
  /*--- Type import code ---*/
  /*--- Variable import code ---*/
  /*--- Function import code ---*/
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif

  /* "wlsqm/fitter/defs.pyx":68
 * # Algorithms for the solve step (expert mode).
 * #
 * cdef int ALGO_BASIC_c     = 1  # just fit once             # <<<<<<<<<<<<<<
 * cdef int ALGO_ITERATIVE_c = 2  # fit with iterative refinement to mitigate roundoff
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_ALGO_BASIC_c = 1;

  /* "wlsqm/fitter/defs.pyx":69
 * #
 * cdef int ALGO_BASIC_c     = 1  # just fit once
 * cdef int ALGO_ITERATIVE_c = 2  # fit with iterative refinement to mitigate roundoff             # <<<<<<<<<<<<<<
 * 
 * # Weighting methods.
 */
  __pyx_v_5wlsqm_6fitter_4defs_ALGO_ITERATIVE_c = 2;

  /* "wlsqm/fitter/defs.pyx":73
 * # Weighting methods.
 * #
 * cdef int WEIGHT_UNIFORM_c = 1             # <<<<<<<<<<<<<<
 * cdef int WEIGHT_CENTER_c  = 2
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_WEIGHT_UNIFORM_c = 1;

  /* "wlsqm/fitter/defs.pyx":74
 * #
 * cdef int WEIGHT_UNIFORM_c = 1
 * cdef int WEIGHT_CENTER_c  = 2             # <<<<<<<<<<<<<<
 * 
 * # DOF index in the array f.
 */
  __pyx_v_5wlsqm_6fitter_4defs_WEIGHT_CENTER_c = 2;

  /* "wlsqm/fitter/defs.pyx":90
 * # 1D case
 * #
 * cdef int i1_F_c   = 0             # <<<<<<<<<<<<<<
 * cdef int i1_X_c   = 1
 * cdef int i1_X2_c  = 2
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_F_c = 0;

  /* "wlsqm/fitter/defs.pyx":91
 * #
 * cdef int i1_F_c   = 0
 * cdef int i1_X_c   = 1             # <<<<<<<<<<<<<<
 * cdef int i1_X2_c  = 2
 * cdef int i1_X3_c  = 3
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_X_c = 1;

  /* "wlsqm/fitter/defs.pyx":92
 * cdef int i1_F_c   = 0
 * cdef int i1_X_c   = 1
 * cdef int i1_X2_c  = 2             # <<<<<<<<<<<<<<
 * cdef int i1_X3_c  = 3
 * cdef int i1_X4_c  = 4
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_X2_c = 2;

  /* "wlsqm/fitter/defs.pyx":93
 * cdef int i1_X_c   = 1
 * cdef int i1_X2_c  = 2
 * cdef int i1_X3_c  = 3             # <<<<<<<<<<<<<<
 * cdef int i1_X4_c  = 4
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_X3_c = 3;

  /* "wlsqm/fitter/defs.pyx":94
 * cdef int i1_X2_c  = 2
 * cdef int i1_X3_c  = 3
 * cdef int i1_X4_c  = 4             # <<<<<<<<<<<<<<
 * 
 * cdef int i1_0th_end_c = 1  # one-past end of zeroth-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_X4_c = 4;

  /* "wlsqm/fitter/defs.pyx":96
 * cdef int i1_X4_c  = 4
 * 
 * cdef int i1_0th_end_c = 1  # one-past end of zeroth-order case             # <<<<<<<<<<<<<<
 * cdef int i1_1st_end_c = 2  # one-past end of first-order case
 * cdef int i1_2nd_end_c = 3  # one-past-end of second-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_0th_end_c = 1;

  /* "wlsqm/fitter/defs.pyx":97
 * 
 * cdef int i1_0th_end_c = 1  # one-past end of zeroth-order case
 * cdef int i1_1st_end_c = 2  # one-past end of first-order case             # <<<<<<<<<<<<<<
 * cdef int i1_2nd_end_c = 3  # one-past-end of second-order case
 * cdef int i1_3rd_end_c = 4  # one-past-end of third-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_1st_end_c = 2;

  /* "wlsqm/fitter/defs.pyx":98
 * cdef int i1_0th_end_c = 1  # one-past end of zeroth-order case
 * cdef int i1_1st_end_c = 2  # one-past end of first-order case
 * cdef int i1_2nd_end_c = 3  # one-past-end of second-order case             # <<<<<<<<<<<<<<
 * cdef int i1_3rd_end_c = 4  # one-past-end of third-order case
 * cdef int i1_4th_end_c = 5  # one-past-end of fourth-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_2nd_end_c = 3;

  /* "wlsqm/fitter/defs.pyx":99
 * cdef int i1_1st_end_c = 2  # one-past end of first-order case
 * cdef int i1_2nd_end_c = 3  # one-past-end of second-order case
 * cdef int i1_3rd_end_c = 4  # one-past-end of third-order case             # <<<<<<<<<<<<<<
 * cdef int i1_4th_end_c = 5  # one-past-end of fourth-order case
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_3rd_end_c = 4;

  /* "wlsqm/fitter/defs.pyx":100
 * cdef int i1_2nd_end_c = 3  # one-past-end of second-order case
 * cdef int i1_3rd_end_c = 4  # one-past-end of third-order case
 * cdef int i1_4th_end_c = 5  # one-past-end of fourth-order case             # <<<<<<<<<<<<<<
 * 
 * cdef int SIZE1_c = i1_4th_end_c  # maximum possible number of DOFs, 1D case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i1_4th_end_c = 5;

  /* "wlsqm/fitter/defs.pyx":102
 * cdef int i1_4th_end_c = 5  # one-past-end of fourth-order case
 * 
 * cdef int SIZE1_c = i1_4th_end_c  # maximum possible number of DOFs, 1D case             # <<<<<<<<<<<<<<
 * 
 * # 2D case
 */
  __pyx_v_5wlsqm_6fitter_4defs_SIZE1_c = __pyx_v_5wlsqm_6fitter_4defs_i1_4th_end_c;

  /* "wlsqm/fitter/defs.pyx":106
 * # 2D case
 * #
 * cdef int i2_F_c     =  0             # <<<<<<<<<<<<<<
 * 
 * cdef int i2_X_c     =  1
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_F_c = 0;

  /* "wlsqm/fitter/defs.pyx":108
 * cdef int i2_F_c     =  0
 * 
 * cdef int i2_X_c     =  1             # <<<<<<<<<<<<<<
 * cdef int i2_Y_c     =  2
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_X_c = 1;

  /* "wlsqm/fitter/defs.pyx":109
 * 
 * cdef int i2_X_c     =  1
 * cdef int i2_Y_c     =  2             # <<<<<<<<<<<<<<
 * 
 * cdef int i2_X2_c    =  3
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_Y_c = 2;

  /* "wlsqm/fitter/defs.pyx":111
 * cdef int i2_Y_c     =  2
 * 
 * cdef int i2_X2_c    =  3             # <<<<<<<<<<<<<<
 * cdef int i2_XY_c    =  4
 * cdef int i2_Y2_c    =  5
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_X2_c = 3;

  /* "wlsqm/fitter/defs.pyx":112
 * 
 * cdef int i2_X2_c    =  3
 * cdef int i2_XY_c    =  4             # <<<<<<<<<<<<<<
 * cdef int i2_Y2_c    =  5
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_XY_c = 4;

  /* "wlsqm/fitter/defs.pyx":113
 * cdef int i2_X2_c    =  3
 * cdef int i2_XY_c    =  4
 * cdef int i2_Y2_c    =  5             # <<<<<<<<<<<<<<
 * 
 * cdef int i2_X3_c    =  6
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_Y2_c = 5;

  /* "wlsqm/fitter/defs.pyx":115
 * cdef int i2_Y2_c    =  5
 * 
 * cdef int i2_X3_c    =  6             # <<<<<<<<<<<<<<
 * cdef int i2_X2Y_c   =  7
 * cdef int i2_XY2_c   =  8
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_X3_c = 6;

  /* "wlsqm/fitter/defs.pyx":116
 * 
 * cdef int i2_X3_c    =  6
 * cdef int i2_X2Y_c   =  7             # <<<<<<<<<<<<<<
 * cdef int i2_XY2_c   =  8
 * cdef int i2_Y3_c    =  9
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_X2Y_c = 7;

  /* "wlsqm/fitter/defs.pyx":117
 * cdef int i2_X3_c    =  6
 * cdef int i2_X2Y_c   =  7
 * cdef int i2_XY2_c   =  8             # <<<<<<<<<<<<<<
 * cdef int i2_Y3_c    =  9
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_XY2_c = 8;

  /* "wlsqm/fitter/defs.pyx":118
 * cdef int i2_X2Y_c   =  7
 * cdef int i2_XY2_c   =  8
 * cdef int i2_Y3_c    =  9             # <<<<<<<<<<<<<<
 * 
 * cdef int i2_X4_c    = 10
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_Y3_c = 9;

  /* "wlsqm/fitter/defs.pyx":120
 * cdef int i2_Y3_c    =  9
 * 
 * cdef int i2_X4_c    = 10             # <<<<<<<<<<<<<<
 * cdef int i2_X3Y_c   = 11
 * cdef int i2_X2Y2_c  = 12
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_X4_c = 10;

  /* "wlsqm/fitter/defs.pyx":121
 * 
 * cdef int i2_X4_c    = 10
 * cdef int i2_X3Y_c   = 11             # <<<<<<<<<<<<<<
 * cdef int i2_X2Y2_c  = 12
 * cdef int i2_XY3_c   = 13
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_X3Y_c = 11;

  /* "wlsqm/fitter/defs.pyx":122
 * cdef int i2_X4_c    = 10
 * cdef int i2_X3Y_c   = 11
 * cdef int i2_X2Y2_c  = 12             # <<<<<<<<<<<<<<
 * cdef int i2_XY3_c   = 13
 * cdef int i2_Y4_c    = 14
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_X2Y2_c = 12;

  /* "wlsqm/fitter/defs.pyx":123
 * cdef int i2_X3Y_c   = 11
 * cdef int i2_X2Y2_c  = 12
 * cdef int i2_XY3_c   = 13             # <<<<<<<<<<<<<<
 * cdef int i2_Y4_c    = 14
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_XY3_c = 13;

  /* "wlsqm/fitter/defs.pyx":124
 * cdef int i2_X2Y2_c  = 12
 * cdef int i2_XY3_c   = 13
 * cdef int i2_Y4_c    = 14             # <<<<<<<<<<<<<<
 * 
 * cdef int i2_0th_end_c =  1  # one-past end of zeroth-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_Y4_c = 14;

  /* "wlsqm/fitter/defs.pyx":126
 * cdef int i2_Y4_c    = 14
 * 
 * cdef int i2_0th_end_c =  1  # one-past end of zeroth-order case             # <<<<<<<<<<<<<<
 * cdef int i2_1st_end_c =  3  # one-past end of first-order case
 * cdef int i2_2nd_end_c =  6  # one-past-end of second-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_0th_end_c = 1;

  /* "wlsqm/fitter/defs.pyx":127
 * 
 * cdef int i2_0th_end_c =  1  # one-past end of zeroth-order case
 * cdef int i2_1st_end_c =  3  # one-past end of first-order case             # <<<<<<<<<<<<<<
 * cdef int i2_2nd_end_c =  6  # one-past-end of second-order case
 * cdef int i2_3rd_end_c = 10  # one-past-end of third-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_1st_end_c = 3;

  /* "wlsqm/fitter/defs.pyx":128
 * cdef int i2_0th_end_c =  1  # one-past end of zeroth-order case
 * cdef int i2_1st_end_c =  3  # one-past end of first-order case
 * cdef int i2_2nd_end_c =  6  # one-past-end of second-order case             # <<<<<<<<<<<<<<
 * cdef int i2_3rd_end_c = 10  # one-past-end of third-order case
 * cdef int i2_4th_end_c = 15  # one-past-end of fourth-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_2nd_end_c = 6;

  /* "wlsqm/fitter/defs.pyx":129
 * cdef int i2_1st_end_c =  3  # one-past end of first-order case
 * cdef int i2_2nd_end_c =  6  # one-past-end of second-order case
 * cdef int i2_3rd_end_c = 10  # one-past-end of third-order case             # <<<<<<<<<<<<<<
 * cdef int i2_4th_end_c = 15  # one-past-end of fourth-order case
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_3rd_end_c = 10;

  /* "wlsqm/fitter/defs.pyx":130
 * cdef int i2_2nd_end_c =  6  # one-past-end of second-order case
 * cdef int i2_3rd_end_c = 10  # one-past-end of third-order case
 * cdef int i2_4th_end_c = 15  # one-past-end of fourth-order case             # <<<<<<<<<<<<<<
 * 
 * cdef int SIZE2_c = i2_4th_end_c  # maximum possible number of DOFs, 2D case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i2_4th_end_c = 15;

  /* "wlsqm/fitter/defs.pyx":132
 * cdef int i2_4th_end_c = 15  # one-past-end of fourth-order case
 * 
 * cdef int SIZE2_c = i2_4th_end_c  # maximum possible number of DOFs, 2D case             # <<<<<<<<<<<<<<
 * 
 * # 3D case
 */
  __pyx_v_5wlsqm_6fitter_4defs_SIZE2_c = __pyx_v_5wlsqm_6fitter_4defs_i2_4th_end_c;

  /* "wlsqm/fitter/defs.pyx":136
 * # 3D case
 * #
 * cdef int i3_F_c      =  0             # <<<<<<<<<<<<<<
 * 
 * cdef int i3_X_c      =  1
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_F_c = 0;

  /* "wlsqm/fitter/defs.pyx":138
 * cdef int i3_F_c      =  0
 * 
 * cdef int i3_X_c      =  1             # <<<<<<<<<<<<<<
 * cdef int i3_Y_c      =  2
 * cdef int i3_Z_c      =  3
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X_c = 1;

  /* "wlsqm/fitter/defs.pyx":139
 * 
 * cdef int i3_X_c      =  1
 * cdef int i3_Y_c      =  2             # <<<<<<<<<<<<<<
 * cdef int i3_Z_c      =  3
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Y_c = 2;

  /* "wlsqm/fitter/defs.pyx":140
 * cdef int i3_X_c      =  1
 * cdef int i3_Y_c      =  2
 * cdef int i3_Z_c      =  3             # <<<<<<<<<<<<<<
 * 
 * cdef int i3_X2_c     =  4
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Z_c = 3;

  /* "wlsqm/fitter/defs.pyx":142
 * cdef int i3_Z_c      =  3
 * 
 * cdef int i3_X2_c     =  4             # <<<<<<<<<<<<<<
 * cdef int i3_XY_c     =  5
 * cdef int i3_Y2_c     =  6
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X2_c = 4;

  /* "wlsqm/fitter/defs.pyx":143
 * 
 * cdef int i3_X2_c     =  4
 * cdef int i3_XY_c     =  5             # <<<<<<<<<<<<<<
 * cdef int i3_Y2_c     =  6
 * cdef int i3_YZ_c     =  7
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XY_c = 5;

  /* "wlsqm/fitter/defs.pyx":144
 * cdef int i3_X2_c     =  4
 * cdef int i3_XY_c     =  5
 * cdef int i3_Y2_c     =  6             # <<<<<<<<<<<<<<
 * cdef int i3_YZ_c     =  7
 * cdef int i3_Z2_c     =  8
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Y2_c = 6;

  /* "wlsqm/fitter/defs.pyx":145
 * cdef int i3_XY_c     =  5
 * cdef int i3_Y2_c     =  6
 * cdef int i3_YZ_c     =  7             # <<<<<<<<<<<<<<
 * cdef int i3_Z2_c     =  8
 * cdef int i3_XZ_c     =  9
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_YZ_c = 7;

  /* "wlsqm/fitter/defs.pyx":146
 * cdef int i3_Y2_c     =  6
 * cdef int i3_YZ_c     =  7
 * cdef int i3_Z2_c     =  8             # <<<<<<<<<<<<<<
 * cdef int i3_XZ_c     =  9
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Z2_c = 8;

  /* "wlsqm/fitter/defs.pyx":147
 * cdef int i3_YZ_c     =  7
 * cdef int i3_Z2_c     =  8
 * cdef int i3_XZ_c     =  9             # <<<<<<<<<<<<<<
 * 
 * cdef int i3_X3_c     = 10
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XZ_c = 9;

  /* "wlsqm/fitter/defs.pyx":149
 * cdef int i3_XZ_c     =  9
 * 
 * cdef int i3_X3_c     = 10             # <<<<<<<<<<<<<<
 * cdef int i3_X2Y_c    = 11
 * cdef int i3_XY2_c    = 12
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X3_c = 10;

  /* "wlsqm/fitter/defs.pyx":150
 * 
 * cdef int i3_X3_c     = 10
 * cdef int i3_X2Y_c    = 11             # <<<<<<<<<<<<<<
 * cdef int i3_XY2_c    = 12
 * cdef int i3_Y3_c     = 13
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X2Y_c = 11;

  /* "wlsqm/fitter/defs.pyx":151
 * cdef int i3_X3_c     = 10
 * cdef int i3_X2Y_c    = 11
 * cdef int i3_XY2_c    = 12             # <<<<<<<<<<<<<<
 * cdef int i3_Y3_c     = 13
 * cdef int i3_Y2Z_c    = 14
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XY2_c = 12;

  /* "wlsqm/fitter/defs.pyx":152
 * cdef int i3_X2Y_c    = 11
 * cdef int i3_XY2_c    = 12
 * cdef int i3_Y3_c     = 13             # <<<<<<<<<<<<<<
 * cdef int i3_Y2Z_c    = 14
 * cdef int i3_YZ2_c    = 15
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Y3_c = 13;

  /* "wlsqm/fitter/defs.pyx":153
 * cdef int i3_XY2_c    = 12
 * cdef int i3_Y3_c     = 13
 * cdef int i3_Y2Z_c    = 14             # <<<<<<<<<<<<<<
 * cdef int i3_YZ2_c    = 15
 * cdef int i3_Z3_c     = 16
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z_c = 14;

  /* "wlsqm/fitter/defs.pyx":154
 * cdef int i3_Y3_c     = 13
 * cdef int i3_Y2Z_c    = 14
 * cdef int i3_YZ2_c    = 15             # <<<<<<<<<<<<<<
 * cdef int i3_Z3_c     = 16
 * cdef int i3_XZ2_c    = 17
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_YZ2_c = 15;

  /* "wlsqm/fitter/defs.pyx":155
 * cdef int i3_Y2Z_c    = 14
 * cdef int i3_YZ2_c    = 15
 * cdef int i3_Z3_c     = 16             # <<<<<<<<<<<<<<
 * cdef int i3_XZ2_c    = 17
 * cdef int i3_X2Z_c    = 18
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Z3_c = 16;

  /* "wlsqm/fitter/defs.pyx":156
 * cdef int i3_YZ2_c    = 15
 * cdef int i3_Z3_c     = 16
 * cdef int i3_XZ2_c    = 17             # <<<<<<<<<<<<<<
 * cdef int i3_X2Z_c    = 18
 * cdef int i3_XYZ_c    = 19
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XZ2_c = 17;

  /* "wlsqm/fitter/defs.pyx":157
 * cdef int i3_Z3_c     = 16
 * cdef int i3_XZ2_c    = 17
 * cdef int i3_X2Z_c    = 18             # <<<<<<<<<<<<<<
 * cdef int i3_XYZ_c    = 19
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X2Z_c = 18;

  /* "wlsqm/fitter/defs.pyx":158
 * cdef int i3_XZ2_c    = 17
 * cdef int i3_X2Z_c    = 18
 * cdef int i3_XYZ_c    = 19             # <<<<<<<<<<<<<<
 * 
 * cdef int i3_X4_c     = 20
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XYZ_c = 19;

  /* "wlsqm/fitter/defs.pyx":160
 * cdef int i3_XYZ_c    = 19
 * 
 * cdef int i3_X4_c     = 20             # <<<<<<<<<<<<<<
 * cdef int i3_X3Y_c    = 21
 * cdef int i3_X2Y2_c   = 22
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X4_c = 20;

  /* "wlsqm/fitter/defs.pyx":161
 * 
 * cdef int i3_X4_c     = 20
 * cdef int i3_X3Y_c    = 21             # <<<<<<<<<<<<<<
 * cdef int i3_X2Y2_c   = 22
 * cdef int i3_XY3_c    = 23
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X3Y_c = 21;

  /* "wlsqm/fitter/defs.pyx":162
 * cdef int i3_X4_c     = 20
 * cdef int i3_X3Y_c    = 21
 * cdef int i3_X2Y2_c   = 22             # <<<<<<<<<<<<<<
 * cdef int i3_XY3_c    = 23
 * cdef int i3_Y4_c     = 24
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X2Y2_c = 22;

  /* "wlsqm/fitter/defs.pyx":163
 * cdef int i3_X3Y_c    = 21
 * cdef int i3_X2Y2_c   = 22
 * cdef int i3_XY3_c    = 23             # <<<<<<<<<<<<<<
 * cdef int i3_Y4_c     = 24
 * cdef int i3_Y3Z_c    = 25
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XY3_c = 23;

  /* "wlsqm/fitter/defs.pyx":164
 * cdef int i3_X2Y2_c   = 22
 * cdef int i3_XY3_c    = 23
 * cdef int i3_Y4_c     = 24             # <<<<<<<<<<<<<<
 * cdef int i3_Y3Z_c    = 25
 * cdef int i3_Y2Z2_c   = 26
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Y4_c = 24;

  /* "wlsqm/fitter/defs.pyx":165
 * cdef int i3_XY3_c    = 23
 * cdef int i3_Y4_c     = 24
 * cdef int i3_Y3Z_c    = 25             # <<<<<<<<<<<<<<
 * cdef int i3_Y2Z2_c   = 26
 * cdef int i3_YZ3_c    = 27
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Y3Z_c = 25;

  /* "wlsqm/fitter/defs.pyx":166
 * cdef int i3_Y4_c     = 24
 * cdef int i3_Y3Z_c    = 25
 * cdef int i3_Y2Z2_c   = 26             # <<<<<<<<<<<<<<
 * cdef int i3_YZ3_c    = 27
 * cdef int i3_Z4_c     = 28
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z2_c = 26;

  /* "wlsqm/fitter/defs.pyx":167
 * cdef int i3_Y3Z_c    = 25
 * cdef int i3_Y2Z2_c   = 26
 * cdef int i3_YZ3_c    = 27             # <<<<<<<<<<<<<<
 * cdef int i3_Z4_c     = 28
 * cdef int i3_XZ3_c    = 29
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_YZ3_c = 27;

  /* "wlsqm/fitter/defs.pyx":168
 * cdef int i3_Y2Z2_c   = 26
 * cdef int i3_YZ3_c    = 27
 * cdef int i3_Z4_c     = 28             # <<<<<<<<<<<<<<
 * cdef int i3_XZ3_c    = 29
 * cdef int i3_X2Z2_c   = 30
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_Z4_c = 28;

  /* "wlsqm/fitter/defs.pyx":169
 * cdef int i3_YZ3_c    = 27
 * cdef int i3_Z4_c     = 28
 * cdef int i3_XZ3_c    = 29             # <<<<<<<<<<<<<<
 * cdef int i3_X2Z2_c   = 30
 * cdef int i3_X3Z_c    = 31
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XZ3_c = 29;

  /* "wlsqm/fitter/defs.pyx":170
 * cdef int i3_Z4_c     = 28
 * cdef int i3_XZ3_c    = 29
 * cdef int i3_X2Z2_c   = 30             # <<<<<<<<<<<<<<
 * cdef int i3_X3Z_c    = 31
 * cdef int i3_X2YZ_c   = 32
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X2Z2_c = 30;

  /* "wlsqm/fitter/defs.pyx":171
 * cdef int i3_XZ3_c    = 29
 * cdef int i3_X2Z2_c   = 30
 * cdef int i3_X3Z_c    = 31             # <<<<<<<<<<<<<<
 * cdef int i3_X2YZ_c   = 32
 * cdef int i3_XY2Z_c   = 33
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X3Z_c = 31;

  /* "wlsqm/fitter/defs.pyx":172
 * cdef int i3_X2Z2_c   = 30
 * cdef int i3_X3Z_c    = 31
 * cdef int i3_X2YZ_c   = 32             # <<<<<<<<<<<<<<
 * cdef int i3_XY2Z_c   = 33
 * cdef int i3_XYZ2_c   = 34
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_X2YZ_c = 32;

  /* "wlsqm/fitter/defs.pyx":173
 * cdef int i3_X3Z_c    = 31
 * cdef int i3_X2YZ_c   = 32
 * cdef int i3_XY2Z_c   = 33             # <<<<<<<<<<<<<<
 * cdef int i3_XYZ2_c   = 34
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XY2Z_c = 33;

  /* "wlsqm/fitter/defs.pyx":174
 * cdef int i3_X2YZ_c   = 32
 * cdef int i3_XY2Z_c   = 33
 * cdef int i3_XYZ2_c   = 34             # <<<<<<<<<<<<<<
 * 
 * cdef int i3_0th_end_c =  1  # one-past end of zeroth-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_XYZ2_c = 34;

  /* "wlsqm/fitter/defs.pyx":176
 * cdef int i3_XYZ2_c   = 34
 * 
 * cdef int i3_0th_end_c =  1  # one-past end of zeroth-order case             # <<<<<<<<<<<<<<
 * cdef int i3_1st_end_c =  4  # one-past end of first-order case
 * cdef int i3_2nd_end_c = 10  # one-past-end of second-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_0th_end_c = 1;

  /* "wlsqm/fitter/defs.pyx":177
 * 
 * cdef int i3_0th_end_c =  1  # one-past end of zeroth-order case
 * cdef int i3_1st_end_c =  4  # one-past end of first-order case             # <<<<<<<<<<<<<<
 * cdef int i3_2nd_end_c = 10  # one-past-end of second-order case
 * cdef int i3_3rd_end_c = 20  # one-past-end of third-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_1st_end_c = 4;

  /* "wlsqm/fitter/defs.pyx":178
 * cdef int i3_0th_end_c =  1  # one-past end of zeroth-order case
 * cdef int i3_1st_end_c =  4  # one-past end of first-order case
 * cdef int i3_2nd_end_c = 10  # one-past-end of second-order case             # <<<<<<<<<<<<<<
 * cdef int i3_3rd_end_c = 20  # one-past-end of third-order case
 * cdef int i3_4th_end_c = 35  # one-past-end of fourth-order case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_2nd_end_c = 10;

  /* "wlsqm/fitter/defs.pyx":179
 * cdef int i3_1st_end_c =  4  # one-past end of first-order case
 * cdef int i3_2nd_end_c = 10  # one-past-end of second-order case
 * cdef int i3_3rd_end_c = 20  # one-past-end of third-order case             # <<<<<<<<<<<<<<
 * cdef int i3_4th_end_c = 35  # one-past-end of fourth-order case
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_3rd_end_c = 20;

  /* "wlsqm/fitter/defs.pyx":180
 * cdef int i3_2nd_end_c = 10  # one-past-end of second-order case
 * cdef int i3_3rd_end_c = 20  # one-past-end of third-order case
 * cdef int i3_4th_end_c = 35  # one-past-end of fourth-order case             # <<<<<<<<<<<<<<
 * 
 * cdef int SIZE3_c = i3_4th_end_c  # maximum possible number of DOFs, 3D case
 */
  __pyx_v_5wlsqm_6fitter_4defs_i3_4th_end_c = 35;

  /* "wlsqm/fitter/defs.pyx":182
 * cdef int i3_4th_end_c = 35  # one-past-end of fourth-order case
 * 
 * cdef int SIZE3_c = i3_4th_end_c  # maximum possible number of DOFs, 3D case             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_SIZE3_c = __pyx_v_5wlsqm_6fitter_4defs_i3_4th_end_c;

  /* "wlsqm/fitter/defs.pyx":210
 * # 1D case
 * #
 * cdef long long b1_F_c      = (1LL << i1_F_c)             # <<<<<<<<<<<<<<
 * cdef long long b1_X_c      = (1LL << i1_X_c)
 * cdef long long b1_X2_c     = (1LL << i1_X2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b1_F_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i1_F_c);

  /* "wlsqm/fitter/defs.pyx":211
 * #
 * cdef long long b1_F_c      = (1LL << i1_F_c)
 * cdef long long b1_X_c      = (1LL << i1_X_c)             # <<<<<<<<<<<<<<
 * cdef long long b1_X2_c     = (1LL << i1_X2_c)
 * cdef long long b1_X3_c     = (1LL << i1_X3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b1_X_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i1_X_c);

  /* "wlsqm/fitter/defs.pyx":212
 * cdef long long b1_F_c      = (1LL << i1_F_c)
 * cdef long long b1_X_c      = (1LL << i1_X_c)
 * cdef long long b1_X2_c     = (1LL << i1_X2_c)             # <<<<<<<<<<<<<<
 * cdef long long b1_X3_c     = (1LL << i1_X3_c)
 * cdef long long b1_X4_c     = (1LL << i1_X4_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b1_X2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i1_X2_c);

  /* "wlsqm/fitter/defs.pyx":213
 * cdef long long b1_X_c      = (1LL << i1_X_c)
 * cdef long long b1_X2_c     = (1LL << i1_X2_c)
 * cdef long long b1_X3_c     = (1LL << i1_X3_c)             # <<<<<<<<<<<<<<
 * cdef long long b1_X4_c     = (1LL << i1_X4_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b1_X3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i1_X3_c);

  /* "wlsqm/fitter/defs.pyx":214
 * cdef long long b1_X2_c     = (1LL << i1_X2_c)
 * cdef long long b1_X3_c     = (1LL << i1_X3_c)
 * cdef long long b1_X4_c     = (1LL << i1_X4_c)             # <<<<<<<<<<<<<<
 * 
 * # 2D case
 */
  __pyx_v_5wlsqm_6fitter_4defs_b1_X4_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i1_X4_c);

  /* "wlsqm/fitter/defs.pyx":218
 * # 2D case
 * #
 * cdef long long b2_F_c      = (1LL << i2_F_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b2_X_c      = (1LL << i2_X_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_F_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_F_c);

  /* "wlsqm/fitter/defs.pyx":220
 * cdef long long b2_F_c      = (1LL << i2_F_c)
 * 
 * cdef long long b2_X_c      = (1LL << i2_X_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_Y_c      = (1LL << i2_Y_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_X_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_X_c);

  /* "wlsqm/fitter/defs.pyx":221
 * 
 * cdef long long b2_X_c      = (1LL << i2_X_c)
 * cdef long long b2_Y_c      = (1LL << i2_Y_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b2_X2_c     = (1LL << i2_X2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_Y_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_Y_c);

  /* "wlsqm/fitter/defs.pyx":223
 * cdef long long b2_Y_c      = (1LL << i2_Y_c)
 * 
 * cdef long long b2_X2_c     = (1LL << i2_X2_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_XY_c     = (1LL << i2_XY_c)
 * cdef long long b2_Y2_c     = (1LL << i2_Y2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_X2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_X2_c);

  /* "wlsqm/fitter/defs.pyx":224
 * 
 * cdef long long b2_X2_c     = (1LL << i2_X2_c)
 * cdef long long b2_XY_c     = (1LL << i2_XY_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_Y2_c     = (1LL << i2_Y2_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_XY_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_XY_c);

  /* "wlsqm/fitter/defs.pyx":225
 * cdef long long b2_X2_c     = (1LL << i2_X2_c)
 * cdef long long b2_XY_c     = (1LL << i2_XY_c)
 * cdef long long b2_Y2_c     = (1LL << i2_Y2_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b2_X3_c     = (1LL << i2_X3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_Y2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_Y2_c);

  /* "wlsqm/fitter/defs.pyx":227
 * cdef long long b2_Y2_c     = (1LL << i2_Y2_c)
 * 
 * cdef long long b2_X3_c     = (1LL << i2_X3_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_X2Y_c    = (1LL << i2_X2Y_c)
 * cdef long long b2_XY2_c    = (1LL << i2_XY2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_X3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_X3_c);

  /* "wlsqm/fitter/defs.pyx":228
 * 
 * cdef long long b2_X3_c     = (1LL << i2_X3_c)
 * cdef long long b2_X2Y_c    = (1LL << i2_X2Y_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_XY2_c    = (1LL << i2_XY2_c)
 * cdef long long b2_Y3_c     = (1LL << i2_Y3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_X2Y_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_X2Y_c);

  /* "wlsqm/fitter/defs.pyx":229
 * cdef long long b2_X3_c     = (1LL << i2_X3_c)
 * cdef long long b2_X2Y_c    = (1LL << i2_X2Y_c)
 * cdef long long b2_XY2_c    = (1LL << i2_XY2_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_Y3_c     = (1LL << i2_Y3_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_XY2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_XY2_c);

  /* "wlsqm/fitter/defs.pyx":230
 * cdef long long b2_X2Y_c    = (1LL << i2_X2Y_c)
 * cdef long long b2_XY2_c    = (1LL << i2_XY2_c)
 * cdef long long b2_Y3_c     = (1LL << i2_Y3_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b2_X4_c     = (1LL << i2_X4_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_Y3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_Y3_c);

  /* "wlsqm/fitter/defs.pyx":232
 * cdef long long b2_Y3_c     = (1LL << i2_Y3_c)
 * 
 * cdef long long b2_X4_c     = (1LL << i2_X4_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_X3Y_c    = (1LL << i2_X3Y_c)
 * cdef long long b2_X2Y2_c   = (1LL << i2_X2Y2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_X4_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_X4_c);

  /* "wlsqm/fitter/defs.pyx":233
 * 
 * cdef long long b2_X4_c     = (1LL << i2_X4_c)
 * cdef long long b2_X3Y_c    = (1LL << i2_X3Y_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_X2Y2_c   = (1LL << i2_X2Y2_c)
 * cdef long long b2_XY3_c    = (1LL << i2_XY3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_X3Y_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_X3Y_c);

  /* "wlsqm/fitter/defs.pyx":234
 * cdef long long b2_X4_c     = (1LL << i2_X4_c)
 * cdef long long b2_X3Y_c    = (1LL << i2_X3Y_c)
 * cdef long long b2_X2Y2_c   = (1LL << i2_X2Y2_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_XY3_c    = (1LL << i2_XY3_c)
 * cdef long long b2_Y4_c     = (1LL << i2_Y4_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_X2Y2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_X2Y2_c);

  /* "wlsqm/fitter/defs.pyx":235
 * cdef long long b2_X3Y_c    = (1LL << i2_X3Y_c)
 * cdef long long b2_X2Y2_c   = (1LL << i2_X2Y2_c)
 * cdef long long b2_XY3_c    = (1LL << i2_XY3_c)             # <<<<<<<<<<<<<<
 * cdef long long b2_Y4_c     = (1LL << i2_Y4_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_XY3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_XY3_c);

  /* "wlsqm/fitter/defs.pyx":236
 * cdef long long b2_X2Y2_c   = (1LL << i2_X2Y2_c)
 * cdef long long b2_XY3_c    = (1LL << i2_XY3_c)
 * cdef long long b2_Y4_c     = (1LL << i2_Y4_c)             # <<<<<<<<<<<<<<
 * 
 * # 3D case
 */
  __pyx_v_5wlsqm_6fitter_4defs_b2_Y4_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i2_Y4_c);

  /* "wlsqm/fitter/defs.pyx":240
 * # 3D case
 * #
 * cdef long long b3_F_c      = (1LL << i3_F_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b3_X_c      = (1LL << i3_X_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_F_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_F_c);

  /* "wlsqm/fitter/defs.pyx":242
 * cdef long long b3_F_c      = (1LL << i3_F_c)
 * 
 * cdef long long b3_X_c      = (1LL << i3_X_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Y_c      = (1LL << i3_Y_c)
 * cdef long long b3_Z_c      = (1LL << i3_Z_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X_c);

  /* "wlsqm/fitter/defs.pyx":243
 * 
 * cdef long long b3_X_c      = (1LL << i3_X_c)
 * cdef long long b3_Y_c      = (1LL << i3_Y_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Z_c      = (1LL << i3_Z_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Y_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Y_c);

  /* "wlsqm/fitter/defs.pyx":244
 * cdef long long b3_X_c      = (1LL << i3_X_c)
 * cdef long long b3_Y_c      = (1LL << i3_Y_c)
 * cdef long long b3_Z_c      = (1LL << i3_Z_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b3_X2_c     = (1LL << i3_X2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Z_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Z_c);

  /* "wlsqm/fitter/defs.pyx":246
 * cdef long long b3_Z_c      = (1LL << i3_Z_c)
 * 
 * cdef long long b3_X2_c     = (1LL << i3_X2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XY_c     = (1LL << i3_XY_c)
 * cdef long long b3_Y2_c     = (1LL << i3_Y2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X2_c);

  /* "wlsqm/fitter/defs.pyx":247
 * 
 * cdef long long b3_X2_c     = (1LL << i3_X2_c)
 * cdef long long b3_XY_c     = (1LL << i3_XY_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Y2_c     = (1LL << i3_Y2_c)
 * cdef long long b3_YZ_c     = (1LL << i3_YZ_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XY_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XY_c);

  /* "wlsqm/fitter/defs.pyx":248
 * cdef long long b3_X2_c     = (1LL << i3_X2_c)
 * cdef long long b3_XY_c     = (1LL << i3_XY_c)
 * cdef long long b3_Y2_c     = (1LL << i3_Y2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_YZ_c     = (1LL << i3_YZ_c)
 * cdef long long b3_Z2_c     = (1LL << i3_Z2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Y2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Y2_c);

  /* "wlsqm/fitter/defs.pyx":249
 * cdef long long b3_XY_c     = (1LL << i3_XY_c)
 * cdef long long b3_Y2_c     = (1LL << i3_Y2_c)
 * cdef long long b3_YZ_c     = (1LL << i3_YZ_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Z2_c     = (1LL << i3_Z2_c)
 * cdef long long b3_XZ_c     = (1LL << i3_XZ_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_YZ_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_YZ_c);

  /* "wlsqm/fitter/defs.pyx":250
 * cdef long long b3_Y2_c     = (1LL << i3_Y2_c)
 * cdef long long b3_YZ_c     = (1LL << i3_YZ_c)
 * cdef long long b3_Z2_c     = (1LL << i3_Z2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XZ_c     = (1LL << i3_XZ_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Z2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Z2_c);

  /* "wlsqm/fitter/defs.pyx":251
 * cdef long long b3_YZ_c     = (1LL << i3_YZ_c)
 * cdef long long b3_Z2_c     = (1LL << i3_Z2_c)
 * cdef long long b3_XZ_c     = (1LL << i3_XZ_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b3_X3_c     = (1LL << i3_X3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XZ_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XZ_c);

  /* "wlsqm/fitter/defs.pyx":253
 * cdef long long b3_XZ_c     = (1LL << i3_XZ_c)
 * 
 * cdef long long b3_X3_c     = (1LL << i3_X3_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_X2Y_c    = (1LL << i3_X2Y_c)
 * cdef long long b3_XY2_c    = (1LL << i3_XY2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X3_c);

  /* "wlsqm/fitter/defs.pyx":254
 * 
 * cdef long long b3_X3_c     = (1LL << i3_X3_c)
 * cdef long long b3_X2Y_c    = (1LL << i3_X2Y_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XY2_c    = (1LL << i3_XY2_c)
 * cdef long long b3_Y3_c     = (1LL << i3_Y3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X2Y_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X2Y_c);

  /* "wlsqm/fitter/defs.pyx":255
 * cdef long long b3_X3_c     = (1LL << i3_X3_c)
 * cdef long long b3_X2Y_c    = (1LL << i3_X2Y_c)
 * cdef long long b3_XY2_c    = (1LL << i3_XY2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Y3_c     = (1LL << i3_Y3_c)
 * cdef long long b3_Y2Z_c    = (1LL << i3_Y2Z_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XY2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XY2_c);

  /* "wlsqm/fitter/defs.pyx":256
 * cdef long long b3_X2Y_c    = (1LL << i3_X2Y_c)
 * cdef long long b3_XY2_c    = (1LL << i3_XY2_c)
 * cdef long long b3_Y3_c     = (1LL << i3_Y3_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Y2Z_c    = (1LL << i3_Y2Z_c)
 * cdef long long b3_YZ2_c    = (1LL << i3_YZ2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Y3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Y3_c);

  /* "wlsqm/fitter/defs.pyx":257
 * cdef long long b3_XY2_c    = (1LL << i3_XY2_c)
 * cdef long long b3_Y3_c     = (1LL << i3_Y3_c)
 * cdef long long b3_Y2Z_c    = (1LL << i3_Y2Z_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_YZ2_c    = (1LL << i3_YZ2_c)
 * cdef long long b3_Z3_c     = (1LL << i3_Z3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z_c);

  /* "wlsqm/fitter/defs.pyx":258
 * cdef long long b3_Y3_c     = (1LL << i3_Y3_c)
 * cdef long long b3_Y2Z_c    = (1LL << i3_Y2Z_c)
 * cdef long long b3_YZ2_c    = (1LL << i3_YZ2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Z3_c     = (1LL << i3_Z3_c)
 * cdef long long b3_XZ2_c    = (1LL << i3_XZ2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_YZ2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_YZ2_c);

  /* "wlsqm/fitter/defs.pyx":259
 * cdef long long b3_Y2Z_c    = (1LL << i3_Y2Z_c)
 * cdef long long b3_YZ2_c    = (1LL << i3_YZ2_c)
 * cdef long long b3_Z3_c     = (1LL << i3_Z3_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XZ2_c    = (1LL << i3_XZ2_c)
 * cdef long long b3_X2Z_c    = (1LL << i3_X2Z_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Z3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Z3_c);

  /* "wlsqm/fitter/defs.pyx":260
 * cdef long long b3_YZ2_c    = (1LL << i3_YZ2_c)
 * cdef long long b3_Z3_c     = (1LL << i3_Z3_c)
 * cdef long long b3_XZ2_c    = (1LL << i3_XZ2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_X2Z_c    = (1LL << i3_X2Z_c)
 * cdef long long b3_XYZ_c    = (1LL << i3_XYZ_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XZ2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XZ2_c);

  /* "wlsqm/fitter/defs.pyx":261
 * cdef long long b3_Z3_c     = (1LL << i3_Z3_c)
 * cdef long long b3_XZ2_c    = (1LL << i3_XZ2_c)
 * cdef long long b3_X2Z_c    = (1LL << i3_X2Z_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XYZ_c    = (1LL << i3_XYZ_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X2Z_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X2Z_c);

  /* "wlsqm/fitter/defs.pyx":262
 * cdef long long b3_XZ2_c    = (1LL << i3_XZ2_c)
 * cdef long long b3_X2Z_c    = (1LL << i3_X2Z_c)
 * cdef long long b3_XYZ_c    = (1LL << i3_XYZ_c)             # <<<<<<<<<<<<<<
 * 
 * cdef long long b3_X4_c     = (1LL << i3_X4_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XYZ_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XYZ_c);

  /* "wlsqm/fitter/defs.pyx":264
 * cdef long long b3_XYZ_c    = (1LL << i3_XYZ_c)
 * 
 * cdef long long b3_X4_c     = (1LL << i3_X4_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_X3Y_c    = (1LL << i3_X3Y_c)
 * cdef long long b3_X2Y2_c   = (1LL << i3_X2Y2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X4_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X4_c);

  /* "wlsqm/fitter/defs.pyx":265
 * 
 * cdef long long b3_X4_c     = (1LL << i3_X4_c)
 * cdef long long b3_X3Y_c    = (1LL << i3_X3Y_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_X2Y2_c   = (1LL << i3_X2Y2_c)
 * cdef long long b3_XY3_c    = (1LL << i3_XY3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X3Y_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X3Y_c);

  /* "wlsqm/fitter/defs.pyx":266
 * cdef long long b3_X4_c     = (1LL << i3_X4_c)
 * cdef long long b3_X3Y_c    = (1LL << i3_X3Y_c)
 * cdef long long b3_X2Y2_c   = (1LL << i3_X2Y2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XY3_c    = (1LL << i3_XY3_c)
 * cdef long long b3_Y4_c     = (1LL << i3_Y4_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X2Y2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X2Y2_c);

  /* "wlsqm/fitter/defs.pyx":267
 * cdef long long b3_X3Y_c    = (1LL << i3_X3Y_c)
 * cdef long long b3_X2Y2_c   = (1LL << i3_X2Y2_c)
 * cdef long long b3_XY3_c    = (1LL << i3_XY3_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Y4_c     = (1LL << i3_Y4_c)
 * cdef long long b3_Y3Z_c    = (1LL << i3_Y3Z_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XY3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XY3_c);

  /* "wlsqm/fitter/defs.pyx":268
 * cdef long long b3_X2Y2_c   = (1LL << i3_X2Y2_c)
 * cdef long long b3_XY3_c    = (1LL << i3_XY3_c)
 * cdef long long b3_Y4_c     = (1LL << i3_Y4_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Y3Z_c    = (1LL << i3_Y3Z_c)
 * cdef long long b3_Y2Z2_c   = (1LL << i3_Y2Z2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Y4_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Y4_c);

  /* "wlsqm/fitter/defs.pyx":269
 * cdef long long b3_XY3_c    = (1LL << i3_XY3_c)
 * cdef long long b3_Y4_c     = (1LL << i3_Y4_c)
 * cdef long long b3_Y3Z_c    = (1LL << i3_Y3Z_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Y2Z2_c   = (1LL << i3_Y2Z2_c)
 * cdef long long b3_YZ3_c    = (1LL << i3_YZ3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Y3Z_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Y3Z_c);

  /* "wlsqm/fitter/defs.pyx":270
 * cdef long long b3_Y4_c     = (1LL << i3_Y4_c)
 * cdef long long b3_Y3Z_c    = (1LL << i3_Y3Z_c)
 * cdef long long b3_Y2Z2_c   = (1LL << i3_Y2Z2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_YZ3_c    = (1LL << i3_YZ3_c)
 * cdef long long b3_Z4_c     = (1LL << i3_Z4_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z2_c);

  /* "wlsqm/fitter/defs.pyx":271
 * cdef long long b3_Y3Z_c    = (1LL << i3_Y3Z_c)
 * cdef long long b3_Y2Z2_c   = (1LL << i3_Y2Z2_c)
 * cdef long long b3_YZ3_c    = (1LL << i3_YZ3_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_Z4_c     = (1LL << i3_Z4_c)
 * cdef long long b3_XZ3_c    = (1LL << i3_XZ3_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_YZ3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_YZ3_c);

  /* "wlsqm/fitter/defs.pyx":272
 * cdef long long b3_Y2Z2_c   = (1LL << i3_Y2Z2_c)
 * cdef long long b3_YZ3_c    = (1LL << i3_YZ3_c)
 * cdef long long b3_Z4_c     = (1LL << i3_Z4_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XZ3_c    = (1LL << i3_XZ3_c)
 * cdef long long b3_X2Z2_c   = (1LL << i3_X2Z2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_Z4_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_Z4_c);

  /* "wlsqm/fitter/defs.pyx":273
 * cdef long long b3_YZ3_c    = (1LL << i3_YZ3_c)
 * cdef long long b3_Z4_c     = (1LL << i3_Z4_c)
 * cdef long long b3_XZ3_c    = (1LL << i3_XZ3_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_X2Z2_c   = (1LL << i3_X2Z2_c)
 * cdef long long b3_X3Z_c    = (1LL << i3_X3Z_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XZ3_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XZ3_c);

  /* "wlsqm/fitter/defs.pyx":274
 * cdef long long b3_Z4_c     = (1LL << i3_Z4_c)
 * cdef long long b3_XZ3_c    = (1LL << i3_XZ3_c)
 * cdef long long b3_X2Z2_c   = (1LL << i3_X2Z2_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_X3Z_c    = (1LL << i3_X3Z_c)
 * cdef long long b3_X2YZ_c   = (1LL << i3_X2YZ_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X2Z2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X2Z2_c);

  /* "wlsqm/fitter/defs.pyx":275
 * cdef long long b3_XZ3_c    = (1LL << i3_XZ3_c)
 * cdef long long b3_X2Z2_c   = (1LL << i3_X2Z2_c)
 * cdef long long b3_X3Z_c    = (1LL << i3_X3Z_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_X2YZ_c   = (1LL << i3_X2YZ_c)
 * cdef long long b3_XY2Z_c   = (1LL << i3_XY2Z_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X3Z_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X3Z_c);

  /* "wlsqm/fitter/defs.pyx":276
 * cdef long long b3_X2Z2_c   = (1LL << i3_X2Z2_c)
 * cdef long long b3_X3Z_c    = (1LL << i3_X3Z_c)
 * cdef long long b3_X2YZ_c   = (1LL << i3_X2YZ_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XY2Z_c   = (1LL << i3_XY2Z_c)
 * cdef long long b3_XYZ2_c   = (1LL << i3_XYZ2_c)
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_X2YZ_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_X2YZ_c);

  /* "wlsqm/fitter/defs.pyx":277
 * cdef long long b3_X3Z_c    = (1LL << i3_X3Z_c)
 * cdef long long b3_X2YZ_c   = (1LL << i3_X2YZ_c)
 * cdef long long b3_XY2Z_c   = (1LL << i3_XY2Z_c)             # <<<<<<<<<<<<<<
 * cdef long long b3_XYZ2_c   = (1LL << i3_XYZ2_c)
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XY2Z_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XY2Z_c);

  /* "wlsqm/fitter/defs.pyx":278
 * cdef long long b3_X2YZ_c   = (1LL << i3_X2YZ_c)
 * cdef long long b3_XY2Z_c   = (1LL << i3_XY2Z_c)
 * cdef long long b3_XYZ2_c   = (1LL << i3_XYZ2_c)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_5wlsqm_6fitter_4defs_b3_XYZ2_c = (1LL << __pyx_v_5wlsqm_6fitter_4defs_i3_XYZ2_c);

  /* "wlsqm/fitter/defs.pyx":287
 * # Algorithms for the solve step (expert mode).
 * #
 * ALGO_BASIC     = ALGO_BASIC_c             # <<<<<<<<<<<<<<
 * ALGO_ITERATIVE = ALGO_ITERATIVE_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_ALGO_BASIC_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ALGO_BASIC, __pyx_t_1) < 0) __PYX_ERR(0, 287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":288
 * #
 * ALGO_BASIC     = ALGO_BASIC_c
 * ALGO_ITERATIVE = ALGO_ITERATIVE_c             # <<<<<<<<<<<<<<
 * 
 * # Weighting methods.
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_ALGO_ITERATIVE_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ALGO_ITERATIVE, __pyx_t_1) < 0) __PYX_ERR(0, 288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":292
 * # Weighting methods.
 * #
 * WEIGHT_UNIFORM = WEIGHT_UNIFORM_c             # <<<<<<<<<<<<<<
 * WEIGHT_CENTER  = WEIGHT_CENTER_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_WEIGHT_UNIFORM_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_WEIGHT_UNIFORM, __pyx_t_1) < 0) __PYX_ERR(0, 292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":293
 * #
 * WEIGHT_UNIFORM = WEIGHT_UNIFORM_c
 * WEIGHT_CENTER  = WEIGHT_CENTER_c             # <<<<<<<<<<<<<<
 * 
 * # DOF index in the array f.
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_WEIGHT_CENTER_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_WEIGHT_CENTER, __pyx_t_1) < 0) __PYX_ERR(0, 293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":309
 * # 1D case
 * #
 * i1_F  = i1_F_c             # <<<<<<<<<<<<<<
 * i1_X  = i1_X_c
 * i1_X2 = i1_X2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_F_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_F, __pyx_t_1) < 0) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":310
 * #
 * i1_F  = i1_F_c
 * i1_X  = i1_X_c             # <<<<<<<<<<<<<<
 * i1_X2 = i1_X2_c
 * i1_X3 = i1_X3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_X_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_X, __pyx_t_1) < 0) __PYX_ERR(0, 310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":311
 * i1_F  = i1_F_c
 * i1_X  = i1_X_c
 * i1_X2 = i1_X2_c             # <<<<<<<<<<<<<<
 * i1_X3 = i1_X3_c
 * i1_X4 = i1_X4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_X2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_X2, __pyx_t_1) < 0) __PYX_ERR(0, 311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":312
 * i1_X  = i1_X_c
 * i1_X2 = i1_X2_c
 * i1_X3 = i1_X3_c             # <<<<<<<<<<<<<<
 * i1_X4 = i1_X4_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_X3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_X3, __pyx_t_1) < 0) __PYX_ERR(0, 312, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":313
 * i1_X2 = i1_X2_c
 * i1_X3 = i1_X3_c
 * i1_X4 = i1_X4_c             # <<<<<<<<<<<<<<
 * 
 * i1_1st_end = i1_1st_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_X4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_X4, __pyx_t_1) < 0) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":315
 * i1_X4 = i1_X4_c
 * 
 * i1_1st_end = i1_1st_end_c             # <<<<<<<<<<<<<<
 * i1_2nd_end = i1_2nd_end_c
 * i1_3rd_end = i1_3rd_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_1st_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_1st_end, __pyx_t_1) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":316
 * 
 * i1_1st_end = i1_1st_end_c
 * i1_2nd_end = i1_2nd_end_c             # <<<<<<<<<<<<<<
 * i1_3rd_end = i1_3rd_end_c
 * i1_4th_end = i1_4th_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_2nd_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_2nd_end, __pyx_t_1) < 0) __PYX_ERR(0, 316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":317
 * i1_1st_end = i1_1st_end_c
 * i1_2nd_end = i1_2nd_end_c
 * i1_3rd_end = i1_3rd_end_c             # <<<<<<<<<<<<<<
 * i1_4th_end = i1_4th_end_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_3rd_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_3rd_end, __pyx_t_1) < 0) __PYX_ERR(0, 317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":318
 * i1_2nd_end = i1_2nd_end_c
 * i1_3rd_end = i1_3rd_end_c
 * i1_4th_end = i1_4th_end_c             # <<<<<<<<<<<<<<
 * 
 * SIZE1 = SIZE1_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i1_4th_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i1_4th_end, __pyx_t_1) < 0) __PYX_ERR(0, 318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":320
 * i1_4th_end = i1_4th_end_c
 * 
 * SIZE1 = SIZE1_c             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_SIZE1_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIZE1, __pyx_t_1) < 0) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":325
 * # 2D case
 * #
 * i2_F     = i2_F_c             # <<<<<<<<<<<<<<
 * 
 * i2_X     = i2_X_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_F_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_F, __pyx_t_1) < 0) __PYX_ERR(0, 325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":327
 * i2_F     = i2_F_c
 * 
 * i2_X     = i2_X_c             # <<<<<<<<<<<<<<
 * i2_Y     = i2_Y_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_X_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_X, __pyx_t_1) < 0) __PYX_ERR(0, 327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":328
 * 
 * i2_X     = i2_X_c
 * i2_Y     = i2_Y_c             # <<<<<<<<<<<<<<
 * 
 * i2_X2    = i2_X2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_Y, __pyx_t_1) < 0) __PYX_ERR(0, 328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":330
 * i2_Y     = i2_Y_c
 * 
 * i2_X2    = i2_X2_c             # <<<<<<<<<<<<<<
 * i2_XY    = i2_XY_c
 * i2_Y2    = i2_Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_X2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_X2, __pyx_t_1) < 0) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":331
 * 
 * i2_X2    = i2_X2_c
 * i2_XY    = i2_XY_c             # <<<<<<<<<<<<<<
 * i2_Y2    = i2_Y2_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_XY_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_XY, __pyx_t_1) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":332
 * i2_X2    = i2_X2_c
 * i2_XY    = i2_XY_c
 * i2_Y2    = i2_Y2_c             # <<<<<<<<<<<<<<
 * 
 * i2_X3    = i2_X3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_Y2, __pyx_t_1) < 0) __PYX_ERR(0, 332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":334
 * i2_Y2    = i2_Y2_c
 * 
 * i2_X3    = i2_X3_c             # <<<<<<<<<<<<<<
 * i2_X2Y   = i2_X2Y_c
 * i2_XY2   = i2_XY2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_X3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_X3, __pyx_t_1) < 0) __PYX_ERR(0, 334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":335
 * 
 * i2_X3    = i2_X3_c
 * i2_X2Y   = i2_X2Y_c             # <<<<<<<<<<<<<<
 * i2_XY2   = i2_XY2_c
 * i2_Y3    = i2_Y3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_X2Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_X2Y, __pyx_t_1) < 0) __PYX_ERR(0, 335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":336
 * i2_X3    = i2_X3_c
 * i2_X2Y   = i2_X2Y_c
 * i2_XY2   = i2_XY2_c             # <<<<<<<<<<<<<<
 * i2_Y3    = i2_Y3_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_XY2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_XY2, __pyx_t_1) < 0) __PYX_ERR(0, 336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":337
 * i2_X2Y   = i2_X2Y_c
 * i2_XY2   = i2_XY2_c
 * i2_Y3    = i2_Y3_c             # <<<<<<<<<<<<<<
 * 
 * i2_X4    = i2_X4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_Y3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_Y3, __pyx_t_1) < 0) __PYX_ERR(0, 337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":339
 * i2_Y3    = i2_Y3_c
 * 
 * i2_X4    = i2_X4_c             # <<<<<<<<<<<<<<
 * i2_X3Y   = i2_X3Y_c
 * i2_X2Y2  = i2_X2Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_X4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_X4, __pyx_t_1) < 0) __PYX_ERR(0, 339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":340
 * 
 * i2_X4    = i2_X4_c
 * i2_X3Y   = i2_X3Y_c             # <<<<<<<<<<<<<<
 * i2_X2Y2  = i2_X2Y2_c
 * i2_XY3   = i2_XY3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_X3Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_X3Y, __pyx_t_1) < 0) __PYX_ERR(0, 340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":341
 * i2_X4    = i2_X4_c
 * i2_X3Y   = i2_X3Y_c
 * i2_X2Y2  = i2_X2Y2_c             # <<<<<<<<<<<<<<
 * i2_XY3   = i2_XY3_c
 * i2_Y4    = i2_Y4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_X2Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_X2Y2, __pyx_t_1) < 0) __PYX_ERR(0, 341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":342
 * i2_X3Y   = i2_X3Y_c
 * i2_X2Y2  = i2_X2Y2_c
 * i2_XY3   = i2_XY3_c             # <<<<<<<<<<<<<<
 * i2_Y4    = i2_Y4_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_XY3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_XY3, __pyx_t_1) < 0) __PYX_ERR(0, 342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":343
 * i2_X2Y2  = i2_X2Y2_c
 * i2_XY3   = i2_XY3_c
 * i2_Y4    = i2_Y4_c             # <<<<<<<<<<<<<<
 * 
 * i2_1st_end = i2_1st_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_Y4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_Y4, __pyx_t_1) < 0) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":345
 * i2_Y4    = i2_Y4_c
 * 
 * i2_1st_end = i2_1st_end_c             # <<<<<<<<<<<<<<
 * i2_2nd_end = i2_2nd_end_c
 * i2_3rd_end = i2_3rd_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_1st_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_1st_end, __pyx_t_1) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":346
 * 
 * i2_1st_end = i2_1st_end_c
 * i2_2nd_end = i2_2nd_end_c             # <<<<<<<<<<<<<<
 * i2_3rd_end = i2_3rd_end_c
 * i2_4th_end = i2_4th_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_2nd_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_2nd_end, __pyx_t_1) < 0) __PYX_ERR(0, 346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":347
 * i2_1st_end = i2_1st_end_c
 * i2_2nd_end = i2_2nd_end_c
 * i2_3rd_end = i2_3rd_end_c             # <<<<<<<<<<<<<<
 * i2_4th_end = i2_4th_end_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_3rd_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_3rd_end, __pyx_t_1) < 0) __PYX_ERR(0, 347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":348
 * i2_2nd_end = i2_2nd_end_c
 * i2_3rd_end = i2_3rd_end_c
 * i2_4th_end = i2_4th_end_c             # <<<<<<<<<<<<<<
 * 
 * SIZE2 = SIZE2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i2_4th_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i2_4th_end, __pyx_t_1) < 0) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":350
 * i2_4th_end = i2_4th_end_c
 * 
 * SIZE2 = SIZE2_c             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_SIZE2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIZE2, __pyx_t_1) < 0) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":355
 * # 3D case
 * #
 * i3_F      = i3_F_c             # <<<<<<<<<<<<<<
 * 
 * i3_X      = i3_X_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_F_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_F, __pyx_t_1) < 0) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":357
 * i3_F      = i3_F_c
 * 
 * i3_X      = i3_X_c             # <<<<<<<<<<<<<<
 * i3_Y      = i3_Y_c
 * i3_Z      = i3_Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X, __pyx_t_1) < 0) __PYX_ERR(0, 357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":358
 * 
 * i3_X      = i3_X_c
 * i3_Y      = i3_Y_c             # <<<<<<<<<<<<<<
 * i3_Z      = i3_Z_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Y, __pyx_t_1) < 0) __PYX_ERR(0, 358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":359
 * i3_X      = i3_X_c
 * i3_Y      = i3_Y_c
 * i3_Z      = i3_Z_c             # <<<<<<<<<<<<<<
 * 
 * i3_X2     = i3_X2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Z, __pyx_t_1) < 0) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":361
 * i3_Z      = i3_Z_c
 * 
 * i3_X2     = i3_X2_c             # <<<<<<<<<<<<<<
 * i3_XY     = i3_XY_c
 * i3_Y2     = i3_Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X2, __pyx_t_1) < 0) __PYX_ERR(0, 361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":362
 * 
 * i3_X2     = i3_X2_c
 * i3_XY     = i3_XY_c             # <<<<<<<<<<<<<<
 * i3_Y2     = i3_Y2_c
 * i3_YZ     = i3_YZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XY_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XY, __pyx_t_1) < 0) __PYX_ERR(0, 362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":363
 * i3_X2     = i3_X2_c
 * i3_XY     = i3_XY_c
 * i3_Y2     = i3_Y2_c             # <<<<<<<<<<<<<<
 * i3_YZ     = i3_YZ_c
 * i3_Z2     = i3_Z2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Y2, __pyx_t_1) < 0) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":364
 * i3_XY     = i3_XY_c
 * i3_Y2     = i3_Y2_c
 * i3_YZ     = i3_YZ_c             # <<<<<<<<<<<<<<
 * i3_Z2     = i3_Z2_c
 * i3_XZ     = i3_XZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_YZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_YZ, __pyx_t_1) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":365
 * i3_Y2     = i3_Y2_c
 * i3_YZ     = i3_YZ_c
 * i3_Z2     = i3_Z2_c             # <<<<<<<<<<<<<<
 * i3_XZ     = i3_XZ_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Z2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Z2, __pyx_t_1) < 0) __PYX_ERR(0, 365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":366
 * i3_YZ     = i3_YZ_c
 * i3_Z2     = i3_Z2_c
 * i3_XZ     = i3_XZ_c             # <<<<<<<<<<<<<<
 * 
 * i3_X3     = i3_X3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XZ, __pyx_t_1) < 0) __PYX_ERR(0, 366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":368
 * i3_XZ     = i3_XZ_c
 * 
 * i3_X3     = i3_X3_c             # <<<<<<<<<<<<<<
 * i3_X2Y    = i3_X2Y_c
 * i3_XY2    = i3_XY2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X3, __pyx_t_1) < 0) __PYX_ERR(0, 368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":369
 * 
 * i3_X3     = i3_X3_c
 * i3_X2Y    = i3_X2Y_c             # <<<<<<<<<<<<<<
 * i3_XY2    = i3_XY2_c
 * i3_Y3     = i3_Y3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X2Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X2Y, __pyx_t_1) < 0) __PYX_ERR(0, 369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":370
 * i3_X3     = i3_X3_c
 * i3_X2Y    = i3_X2Y_c
 * i3_XY2    = i3_XY2_c             # <<<<<<<<<<<<<<
 * i3_Y3     = i3_Y3_c
 * i3_Y2Z    = i3_Y2Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XY2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XY2, __pyx_t_1) < 0) __PYX_ERR(0, 370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":371
 * i3_X2Y    = i3_X2Y_c
 * i3_XY2    = i3_XY2_c
 * i3_Y3     = i3_Y3_c             # <<<<<<<<<<<<<<
 * i3_Y2Z    = i3_Y2Z_c
 * i3_YZ2    = i3_YZ2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Y3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Y3, __pyx_t_1) < 0) __PYX_ERR(0, 371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":372
 * i3_XY2    = i3_XY2_c
 * i3_Y3     = i3_Y3_c
 * i3_Y2Z    = i3_Y2Z_c             # <<<<<<<<<<<<<<
 * i3_YZ2    = i3_YZ2_c
 * i3_Z3     = i3_Z3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Y2Z, __pyx_t_1) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":373
 * i3_Y3     = i3_Y3_c
 * i3_Y2Z    = i3_Y2Z_c
 * i3_YZ2    = i3_YZ2_c             # <<<<<<<<<<<<<<
 * i3_Z3     = i3_Z3_c
 * i3_XZ2    = i3_XZ2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_YZ2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_YZ2, __pyx_t_1) < 0) __PYX_ERR(0, 373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":374
 * i3_Y2Z    = i3_Y2Z_c
 * i3_YZ2    = i3_YZ2_c
 * i3_Z3     = i3_Z3_c             # <<<<<<<<<<<<<<
 * i3_XZ2    = i3_XZ2_c
 * i3_X2Z    = i3_X2Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Z3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Z3, __pyx_t_1) < 0) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":375
 * i3_YZ2    = i3_YZ2_c
 * i3_Z3     = i3_Z3_c
 * i3_XZ2    = i3_XZ2_c             # <<<<<<<<<<<<<<
 * i3_X2Z    = i3_X2Z_c
 * i3_XYZ    = i3_XYZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XZ2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XZ2, __pyx_t_1) < 0) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":376
 * i3_Z3     = i3_Z3_c
 * i3_XZ2    = i3_XZ2_c
 * i3_X2Z    = i3_X2Z_c             # <<<<<<<<<<<<<<
 * i3_XYZ    = i3_XYZ_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X2Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X2Z, __pyx_t_1) < 0) __PYX_ERR(0, 376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":377
 * i3_XZ2    = i3_XZ2_c
 * i3_X2Z    = i3_X2Z_c
 * i3_XYZ    = i3_XYZ_c             # <<<<<<<<<<<<<<
 * 
 * i3_X4     = i3_X4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XYZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XYZ, __pyx_t_1) < 0) __PYX_ERR(0, 377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":379
 * i3_XYZ    = i3_XYZ_c
 * 
 * i3_X4     = i3_X4_c             # <<<<<<<<<<<<<<
 * i3_X3Y    = i3_X3Y_c
 * i3_X2Y2   = i3_X2Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X4, __pyx_t_1) < 0) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":380
 * 
 * i3_X4     = i3_X4_c
 * i3_X3Y    = i3_X3Y_c             # <<<<<<<<<<<<<<
 * i3_X2Y2   = i3_X2Y2_c
 * i3_XY3    = i3_XY3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X3Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X3Y, __pyx_t_1) < 0) __PYX_ERR(0, 380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":381
 * i3_X4     = i3_X4_c
 * i3_X3Y    = i3_X3Y_c
 * i3_X2Y2   = i3_X2Y2_c             # <<<<<<<<<<<<<<
 * i3_XY3    = i3_XY3_c
 * i3_Y4     = i3_Y4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X2Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X2Y2, __pyx_t_1) < 0) __PYX_ERR(0, 381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":382
 * i3_X3Y    = i3_X3Y_c
 * i3_X2Y2   = i3_X2Y2_c
 * i3_XY3    = i3_XY3_c             # <<<<<<<<<<<<<<
 * i3_Y4     = i3_Y4_c
 * i3_Y3Z    = i3_Y3Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XY3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XY3, __pyx_t_1) < 0) __PYX_ERR(0, 382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":383
 * i3_X2Y2   = i3_X2Y2_c
 * i3_XY3    = i3_XY3_c
 * i3_Y4     = i3_Y4_c             # <<<<<<<<<<<<<<
 * i3_Y3Z    = i3_Y3Z_c
 * i3_Y2Z2   = i3_Y2Z2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Y4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Y4, __pyx_t_1) < 0) __PYX_ERR(0, 383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":384
 * i3_XY3    = i3_XY3_c
 * i3_Y4     = i3_Y4_c
 * i3_Y3Z    = i3_Y3Z_c             # <<<<<<<<<<<<<<
 * i3_Y2Z2   = i3_Y2Z2_c
 * i3_YZ3    = i3_YZ3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Y3Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Y3Z, __pyx_t_1) < 0) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":385
 * i3_Y4     = i3_Y4_c
 * i3_Y3Z    = i3_Y3Z_c
 * i3_Y2Z2   = i3_Y2Z2_c             # <<<<<<<<<<<<<<
 * i3_YZ3    = i3_YZ3_c
 * i3_Z4     = i3_Z4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Y2Z2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Y2Z2, __pyx_t_1) < 0) __PYX_ERR(0, 385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":386
 * i3_Y3Z    = i3_Y3Z_c
 * i3_Y2Z2   = i3_Y2Z2_c
 * i3_YZ3    = i3_YZ3_c             # <<<<<<<<<<<<<<
 * i3_Z4     = i3_Z4_c
 * i3_XZ3    = i3_XZ3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_YZ3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_YZ3, __pyx_t_1) < 0) __PYX_ERR(0, 386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":387
 * i3_Y2Z2   = i3_Y2Z2_c
 * i3_YZ3    = i3_YZ3_c
 * i3_Z4     = i3_Z4_c             # <<<<<<<<<<<<<<
 * i3_XZ3    = i3_XZ3_c
 * i3_X2Z2   = i3_X2Z2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_Z4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_Z4, __pyx_t_1) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":388
 * i3_YZ3    = i3_YZ3_c
 * i3_Z4     = i3_Z4_c
 * i3_XZ3    = i3_XZ3_c             # <<<<<<<<<<<<<<
 * i3_X2Z2   = i3_X2Z2_c
 * i3_X3Z    = i3_X3Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XZ3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XZ3, __pyx_t_1) < 0) __PYX_ERR(0, 388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":389
 * i3_Z4     = i3_Z4_c
 * i3_XZ3    = i3_XZ3_c
 * i3_X2Z2   = i3_X2Z2_c             # <<<<<<<<<<<<<<
 * i3_X3Z    = i3_X3Z_c
 * i3_X2YZ   = i3_X2YZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X2Z2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X2Z2, __pyx_t_1) < 0) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":390
 * i3_XZ3    = i3_XZ3_c
 * i3_X2Z2   = i3_X2Z2_c
 * i3_X3Z    = i3_X3Z_c             # <<<<<<<<<<<<<<
 * i3_X2YZ   = i3_X2YZ_c
 * i3_XY2Z   = i3_XY2Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X3Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X3Z, __pyx_t_1) < 0) __PYX_ERR(0, 390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":391
 * i3_X2Z2   = i3_X2Z2_c
 * i3_X3Z    = i3_X3Z_c
 * i3_X2YZ   = i3_X2YZ_c             # <<<<<<<<<<<<<<
 * i3_XY2Z   = i3_XY2Z_c
 * i3_XYZ2   = i3_XYZ2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_X2YZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_X2YZ, __pyx_t_1) < 0) __PYX_ERR(0, 391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":392
 * i3_X3Z    = i3_X3Z_c
 * i3_X2YZ   = i3_X2YZ_c
 * i3_XY2Z   = i3_XY2Z_c             # <<<<<<<<<<<<<<
 * i3_XYZ2   = i3_XYZ2_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XY2Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XY2Z, __pyx_t_1) < 0) __PYX_ERR(0, 392, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":393
 * i3_X2YZ   = i3_X2YZ_c
 * i3_XY2Z   = i3_XY2Z_c
 * i3_XYZ2   = i3_XYZ2_c             # <<<<<<<<<<<<<<
 * 
 * i3_0th_end = i3_0th_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_XYZ2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_XYZ2, __pyx_t_1) < 0) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":395
 * i3_XYZ2   = i3_XYZ2_c
 * 
 * i3_0th_end = i3_0th_end_c             # <<<<<<<<<<<<<<
 * i3_1st_end = i3_1st_end_c
 * i3_2nd_end = i3_2nd_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_0th_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_0th_end, __pyx_t_1) < 0) __PYX_ERR(0, 395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":396
 * 
 * i3_0th_end = i3_0th_end_c
 * i3_1st_end = i3_1st_end_c             # <<<<<<<<<<<<<<
 * i3_2nd_end = i3_2nd_end_c
 * i3_3rd_end = i3_3rd_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_1st_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_1st_end, __pyx_t_1) < 0) __PYX_ERR(0, 396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":397
 * i3_0th_end = i3_0th_end_c
 * i3_1st_end = i3_1st_end_c
 * i3_2nd_end = i3_2nd_end_c             # <<<<<<<<<<<<<<
 * i3_3rd_end = i3_3rd_end_c
 * i3_4th_end = i3_4th_end_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_2nd_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_2nd_end, __pyx_t_1) < 0) __PYX_ERR(0, 397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":398
 * i3_1st_end = i3_1st_end_c
 * i3_2nd_end = i3_2nd_end_c
 * i3_3rd_end = i3_3rd_end_c             # <<<<<<<<<<<<<<
 * i3_4th_end = i3_4th_end_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_3rd_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_3rd_end, __pyx_t_1) < 0) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":399
 * i3_2nd_end = i3_2nd_end_c
 * i3_3rd_end = i3_3rd_end_c
 * i3_4th_end = i3_4th_end_c             # <<<<<<<<<<<<<<
 * 
 * SIZE3 = SIZE3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_i3_4th_end_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_i3_4th_end, __pyx_t_1) < 0) __PYX_ERR(0, 399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":401
 * i3_4th_end = i3_4th_end_c
 * 
 * SIZE3 = SIZE3_c             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_5wlsqm_6fitter_4defs_SIZE3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIZE3, __pyx_t_1) < 0) __PYX_ERR(0, 401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":431
 * # 1D case
 * #
 * b1_F  = b1_F_c             # <<<<<<<<<<<<<<
 * b1_X  = b1_X_c
 * b1_X2 = b1_X2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b1_F_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b1_F, __pyx_t_1) < 0) __PYX_ERR(0, 431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":432
 * #
 * b1_F  = b1_F_c
 * b1_X  = b1_X_c             # <<<<<<<<<<<<<<
 * b1_X2 = b1_X2_c
 * b1_X3 = b1_X3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b1_X_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b1_X, __pyx_t_1) < 0) __PYX_ERR(0, 432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":433
 * b1_F  = b1_F_c
 * b1_X  = b1_X_c
 * b1_X2 = b1_X2_c             # <<<<<<<<<<<<<<
 * b1_X3 = b1_X3_c
 * b1_X4 = b1_X4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b1_X2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b1_X2, __pyx_t_1) < 0) __PYX_ERR(0, 433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":434
 * b1_X  = b1_X_c
 * b1_X2 = b1_X2_c
 * b1_X3 = b1_X3_c             # <<<<<<<<<<<<<<
 * b1_X4 = b1_X4_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b1_X3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b1_X3, __pyx_t_1) < 0) __PYX_ERR(0, 434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":435
 * b1_X2 = b1_X2_c
 * b1_X3 = b1_X3_c
 * b1_X4 = b1_X4_c             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b1_X4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b1_X4, __pyx_t_1) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":440
 * # 2D case
 * #
 * b2_F     = b2_F_c             # <<<<<<<<<<<<<<
 * 
 * b2_X     = b2_X_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_F_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_F, __pyx_t_1) < 0) __PYX_ERR(0, 440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":442
 * b2_F     = b2_F_c
 * 
 * b2_X     = b2_X_c             # <<<<<<<<<<<<<<
 * b2_Y     = b2_Y_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_X_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_X, __pyx_t_1) < 0) __PYX_ERR(0, 442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":443
 * 
 * b2_X     = b2_X_c
 * b2_Y     = b2_Y_c             # <<<<<<<<<<<<<<
 * 
 * b2_X2    = b2_X2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_Y, __pyx_t_1) < 0) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":445
 * b2_Y     = b2_Y_c
 * 
 * b2_X2    = b2_X2_c             # <<<<<<<<<<<<<<
 * b2_XY    = b2_XY_c
 * b2_Y2    = b2_Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_X2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_X2, __pyx_t_1) < 0) __PYX_ERR(0, 445, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":446
 * 
 * b2_X2    = b2_X2_c
 * b2_XY    = b2_XY_c             # <<<<<<<<<<<<<<
 * b2_Y2    = b2_Y2_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_XY_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_XY, __pyx_t_1) < 0) __PYX_ERR(0, 446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":447
 * b2_X2    = b2_X2_c
 * b2_XY    = b2_XY_c
 * b2_Y2    = b2_Y2_c             # <<<<<<<<<<<<<<
 * 
 * b2_X3    = b2_X3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_Y2, __pyx_t_1) < 0) __PYX_ERR(0, 447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":449
 * b2_Y2    = b2_Y2_c
 * 
 * b2_X3    = b2_X3_c             # <<<<<<<<<<<<<<
 * b2_X2Y   = b2_X2Y_c
 * b2_XY2   = b2_XY2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_X3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_X3, __pyx_t_1) < 0) __PYX_ERR(0, 449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":450
 * 
 * b2_X3    = b2_X3_c
 * b2_X2Y   = b2_X2Y_c             # <<<<<<<<<<<<<<
 * b2_XY2   = b2_XY2_c
 * b2_Y3    = b2_Y3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_X2Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_X2Y, __pyx_t_1) < 0) __PYX_ERR(0, 450, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":451
 * b2_X3    = b2_X3_c
 * b2_X2Y   = b2_X2Y_c
 * b2_XY2   = b2_XY2_c             # <<<<<<<<<<<<<<
 * b2_Y3    = b2_Y3_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_XY2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_XY2, __pyx_t_1) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":452
 * b2_X2Y   = b2_X2Y_c
 * b2_XY2   = b2_XY2_c
 * b2_Y3    = b2_Y3_c             # <<<<<<<<<<<<<<
 * 
 * b2_X4    = b2_X4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_Y3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_Y3, __pyx_t_1) < 0) __PYX_ERR(0, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":454
 * b2_Y3    = b2_Y3_c
 * 
 * b2_X4    = b2_X4_c             # <<<<<<<<<<<<<<
 * b2_X3Y   = b2_X3Y_c
 * b2_X2Y2  = b2_X2Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_X4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_X4, __pyx_t_1) < 0) __PYX_ERR(0, 454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":455
 * 
 * b2_X4    = b2_X4_c
 * b2_X3Y   = b2_X3Y_c             # <<<<<<<<<<<<<<
 * b2_X2Y2  = b2_X2Y2_c
 * b2_XY3   = b2_XY3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_X3Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_X3Y, __pyx_t_1) < 0) __PYX_ERR(0, 455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":456
 * b2_X4    = b2_X4_c
 * b2_X3Y   = b2_X3Y_c
 * b2_X2Y2  = b2_X2Y2_c             # <<<<<<<<<<<<<<
 * b2_XY3   = b2_XY3_c
 * b2_Y4    = b2_Y4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_X2Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_X2Y2, __pyx_t_1) < 0) __PYX_ERR(0, 456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":457
 * b2_X3Y   = b2_X3Y_c
 * b2_X2Y2  = b2_X2Y2_c
 * b2_XY3   = b2_XY3_c             # <<<<<<<<<<<<<<
 * b2_Y4    = b2_Y4_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_XY3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_XY3, __pyx_t_1) < 0) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":458
 * b2_X2Y2  = b2_X2Y2_c
 * b2_XY3   = b2_XY3_c
 * b2_Y4    = b2_Y4_c             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b2_Y4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b2_Y4, __pyx_t_1) < 0) __PYX_ERR(0, 458, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":463
 * # 3D case
 * #
 * b3_F      = b3_F_c             # <<<<<<<<<<<<<<
 * 
 * b3_X      = b3_X_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_F_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_F, __pyx_t_1) < 0) __PYX_ERR(0, 463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":465
 * b3_F      = b3_F_c
 * 
 * b3_X      = b3_X_c             # <<<<<<<<<<<<<<
 * b3_Y      = b3_Y_c
 * b3_Z      = b3_Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X, __pyx_t_1) < 0) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":466
 * 
 * b3_X      = b3_X_c
 * b3_Y      = b3_Y_c             # <<<<<<<<<<<<<<
 * b3_Z      = b3_Z_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Y, __pyx_t_1) < 0) __PYX_ERR(0, 466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":467
 * b3_X      = b3_X_c
 * b3_Y      = b3_Y_c
 * b3_Z      = b3_Z_c             # <<<<<<<<<<<<<<
 * 
 * b3_X2     = b3_X2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Z, __pyx_t_1) < 0) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":469
 * b3_Z      = b3_Z_c
 * 
 * b3_X2     = b3_X2_c             # <<<<<<<<<<<<<<
 * b3_XY     = b3_XY_c
 * b3_Y2     = b3_Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X2, __pyx_t_1) < 0) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":470
 * 
 * b3_X2     = b3_X2_c
 * b3_XY     = b3_XY_c             # <<<<<<<<<<<<<<
 * b3_Y2     = b3_Y2_c
 * b3_YZ     = b3_YZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XY_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XY, __pyx_t_1) < 0) __PYX_ERR(0, 470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":471
 * b3_X2     = b3_X2_c
 * b3_XY     = b3_XY_c
 * b3_Y2     = b3_Y2_c             # <<<<<<<<<<<<<<
 * b3_YZ     = b3_YZ_c
 * b3_Z2     = b3_Z2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Y2, __pyx_t_1) < 0) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":472
 * b3_XY     = b3_XY_c
 * b3_Y2     = b3_Y2_c
 * b3_YZ     = b3_YZ_c             # <<<<<<<<<<<<<<
 * b3_Z2     = b3_Z2_c
 * b3_XZ     = b3_XZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_YZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_YZ, __pyx_t_1) < 0) __PYX_ERR(0, 472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":473
 * b3_Y2     = b3_Y2_c
 * b3_YZ     = b3_YZ_c
 * b3_Z2     = b3_Z2_c             # <<<<<<<<<<<<<<
 * b3_XZ     = b3_XZ_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Z2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Z2, __pyx_t_1) < 0) __PYX_ERR(0, 473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":474
 * b3_YZ     = b3_YZ_c
 * b3_Z2     = b3_Z2_c
 * b3_XZ     = b3_XZ_c             # <<<<<<<<<<<<<<
 * 
 * b3_X3     = b3_X3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XZ, __pyx_t_1) < 0) __PYX_ERR(0, 474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":476
 * b3_XZ     = b3_XZ_c
 * 
 * b3_X3     = b3_X3_c             # <<<<<<<<<<<<<<
 * b3_X2Y    = b3_X2Y_c
 * b3_XY2    = b3_XY2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X3, __pyx_t_1) < 0) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":477
 * 
 * b3_X3     = b3_X3_c
 * b3_X2Y    = b3_X2Y_c             # <<<<<<<<<<<<<<
 * b3_XY2    = b3_XY2_c
 * b3_Y3     = b3_Y3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X2Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X2Y, __pyx_t_1) < 0) __PYX_ERR(0, 477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":478
 * b3_X3     = b3_X3_c
 * b3_X2Y    = b3_X2Y_c
 * b3_XY2    = b3_XY2_c             # <<<<<<<<<<<<<<
 * b3_Y3     = b3_Y3_c
 * b3_Y2Z    = b3_Y2Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XY2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XY2, __pyx_t_1) < 0) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":479
 * b3_X2Y    = b3_X2Y_c
 * b3_XY2    = b3_XY2_c
 * b3_Y3     = b3_Y3_c             # <<<<<<<<<<<<<<
 * b3_Y2Z    = b3_Y2Z_c
 * b3_YZ2    = b3_YZ2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Y3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Y3, __pyx_t_1) < 0) __PYX_ERR(0, 479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":480
 * b3_XY2    = b3_XY2_c
 * b3_Y3     = b3_Y3_c
 * b3_Y2Z    = b3_Y2Z_c             # <<<<<<<<<<<<<<
 * b3_YZ2    = b3_YZ2_c
 * b3_Z3     = b3_Z3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Y2Z, __pyx_t_1) < 0) __PYX_ERR(0, 480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":481
 * b3_Y3     = b3_Y3_c
 * b3_Y2Z    = b3_Y2Z_c
 * b3_YZ2    = b3_YZ2_c             # <<<<<<<<<<<<<<
 * b3_Z3     = b3_Z3_c
 * b3_XZ2    = b3_XZ2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_YZ2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_YZ2, __pyx_t_1) < 0) __PYX_ERR(0, 481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":482
 * b3_Y2Z    = b3_Y2Z_c
 * b3_YZ2    = b3_YZ2_c
 * b3_Z3     = b3_Z3_c             # <<<<<<<<<<<<<<
 * b3_XZ2    = b3_XZ2_c
 * b3_X2Z    = b3_X2Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Z3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Z3, __pyx_t_1) < 0) __PYX_ERR(0, 482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":483
 * b3_YZ2    = b3_YZ2_c
 * b3_Z3     = b3_Z3_c
 * b3_XZ2    = b3_XZ2_c             # <<<<<<<<<<<<<<
 * b3_X2Z    = b3_X2Z_c
 * b3_XYZ    = b3_XYZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XZ2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XZ2, __pyx_t_1) < 0) __PYX_ERR(0, 483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":484
 * b3_Z3     = b3_Z3_c
 * b3_XZ2    = b3_XZ2_c
 * b3_X2Z    = b3_X2Z_c             # <<<<<<<<<<<<<<
 * b3_XYZ    = b3_XYZ_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X2Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X2Z, __pyx_t_1) < 0) __PYX_ERR(0, 484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":485
 * b3_XZ2    = b3_XZ2_c
 * b3_X2Z    = b3_X2Z_c
 * b3_XYZ    = b3_XYZ_c             # <<<<<<<<<<<<<<
 * 
 * b3_X4     = b3_X4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XYZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XYZ, __pyx_t_1) < 0) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":487
 * b3_XYZ    = b3_XYZ_c
 * 
 * b3_X4     = b3_X4_c             # <<<<<<<<<<<<<<
 * b3_X3Y    = b3_X3Y_c
 * b3_X2Y2   = b3_X2Y2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X4, __pyx_t_1) < 0) __PYX_ERR(0, 487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":488
 * 
 * b3_X4     = b3_X4_c
 * b3_X3Y    = b3_X3Y_c             # <<<<<<<<<<<<<<
 * b3_X2Y2   = b3_X2Y2_c
 * b3_XY3    = b3_XY3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X3Y_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X3Y, __pyx_t_1) < 0) __PYX_ERR(0, 488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":489
 * b3_X4     = b3_X4_c
 * b3_X3Y    = b3_X3Y_c
 * b3_X2Y2   = b3_X2Y2_c             # <<<<<<<<<<<<<<
 * b3_XY3    = b3_XY3_c
 * b3_Y4     = b3_Y4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X2Y2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X2Y2, __pyx_t_1) < 0) __PYX_ERR(0, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":490
 * b3_X3Y    = b3_X3Y_c
 * b3_X2Y2   = b3_X2Y2_c
 * b3_XY3    = b3_XY3_c             # <<<<<<<<<<<<<<
 * b3_Y4     = b3_Y4_c
 * b3_Y3Z    = b3_Y3Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XY3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XY3, __pyx_t_1) < 0) __PYX_ERR(0, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":491
 * b3_X2Y2   = b3_X2Y2_c
 * b3_XY3    = b3_XY3_c
 * b3_Y4     = b3_Y4_c             # <<<<<<<<<<<<<<
 * b3_Y3Z    = b3_Y3Z_c
 * b3_Y2Z2   = b3_Y2Z2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Y4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Y4, __pyx_t_1) < 0) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":492
 * b3_XY3    = b3_XY3_c
 * b3_Y4     = b3_Y4_c
 * b3_Y3Z    = b3_Y3Z_c             # <<<<<<<<<<<<<<
 * b3_Y2Z2   = b3_Y2Z2_c
 * b3_YZ3    = b3_YZ3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Y3Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Y3Z, __pyx_t_1) < 0) __PYX_ERR(0, 492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":493
 * b3_Y4     = b3_Y4_c
 * b3_Y3Z    = b3_Y3Z_c
 * b3_Y2Z2   = b3_Y2Z2_c             # <<<<<<<<<<<<<<
 * b3_YZ3    = b3_YZ3_c
 * b3_Z4     = b3_Z4_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Y2Z2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Y2Z2, __pyx_t_1) < 0) __PYX_ERR(0, 493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":494
 * b3_Y3Z    = b3_Y3Z_c
 * b3_Y2Z2   = b3_Y2Z2_c
 * b3_YZ3    = b3_YZ3_c             # <<<<<<<<<<<<<<
 * b3_Z4     = b3_Z4_c
 * b3_XZ3    = b3_XZ3_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_YZ3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_YZ3, __pyx_t_1) < 0) __PYX_ERR(0, 494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":495
 * b3_Y2Z2   = b3_Y2Z2_c
 * b3_YZ3    = b3_YZ3_c
 * b3_Z4     = b3_Z4_c             # <<<<<<<<<<<<<<
 * b3_XZ3    = b3_XZ3_c
 * b3_X2Z2   = b3_X2Z2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_Z4_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_Z4, __pyx_t_1) < 0) __PYX_ERR(0, 495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":496
 * b3_YZ3    = b3_YZ3_c
 * b3_Z4     = b3_Z4_c
 * b3_XZ3    = b3_XZ3_c             # <<<<<<<<<<<<<<
 * b3_X2Z2   = b3_X2Z2_c
 * b3_X3Z    = b3_X3Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XZ3_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XZ3, __pyx_t_1) < 0) __PYX_ERR(0, 496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":497
 * b3_Z4     = b3_Z4_c
 * b3_XZ3    = b3_XZ3_c
 * b3_X2Z2   = b3_X2Z2_c             # <<<<<<<<<<<<<<
 * b3_X3Z    = b3_X3Z_c
 * b3_X2YZ   = b3_X2YZ_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X2Z2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X2Z2, __pyx_t_1) < 0) __PYX_ERR(0, 497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":498
 * b3_XZ3    = b3_XZ3_c
 * b3_X2Z2   = b3_X2Z2_c
 * b3_X3Z    = b3_X3Z_c             # <<<<<<<<<<<<<<
 * b3_X2YZ   = b3_X2YZ_c
 * b3_XY2Z   = b3_XY2Z_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X3Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X3Z, __pyx_t_1) < 0) __PYX_ERR(0, 498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":499
 * b3_X2Z2   = b3_X2Z2_c
 * b3_X3Z    = b3_X3Z_c
 * b3_X2YZ   = b3_X2YZ_c             # <<<<<<<<<<<<<<
 * b3_XY2Z   = b3_XY2Z_c
 * b3_XYZ2   = b3_XYZ2_c
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_X2YZ_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_X2YZ, __pyx_t_1) < 0) __PYX_ERR(0, 499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":500
 * b3_X3Z    = b3_X3Z_c
 * b3_X2YZ   = b3_X2YZ_c
 * b3_XY2Z   = b3_XY2Z_c             # <<<<<<<<<<<<<<
 * b3_XYZ2   = b3_XYZ2_c
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XY2Z_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XY2Z, __pyx_t_1) < 0) __PYX_ERR(0, 500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":501
 * b3_X2YZ   = b3_X2YZ_c
 * b3_XY2Z   = b3_XY2Z_c
 * b3_XYZ2   = b3_XYZ2_c             # <<<<<<<<<<<<<<
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_5wlsqm_6fitter_4defs_b3_XYZ2_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_b3_XYZ2, __pyx_t_1) < 0) __PYX_ERR(0, 501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "wlsqm/fitter/defs.pyx":1
 * # -*- coding: utf-8 -*-             # <<<<<<<<<<<<<<
 * #
 * # Set Cython compiler directives. This section must appear before any code!
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  if (__pyx_m) {
    if (__pyx_d) {
      __Pyx_AddTraceback("init wlsqm.fitter.defs", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    Py_DECREF(__pyx_m); __pyx_m = 0;
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init wlsqm.fitter.defs");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if PY_MAJOR_VERSION < 3
  return;
  #else
  return __pyx_m;
  #endif
}

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule((char *)modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* CodeObjectCache */
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = start + (end - start) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_code_cache.count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}

/* AddTraceback */
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    #if PY_MAJOR_VERSION < 3
    py_srcfile = PyString_FromString(filename);
    #else
    py_srcfile = PyUnicode_FromString(filename);
    #endif
    if (!py_srcfile) goto bad;
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        #else
        py_funcname = PyUnicode_FromString(funcname);
        #endif
    }
    if (!py_funcname) goto bad;
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    Py_DECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_srcfile);
    Py_XDECREF(py_funcname);
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
    if (!py_code) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        PyThreadState_GET(), /*PyThreadState *tstate,*/
        py_code,             /*PyCodeObject *code,*/
        __pyx_d,      /*PyObject *globals,*/
        0                    /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
    const int neg_one = (int) -1, const_zero = (int) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value) {
    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(PY_LONG_LONG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(PY_LONG_LONG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(PY_LONG_LONG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(PY_LONG_LONG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
    const long neg_one = (long) -1, const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(long) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
    }
}

/* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
    {\
        func_type value = func_value;\
        if (sizeof(target_type) < sizeof(func_type)) {\
            if (unlikely(value != (func_type) (target_type) value)) {\
                func_type zero = 0;\
                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                    return (target_type) -1;\
                if (is_unsigned && unlikely(value < zero))\
                    goto raise_neg_overflow;\
                else\
                    goto raise_overflow;\
            }\
        }\
        return (target_type) value;\
    }

/* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
    const long neg_one = (long) -1, const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(long) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (long) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
                case 2:
                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (long) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(long) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(long) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            long val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (long) -1;
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyInt_As_long(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to long");
    return (long) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to long");
    return (long) -1;
}

/* CIntFromPy */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
    const int neg_one = (int) -1, const_zero = (int) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
                case 2:
                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (int) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(int) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(int) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int) -1;
        }
    } else {
        int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyInt_As_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int");
    return (int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int");
    return (int) -1;
}

/* CheckBinaryVersion */
static int __Pyx_check_binary_version(void) {
    char ctversion[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        return PyErr_WarnEx(NULL, message, 1);
    }
    return 0;
}

/* VoidPtrExport */
static int __Pyx_ExportVoidPtr(PyObject *name, void *p, const char *sig) {
    PyObject *d;
    PyObject *cobj = 0;
    d = PyDict_GetItem(__pyx_d, __pyx_n_s_pyx_capi);
    Py_XINCREF(d);
    if (!d) {
        d = PyDict_New();
        if (!d)
            goto bad;
        if (__Pyx_PyObject_SetAttrStr(__pyx_m, __pyx_n_s_pyx_capi, d) < 0)
            goto bad;
    }
#if PY_VERSION_HEX >= 0x02070000
    cobj = PyCapsule_New(p, sig, 0);
#else
    cobj = PyCObject_FromVoidPtrAndDesc(p, (void *)sig, 0);
#endif
    if (!cobj)
        goto bad;
    if (PyDict_SetItem(d, name, cobj) < 0)
        goto bad;
    Py_DECREF(cobj);
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(cobj);
    Py_XDECREF(d);
    return -1;
}

/* InitStrings */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        #else
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        ++t;
    }
    return 0;
}

static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
}
static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if CYTHON_COMPILING_IN_CPYTHON && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
#if PY_VERSION_HEX < 0x03030000
        char* defenc_c;
        PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
        if (!defenc) return NULL;
        defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        {
            char* end = defenc_c + PyBytes_GET_SIZE(defenc);
            char* c;
            for (c = defenc_c; c < end; c++) {
                if ((unsigned char) (*c) >= 128) {
                    PyUnicode_AsASCIIString(o);
                    return NULL;
                }
            }
        }
#endif
        *length = PyBytes_GET_SIZE(defenc);
        return defenc_c;
#else
        if (__Pyx_PyUnicode_READY(o) == -1) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        if (PyUnicode_IS_ASCII(o)) {
            *length = PyUnicode_GET_LENGTH(o);
            return PyUnicode_AsUTF8(o);
        } else {
            PyUnicode_AsASCIIString(o);
            return NULL;
        }
#else
        return PyUnicode_AsUTF8AndSize(o, length);
#endif
#endif
    } else
#endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    if (PyByteArray_Check(o)) {
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
    } else
#endif
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
  if (PyInt_Check(x) || PyLong_Check(x))
#else
  if (PyLong_Check(x))
#endif
    return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  #if PY_MAJOR_VERSION < 3
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = PyNumber_Long(x);
  }
  #else
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Long(x);
  }
  #endif
#else
  res = PyNumber_Int(x);
#endif
  if (res) {
#if PY_MAJOR_VERSION < 3
    if (!PyInt_Check(res) && !PyLong_Check(res)) {
#else
    if (!PyLong_Check(res)) {
#endif
      PyErr_Format(PyExc_TypeError,
                   "__%.4s__ returned non-%.4s (type %.200s)",
                   name, name, Py_TYPE(res)->tp_name);
      Py_DECREF(res);
      return NULL;
    }
  }
  else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_TypeError,
                    "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_CheckExact(b))) {
    if (sizeof(Py_ssize_t) >= sizeof(long))
        return PyInt_AS_LONG(b);
    else
        return PyInt_AsSsize_t(x);
  }
#endif
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    const digit* digits = ((PyLongObject*)b)->ob_digit;
    const Py_ssize_t size = Py_SIZE(b);
    if (likely(__Pyx_sst_abs(size) <= 1)) {
        ival = likely(size) ? digits[0] : 0;
        if (size == -1) ival = -ival;
        return ival;
    } else {
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
    return PyInt_FromSize_t(ival);
}


#endif /* Py_PYTHON_H */
