From b8a7f94e2c292ce7ba1710c3b4041ffadd565333 Mon Sep 17 00:00:00 2001 From: Simon Clark Date: Wed, 2 Sep 2020 21:26:31 +0100 Subject: [PATCH] Cythonised all the things! Used cython to improve speed by factor of 10, fixed bug in advection, decamped functions to claude libraries --- .../claude_low_level_library.cpython-38.pyc | Bin 0 -> 2403 bytes .../claude_top_level_library.cpython-38.pyc | Bin 0 -> 3431 bytes ...laude_low_level_library.cp38-win_amd64.pyd | Bin 0 -> 78848 bytes ...laude_top_level_library.cp38-win_amd64.pyd | Bin 0 -> 109568 bytes ...laude_low_level_library.cp38-win_amd64.exp | Bin 0 -> 797 bytes ...laude_low_level_library.cp38-win_amd64.lib | Bin 0 -> 2304 bytes .../Release/claude_low_level_library.obj | Bin 0 -> 543443 bytes ...laude_top_level_library.cp38-win_amd64.exp | Bin 0 -> 797 bytes ...laude_top_level_library.cp38-win_amd64.lib | Bin 0 -> 2304 bytes .../Release/claude_top_level_library.obj | Bin 0 -> 635809 bytes claude_low_level_library.c | 11069 ++++++++++++++ claude_low_level_library.cp38-win_amd64.pyd | Bin 0 -> 78848 bytes claude_low_level_library.py | 84 + claude_low_level_library.pyx | 89 + claude_setup.py | 8 + claude_top_level_library.c | 12405 ++++++++++++++++ claude_top_level_library.cp38-win_amd64.pyd | Bin 0 -> 109568 bytes claude_top_level_library.py | 101 + claude_top_level_library.pyx | 110 + save_file.p | Bin 3045547 -> 3045547 bytes toy_model.py | 310 +- 21 files changed, 23947 insertions(+), 229 deletions(-) create mode 100644 __pycache__/claude_low_level_library.cpython-38.pyc create mode 100644 __pycache__/claude_top_level_library.cpython-38.pyc create mode 100644 build/lib.win-amd64-3.8/claude_low_level_library.cp38-win_amd64.pyd create mode 100644 build/lib.win-amd64-3.8/claude_top_level_library.cp38-win_amd64.pyd create mode 100644 build/temp.win-amd64-3.8/Release/claude_low_level_library.cp38-win_amd64.exp create mode 100644 build/temp.win-amd64-3.8/Release/claude_low_level_library.cp38-win_amd64.lib create mode 100644 build/temp.win-amd64-3.8/Release/claude_low_level_library.obj create mode 100644 build/temp.win-amd64-3.8/Release/claude_top_level_library.cp38-win_amd64.exp create mode 100644 build/temp.win-amd64-3.8/Release/claude_top_level_library.cp38-win_amd64.lib create mode 100644 build/temp.win-amd64-3.8/Release/claude_top_level_library.obj create mode 100644 claude_low_level_library.c create mode 100644 claude_low_level_library.cp38-win_amd64.pyd create mode 100644 claude_low_level_library.py create mode 100644 claude_low_level_library.pyx create mode 100644 claude_setup.py create mode 100644 claude_top_level_library.c create mode 100644 claude_top_level_library.cp38-win_amd64.pyd create mode 100644 claude_top_level_library.py create mode 100644 claude_top_level_library.pyx diff --git a/__pycache__/claude_low_level_library.cpython-38.pyc b/__pycache__/claude_low_level_library.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e57e31c85ebc2810143bb6044f850d87a7699f4 GIT binary patch literal 2403 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 Xn#f5Uev9xrrJTfqj=$>H{m=amoB1hH literal 0 HcmV?d00001 diff --git a/build/lib.win-amd64-3.8/claude_low_level_library.cp38-win_amd64.pyd b/build/lib.win-amd64-3.8/claude_low_level_library.cp38-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..0507f3224e2ece792eaae0560d25059cfcecee7c GIT binary patch literal 78848 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 literal 0 HcmV?d00001 diff --git a/build/temp.win-amd64-3.8/Release/claude_low_level_library.cp38-win_amd64.exp b/build/temp.win-amd64-3.8/Release/claude_low_level_library.cp38-win_amd64.exp new file mode 100644 index 0000000000000000000000000000000000000000..0248e1138e61aabeab6727738aae1759be2989fd GIT binary patch literal 797 zcmah{+e*Vg5S`Xb6-4a2NFIt*w4q**DhfqKEov2u`mz|d*|jWgE@Tti`XKn?2l!=v zgMZ);sI%Kds~`@U+hH;@J2UJl5A*M*&Q%^@5(Z>*Mq`>fs2-3R@@oo>qpss;Gu}=* zrB({VMh;*Od6?=jv!i`oBg1t_#u@fgyOJi1J2L1xlHYOZNYRdH)VJMmwN~j0-=Q8` zU$etLgR_3a7qRo#FEE9vM-0!R95t4Oa?DsIl=?j*P)0dntR<8MW9jHO>#;6%7lpn{v& zDxWV{$BpI@Ji>Mn+%ALNO>&`lq=*t;;FG<;O+4<$iX4deFlnb90Pk@fdKLwphlEDX*3B24#rHR@NaFM4d$U%)T{e%=yf;1 z`3QzD$$fn2@eUuA&Vb0!`QY^-qVAj2!zwH24Pv5Bc!!QzPKFGk^pY~9dm7<=R=9~IL0&v4YPW!HRVAs{=Zjz0yrV9-2eap literal 0 HcmV?d00001 diff --git a/build/temp.win-amd64-3.8/Release/claude_low_level_library.cp38-win_amd64.lib b/build/temp.win-amd64-3.8/Release/claude_low_level_library.cp38-win_amd64.lib new file mode 100644 index 0000000000000000000000000000000000000000..1b3a24df95ad1cca2b3a35e2cc3a56fb68daa930 GIT binary patch literal 2304 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 z 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 S*MPA44xFAl{B-_L9{xY|IYqhv literal 0 HcmV?d00001 diff --git a/build/temp.win-amd64-3.8/Release/claude_top_level_library.cp38-win_amd64.exp b/build/temp.win-amd64-3.8/Release/claude_top_level_library.cp38-win_amd64.exp new file mode 100644 index 0000000000000000000000000000000000000000..3c3e1bfb98a702cd419c12b6f71689c4f1242a32 GIT binary patch literal 797 zcmah{OH0E*5T4dIh}gSG4n->3P#;JYg`%PswTeZ(EQW1%EsL9n*~GRU1TX#of0@6* zf8brv*=?d#5Qog`V=^;4Gwdl3x9=y;WgcJx`ebuPW12ds9*`OGYYL5`uHk1h-b&iV zW(vc44qz5}kZLf!t$kf1!*xi;8TM1Vk|vBhaS%F^-*M?k(TZr)v)yo|TJ8wnp&naX zwZk5R(_Y;dvGdn2Fo~&$49}n(HkO5Q#8^d?`aMHXLOE`%MU-R4($R0oWo)+zxdNKd zN`z!2=3Z!HBW2S_dBv`hGcGw*ocz_v@8)?ogaz0vjA7Xqo!QV7%I7P9W8p@D3a(?T zbT)4t)fREe2 za%Gje)wOx@o&7?ngi5O!Crkv^(yCn{7dvFT-XIv*A2X4{zp-^Tn1gCTukOF0*W3W- zBN)CU_wk{}J9tz&10nOt;86jUX5$gM2!k`StulGwptSj6bPjUFCDfl+D)LWxYcm-){`gx zqF%gk^6DSq(VM2ex6DvbTXvh+ILYjr_x8=3H{X8qX74<<2JOA4iL^G~R&&K-W^K(V z6zA<3sp{Fh9JLYvE&_XJw=0!D1K?x82$T8Em)q5{*jR6_qdqL{JKm`Y z(27pa6^pz=<7AxR6epm@QNSa##!G;`>;s25B8bv679huefM~FdpBwk|Z;&lwmSHHy zwGsipb;=#uNGoc}>5JCM>#I`++lMi{{ZSL;2=SJ_61SAy**$o(vNh2Fiw2*RBBhDs zvy@|7p0%Q@S2t9hy^cm3C%cCT??tCXr``F>7ZC5;p14x%EDlJq2|(kMh0Fx&l} zOM4ydL?Xw>vk@s2(VV-2%mn=H?kS58&Lj`%W3UfR!qg{sVqrUJ)5g((S5uwW8j<#Y z6{18~rs@TKhN)4Xsb6VZlkNVUsZ@aH+6+^(>IF0Pvr?pFrgGd1XJ8QC+@i!zy%@rx zn$4+#(MqWE|C1It3)M5ue@+7E*AG7bv(1F5&cC7TTxY&3MN0O&aP)&9|AZ1e{|%sk gmMmUWnTzVm)cD_mi->*5)w$xM6km8thACIS08^6*Z2$lO literal 0 HcmV?d00001 diff --git a/build/temp.win-amd64-3.8/Release/claude_top_level_library.obj b/build/temp.win-amd64-3.8/Release/claude_top_level_library.obj new file mode 100644 index 0000000000000000000000000000000000000000..53d2f231fdbe17783b5b3da6a4f9813740ef24c7 GIT binary patch literal 635809 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

7;2FP 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 +#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 +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if 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_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #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 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 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_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #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 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 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_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 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 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #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 + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#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 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) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#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 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" +#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2 + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#else + #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) +#endif + #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_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#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 | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#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_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(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 +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #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 +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#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) + #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #endif +#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 +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? 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 +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#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 +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#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) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(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 + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include +#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_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__claude_low_level_library +#define __PYX_HAVE_API__claude_low_level_library +/* Early includes */ +#include +#include +#include "numpy/arrayobject.h" +#include "numpy/ufuncobject.h" +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_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_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#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))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #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) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_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 const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const 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_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const 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) +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); +} +#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) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +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) + 1); + 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 CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +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; + +/* Header.proto */ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + + +static const char *__pyx_f[] = { + "claude_low_level_library.pyx", + "__init__.pxd", + "type.pxd", +}; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":775 + * # in Cython to enable them only on the right systems. + * + * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + */ +typedef npy_int8 __pyx_t_5numpy_int8_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":776 + * + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t + */ +typedef npy_int16 __pyx_t_5numpy_int16_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":777 + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< + * ctypedef npy_int64 int64_t + * #ctypedef npy_int96 int96_t + */ +typedef npy_int32 __pyx_t_5numpy_int32_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":778 + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< + * #ctypedef npy_int96 int96_t + * #ctypedef npy_int128 int128_t + */ +typedef npy_int64 __pyx_t_5numpy_int64_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":782 + * #ctypedef npy_int128 int128_t + * + * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + */ +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":783 + * + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t + */ +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":784 + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< + * ctypedef npy_uint64 uint64_t + * #ctypedef npy_uint96 uint96_t + */ +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":785 + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< + * #ctypedef npy_uint96 uint96_t + * #ctypedef npy_uint128 uint128_t + */ +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":789 + * #ctypedef npy_uint128 uint128_t + * + * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< + * ctypedef npy_float64 float64_t + * #ctypedef npy_float80 float80_t + */ +typedef npy_float32 __pyx_t_5numpy_float32_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":790 + * + * ctypedef npy_float32 float32_t + * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< + * #ctypedef npy_float80 float80_t + * #ctypedef npy_float128 float128_t + */ +typedef npy_float64 __pyx_t_5numpy_float64_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":799 + * # The int types are mapped a bit surprising -- + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t + */ +typedef npy_long __pyx_t_5numpy_int_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":800 + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong longlong_t + * + */ +typedef npy_longlong __pyx_t_5numpy_long_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":801 + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_ulong uint_t + */ +typedef npy_longlong __pyx_t_5numpy_longlong_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":803 + * ctypedef npy_longlong longlong_t + * + * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t + */ +typedef npy_ulong __pyx_t_5numpy_uint_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":804 + * + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulonglong_t + * + */ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":805 + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_intp intp_t + */ +typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":807 + * ctypedef npy_ulonglong ulonglong_t + * + * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< + * ctypedef npy_uintp uintp_t + * + */ +typedef npy_intp __pyx_t_5numpy_intp_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":808 + * + * ctypedef npy_intp intp_t + * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< + * + * ctypedef npy_double float_t + */ +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":810 + * ctypedef npy_uintp uintp_t + * + * ctypedef npy_double float_t # <<<<<<<<<<<<<< + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t + */ +typedef npy_double __pyx_t_5numpy_float_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":811 + * + * ctypedef npy_double float_t + * ctypedef npy_double double_t # <<<<<<<<<<<<<< + * ctypedef npy_longdouble longdouble_t + * + */ +typedef npy_double __pyx_t_5numpy_double_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":812 + * ctypedef npy_double float_t + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cfloat cfloat_t + */ +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; + +/* "claude_low_level_library.pyx":7 + * cimport cython + * + * ctypedef np.float64_t DTYPE_f # <<<<<<<<<<<<<< + * cdef float inv_180 = np.pi/180 + * cdef float inv_90 = np.pi/90 + */ +typedef __pyx_t_5numpy_float64_t __pyx_t_24claude_low_level_library_DTYPE_f; +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + + +/*--- Type declarations ---*/ + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":814 + * ctypedef npy_longdouble longdouble_t + * + * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t + */ +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":815 + * + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< + * ctypedef npy_clongdouble clongdouble_t + * + */ +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":816 + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cdouble complex_t + */ +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":818 + * ctypedef npy_clongdouble clongdouble_t + * + * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew1(a): + */ +typedef npy_cdouble __pyx_t_5numpy_complex_t; + +/* --- 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) + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* None.proto */ +static CYTHON_INLINE __pyx_t_5numpy_int_t __Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_5numpy_int_t, __pyx_t_5numpy_int_t); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) +#endif + +/* PyIntCompare.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddCObj(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* None.proto */ +static CYTHON_INLINE __pyx_t_24claude_low_level_library_DTYPE_f __Pyx_mod___pyx_t_24claude_low_level_library_DTYPE_f(__pyx_t_24claude_low_level_library_DTYPE_f, __pyx_t_24claude_low_level_library_DTYPE_f); + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* DictGetItem.proto */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); +#define __Pyx_PyObject_Dict_GetItem(obj, name)\ + (likely(PyDict_CheckExact(obj)) ?\ + __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) +#else +#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) +#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) +#endif + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* RaiseNoneIterError.proto */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* 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_npy_long(npy_long value); + +/* RealImag.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif +#if defined(__cplusplus) && CYTHON_CCOMPLEX\ + && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_float(a, b) ((a)==(b)) + #define __Pyx_c_sum_float(a, b) ((a)+(b)) + #define __Pyx_c_diff_float(a, b) ((a)-(b)) + #define __Pyx_c_prod_float(a, b) ((a)*(b)) + #define __Pyx_c_quot_float(a, b) ((a)/(b)) + #define __Pyx_c_neg_float(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_float(z) ((z)==(float)0) + #define __Pyx_c_conj_float(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_float(z) (::std::abs(z)) + #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_float(z) ((z)==0) + #define __Pyx_c_conj_float(z) (conjf(z)) + #if 1 + #define __Pyx_c_abs_float(z) (cabsf(z)) + #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); + #endif +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_double(a, b) ((a)==(b)) + #define __Pyx_c_sum_double(a, b) ((a)+(b)) + #define __Pyx_c_diff_double(a, b) ((a)-(b)) + #define __Pyx_c_prod_double(a, b) ((a)*(b)) + #define __Pyx_c_quot_double(a, b) ((a)/(b)) + #define __Pyx_c_neg_double(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_double(z) ((z)==(double)0) + #define __Pyx_c_conj_double(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (::std::abs(z)) + #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_double(z) ((z)==0) + #define __Pyx_c_conj_double(z) (conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (cabs(z)) + #define __Pyx_c_pow_double(a, b) (cpow(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); + #endif +#endif + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'numpy' */ + +/* Module declarations from 'numpy' */ +static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; +static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ + +/* Module declarations from 'cython' */ + +/* Module declarations from 'claude_low_level_library' */ +static float __pyx_v_24claude_low_level_library_inv_180; +static float __pyx_v_24claude_low_level_library_inv_90; +#define __Pyx_MODULE_NAME "claude_low_level_library" +extern int __pyx_module_is_main_claude_low_level_library; +int __pyx_module_is_main_claude_low_level_library = 0; + +/* Implementation of 'claude_low_level_library' */ +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_RuntimeError; +static PyObject *__pyx_builtin_ImportError; +static const char __pyx_k_a[] = "a"; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_j[] = "j"; +static const char __pyx_k_k[] = "k"; +static const char __pyx_k_t[] = "t"; +static const char __pyx_k_dx[] = "dx"; +static const char __pyx_k_dy[] = "dy"; +static const char __pyx_k_dz[] = "dz"; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_pi[] = "pi"; +static const char __pyx_k_cos[] = "cos"; +static const char __pyx_k_day[] = "day"; +static const char __pyx_k_lat[] = "lat"; +static const char __pyx_k_lon[] = "lon"; +static const char __pyx_k_axis[] = "axis"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_mean[] = "mean"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_nlat[] = "nlat"; +static const char __pyx_k_nlon[] = "nlon"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_year[] = "year"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_sigma[] = "sigma"; +static const char __pyx_k_solar[] = "solar"; +static const char __pyx_k_value[] = "value"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_output[] = "output"; +static const char __pyx_k_cos_lon[] = "cos_lon"; +static const char __pyx_k_nlevels[] = "nlevels"; +static const char __pyx_k_profile[] = "profile"; +static const char __pyx_k_lon_diff[] = "lon_diff"; +static const char __pyx_k_ValueError[] = "ValueError"; +static const char __pyx_k_axial_tilt[] = "axial_tilt"; +static const char __pyx_k_insolation[] = "insolation"; +static const char __pyx_k_zeros_like[] = "zeros_like"; +static const char __pyx_k_ImportError[] = "ImportError"; +static const char __pyx_k_RuntimeError[] = "RuntimeError"; +static const char __pyx_k_sun_latitude[] = "sun_latitude"; +static const char __pyx_k_sun_longitude[] = "sun_longitude"; +static const char __pyx_k_scalar_gradient_x[] = "scalar_gradient_x"; +static const char __pyx_k_scalar_gradient_y[] = "scalar_gradient_y"; +static const char __pyx_k_scalar_gradient_z[] = "scalar_gradient_z"; +static const char __pyx_k_thermal_radiation[] = "thermal_radiation"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_scalar_gradient_x_2D[] = "scalar_gradient_x_2D"; +static const char __pyx_k_scalar_gradient_y_2d[] = "scalar_gradient_y_2d"; +static const char __pyx_k_scalar_gradient_z_1D[] = "scalar_gradient_z_1D"; +static const char __pyx_k_surface_optical_depth[] = "surface_optical_depth"; +static const char __pyx_k_claude_low_level_library[] = "claude_low_level_library"; +static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; +static const char __pyx_k_claude_low_level_library_pyx[] = "claude_low_level_library.pyx"; +static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; +static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; +static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; +static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; +static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; +static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; +static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; +static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; +static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; +static PyObject *__pyx_n_s_ImportError; +static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor; +static PyObject *__pyx_n_s_RuntimeError; +static PyObject *__pyx_n_s_ValueError; +static PyObject *__pyx_n_s_a; +static PyObject *__pyx_n_s_axial_tilt; +static PyObject *__pyx_n_s_axis; +static PyObject *__pyx_n_s_claude_low_level_library; +static PyObject *__pyx_kp_s_claude_low_level_library_pyx; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_cos; +static PyObject *__pyx_n_s_cos_lon; +static PyObject *__pyx_n_s_day; +static PyObject *__pyx_n_s_dx; +static PyObject *__pyx_n_s_dy; +static PyObject *__pyx_n_s_dz; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_insolation; +static PyObject *__pyx_n_s_j; +static PyObject *__pyx_n_s_k; +static PyObject *__pyx_n_s_lat; +static PyObject *__pyx_n_s_lon; +static PyObject *__pyx_n_s_lon_diff; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_mean; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous; +static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; +static PyObject *__pyx_n_s_nlat; +static PyObject *__pyx_n_s_nlevels; +static PyObject *__pyx_n_s_nlon; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; +static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; +static PyObject *__pyx_n_s_output; +static PyObject *__pyx_n_s_pi; +static PyObject *__pyx_n_s_profile; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_scalar_gradient_x; +static PyObject *__pyx_n_s_scalar_gradient_x_2D; +static PyObject *__pyx_n_s_scalar_gradient_y; +static PyObject *__pyx_n_s_scalar_gradient_y_2d; +static PyObject *__pyx_n_s_scalar_gradient_z; +static PyObject *__pyx_n_s_scalar_gradient_z_1D; +static PyObject *__pyx_n_s_sigma; +static PyObject *__pyx_n_s_solar; +static PyObject *__pyx_n_s_sun_latitude; +static PyObject *__pyx_n_s_sun_longitude; +static PyObject *__pyx_n_s_surface_optical_depth; +static PyObject *__pyx_n_s_t; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_thermal_radiation; +static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd; +static PyObject *__pyx_n_s_value; +static PyObject *__pyx_n_s_year; +static PyObject *__pyx_n_s_zeros_like; +static PyObject *__pyx_pf_24claude_low_level_library_scalar_gradient_x(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_5numpy_int_t __pyx_v_nlon, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_2scalar_gradient_x_2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_dx, PyObject *__pyx_v_nlon, PyObject *__pyx_v_i, PyObject *__pyx_v_j); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_4scalar_gradient_y(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy, __pyx_t_5numpy_int_t __pyx_v_nlat, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_6scalar_gradient_y_2d(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_dy, PyObject *__pyx_v_nlat, PyObject *__pyx_v_i, PyObject *__pyx_v_j); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_8scalar_gradient_z(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_dz, PyObject *__pyx_v_i, PyObject *__pyx_v_j, PyObject *__pyx_v_k); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_10scalar_gradient_z_1D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dz, CYTHON_UNUSED __pyx_t_5numpy_int_t __pyx_v_i, CYTHON_UNUSED __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_12surface_optical_depth(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_14thermal_radiation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_a); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_16solar(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_insolation, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lon, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_axial_tilt); /* proto */ +static PyObject *__pyx_pf_24claude_low_level_library_18profile(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a); /* proto */ +static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */ +static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */ +static PyObject *__pyx_float_2_5; +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_90; +static PyObject *__pyx_int_180; +static PyObject *__pyx_tuple_; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_tuple__3; +static PyObject *__pyx_tuple__4; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__7; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__10; +static PyObject *__pyx_tuple__12; +static PyObject *__pyx_tuple__14; +static PyObject *__pyx_tuple__16; +static PyObject *__pyx_tuple__18; +static PyObject *__pyx_tuple__20; +static PyObject *__pyx_tuple__22; +static PyObject *__pyx_tuple__24; +static PyObject *__pyx_tuple__26; +static PyObject *__pyx_codeobj__9; +static PyObject *__pyx_codeobj__11; +static PyObject *__pyx_codeobj__13; +static PyObject *__pyx_codeobj__15; +static PyObject *__pyx_codeobj__17; +static PyObject *__pyx_codeobj__19; +static PyObject *__pyx_codeobj__21; +static PyObject *__pyx_codeobj__23; +static PyObject *__pyx_codeobj__25; +static PyObject *__pyx_codeobj__27; +/* Late includes */ + +/* "claude_low_level_library.pyx":13 + * # define various useful differential functions: + * # gradient of scalar field a in the local x direction at point i,j + * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_1scalar_gradient_x(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_1scalar_gradient_x = {"scalar_gradient_x", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_1scalar_gradient_x, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_1scalar_gradient_x(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_a = 0; + PyArrayObject *__pyx_v_dx = 0; + __pyx_t_5numpy_int_t __pyx_v_nlon; + __pyx_t_5numpy_int_t __pyx_v_i; + __pyx_t_5numpy_int_t __pyx_v_j; + __pyx_t_5numpy_int_t __pyx_v_k; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("scalar_gradient_x (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dx,&__pyx_n_s_nlon,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,0}; + PyObject* values[6] = {0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 1); __PYX_ERR(0, 13, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlon)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 2); __PYX_ERR(0, 13, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 3); __PYX_ERR(0, 13, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 4); __PYX_ERR(0, 13, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 5); __PYX_ERR(0, 13, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_x") < 0)) __PYX_ERR(0, 13, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + } + __pyx_v_a = ((PyArrayObject *)values[0]); + __pyx_v_dx = ((PyArrayObject *)values[1]); + __pyx_v_nlon = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_nlon == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) + __pyx_v_i = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) + __pyx_v_j = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) + __pyx_v_k = __Pyx_PyInt_As_npy_long(values[5]); if (unlikely((__pyx_v_k == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 13, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) __PYX_ERR(0, 13, __pyx_L1_error) + __pyx_r = __pyx_pf_24claude_low_level_library_scalar_gradient_x(__pyx_self, __pyx_v_a, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_scalar_gradient_x(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_5numpy_int_t __pyx_v_nlon, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __pyx_t_5numpy_int_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("scalar_gradient_x", 0); + + /* "claude_low_level_library.pyx":14 + * # gradient of scalar field a in the local x direction at point i,j + * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] # <<<<<<<<<<<<<< + * + * def scalar_gradient_x_2D(a,dx,nlon,i,j): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__pyx_v_j + 1); + if (unlikely(__pyx_v_nlon == 0)) { + PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); + __PYX_ERR(0, 14, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_2, __pyx_v_nlon)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); + __pyx_t_1 = 0; + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = (__pyx_v_j - 1); + if (unlikely(__pyx_v_nlon == 0)) { + PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); + __PYX_ERR(0, 14, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_2, __pyx_v_nlon)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_1); + __pyx_t_5 = 0; + __pyx_t_3 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyNumber_Subtract(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dx), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":13 + * # define various useful differential functions: + * # gradient of scalar field a in the local x direction at point i,j + * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":16 + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + * def scalar_gradient_x_2D(a,dx,nlon,i,j): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_3scalar_gradient_x_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_3scalar_gradient_x_2D = {"scalar_gradient_x_2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_3scalar_gradient_x_2D, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_3scalar_gradient_x_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_a = 0; + PyObject *__pyx_v_dx = 0; + PyObject *__pyx_v_nlon = 0; + PyObject *__pyx_v_i = 0; + PyObject *__pyx_v_j = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("scalar_gradient_x_2D (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dx,&__pyx_n_s_nlon,&__pyx_n_s_i,&__pyx_n_s_j,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 1); __PYX_ERR(0, 16, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlon)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 2); __PYX_ERR(0, 16, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 3); __PYX_ERR(0, 16, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 4); __PYX_ERR(0, 16, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_x_2D") < 0)) __PYX_ERR(0, 16, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_a = values[0]; + __pyx_v_dx = values[1]; + __pyx_v_nlon = values[2]; + __pyx_v_i = values[3]; + __pyx_v_j = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_low_level_library_2scalar_gradient_x_2D(__pyx_self, __pyx_v_a, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_2scalar_gradient_x_2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_dx, PyObject *__pyx_v_nlon, PyObject *__pyx_v_i, PyObject *__pyx_v_j) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("scalar_gradient_x_2D", 0); + + /* "claude_low_level_library.pyx":17 + * + * def scalar_gradient_x_2D(a,dx,nlon,i,j): + * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] # <<<<<<<<<<<<<< + * + * # gradient of scalar field a in the local y direction at point i,j + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_j, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyNumber_Remainder(__pyx_t_1, __pyx_v_nlon); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_i); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_j, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyNumber_Remainder(__pyx_t_1, __pyx_v_nlon); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_i); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_dx, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":16 + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + * def scalar_gradient_x_2D(a,dx,nlon,i,j): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":20 + * + * # gradient of scalar field a in the local y direction at point i,j + * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_5scalar_gradient_y(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_5scalar_gradient_y = {"scalar_gradient_y", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_5scalar_gradient_y, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_5scalar_gradient_y(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_a = 0; + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy; + __pyx_t_5numpy_int_t __pyx_v_nlat; + __pyx_t_5numpy_int_t __pyx_v_i; + __pyx_t_5numpy_int_t __pyx_v_j; + __pyx_t_5numpy_int_t __pyx_v_k; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("scalar_gradient_y (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dy,&__pyx_n_s_nlat,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,0}; + PyObject* values[6] = {0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 1); __PYX_ERR(0, 20, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlat)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 2); __PYX_ERR(0, 20, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 3); __PYX_ERR(0, 20, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 4); __PYX_ERR(0, 20, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 5); __PYX_ERR(0, 20, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_y") < 0)) __PYX_ERR(0, 20, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + } + __pyx_v_a = ((PyArrayObject *)values[0]); + __pyx_v_dy = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dy == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) + __pyx_v_nlat = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_nlat == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) + __pyx_v_i = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) + __pyx_v_j = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) + __pyx_v_k = __Pyx_PyInt_As_npy_long(values[5]); if (unlikely((__pyx_v_k == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 20, __pyx_L1_error) + __pyx_r = __pyx_pf_24claude_low_level_library_4scalar_gradient_y(__pyx_self, __pyx_v_a, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_4scalar_gradient_y(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy, __pyx_t_5numpy_int_t __pyx_v_nlat, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("scalar_gradient_y", 0); + + /* "claude_low_level_library.pyx":21 + * # gradient of scalar field a in the local y direction at point i,j + * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): + * if i == 0: # <<<<<<<<<<<<<< + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + * elif i == nlat-1: + */ + __pyx_t_1 = ((__pyx_v_i == 0) != 0); + if (__pyx_t_1) { + + /* "claude_low_level_library.pyx":22 + * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): + * if i == 0: + * return 2*(a[i+1,j,k]-a[i,j,k])/dy # <<<<<<<<<<<<<< + * elif i == nlat-1: + * return 2*(a[i,j,k]-a[i-1,j,k])/dy + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2); + __pyx_t_5 = 0; + __pyx_t_3 = 0; + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyNumber_Subtract(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyNumber_Multiply(__pyx_int_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":21 + * # gradient of scalar field a in the local y direction at point i,j + * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): + * if i == 0: # <<<<<<<<<<<<<< + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + * elif i == nlat-1: + */ + } + + /* "claude_low_level_library.pyx":23 + * if i == 0: + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + * elif i == nlat-1: # <<<<<<<<<<<<<< + * return 2*(a[i,j,k]-a[i-1,j,k])/dy + * else: + */ + __pyx_t_1 = ((__pyx_v_i == (__pyx_v_nlat - 1)) != 0); + if (__pyx_t_1) { + + /* "claude_low_level_library.pyx":24 + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + * elif i == nlat-1: + * return 2*(a[i,j,k]-a[i-1,j,k])/dy # <<<<<<<<<<<<<< + * else: + * return (a[i+1,j,k]-a[i-1,j,k])/dy + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); + __pyx_t_4 = 0; + __pyx_t_6 = 0; + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); + __pyx_t_3 = 0; + __pyx_t_6 = 0; + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyNumber_Subtract(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Multiply(__pyx_int_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":23 + * if i == 0: + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + * elif i == nlat-1: # <<<<<<<<<<<<<< + * return 2*(a[i,j,k]-a[i-1,j,k])/dy + * else: + */ + } + + /* "claude_low_level_library.pyx":26 + * return 2*(a[i,j,k]-a[i-1,j,k])/dy + * else: + * return (a[i+1,j,k]-a[i-1,j,k])/dy # <<<<<<<<<<<<<< + * + * def scalar_gradient_y_2d(a,dy,nlat,i,j): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4); + __pyx_t_2 = 0; + __pyx_t_5 = 0; + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); + __pyx_t_6 = 0; + __pyx_t_5 = 0; + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "claude_low_level_library.pyx":20 + * + * # gradient of scalar field a in the local y direction at point i,j + * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":28 + * return (a[i+1,j,k]-a[i-1,j,k])/dy + * + * def scalar_gradient_y_2d(a,dy,nlat,i,j): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j]-a[i,j])/dy + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_7scalar_gradient_y_2d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_7scalar_gradient_y_2d = {"scalar_gradient_y_2d", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_7scalar_gradient_y_2d, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_7scalar_gradient_y_2d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_a = 0; + PyObject *__pyx_v_dy = 0; + PyObject *__pyx_v_nlat = 0; + PyObject *__pyx_v_i = 0; + PyObject *__pyx_v_j = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("scalar_gradient_y_2d (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dy,&__pyx_n_s_nlat,&__pyx_n_s_i,&__pyx_n_s_j,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2d", 1, 5, 5, 1); __PYX_ERR(0, 28, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlat)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2d", 1, 5, 5, 2); __PYX_ERR(0, 28, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2d", 1, 5, 5, 3); __PYX_ERR(0, 28, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2d", 1, 5, 5, 4); __PYX_ERR(0, 28, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_y_2d") < 0)) __PYX_ERR(0, 28, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_a = values[0]; + __pyx_v_dy = values[1]; + __pyx_v_nlat = values[2]; + __pyx_v_i = values[3]; + __pyx_v_j = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2d", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 28, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y_2d", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_low_level_library_6scalar_gradient_y_2d(__pyx_self, __pyx_v_a, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_6scalar_gradient_y_2d(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_dy, PyObject *__pyx_v_nlat, PyObject *__pyx_v_i, PyObject *__pyx_v_j) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("scalar_gradient_y_2d", 0); + + /* "claude_low_level_library.pyx":29 + * + * def scalar_gradient_y_2d(a,dy,nlat,i,j): + * if i == 0: # <<<<<<<<<<<<<< + * return 2*(a[i+1,j]-a[i,j])/dy + * elif i == nlat-1: + */ + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_i, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "claude_low_level_library.pyx":30 + * def scalar_gradient_y_2d(a,dy,nlat,i,j): + * if i == 0: + * return 2*(a[i+1,j]-a[i,j])/dy # <<<<<<<<<<<<<< + * elif i == nlat-1: + * return 2*(a[i,j]-a[i-1,j])/dy + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Multiply(__pyx_int_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_v_dy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":29 + * + * def scalar_gradient_y_2d(a,dy,nlat,i,j): + * if i == 0: # <<<<<<<<<<<<<< + * return 2*(a[i+1,j]-a[i,j])/dy + * elif i == nlat-1: + */ + } + + /* "claude_low_level_library.pyx":31 + * if i == 0: + * return 2*(a[i+1,j]-a[i,j])/dy + * elif i == nlat-1: # <<<<<<<<<<<<<< + * return 2*(a[i,j]-a[i-1,j])/dy + * else: + */ + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_nlat, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_i, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_2) { + + /* "claude_low_level_library.pyx":32 + * return 2*(a[i+1,j]-a[i,j])/dy + * elif i == nlat-1: + * return 2*(a[i,j]-a[i-1,j])/dy # <<<<<<<<<<<<<< + * else: + * return (a[i+1,j]-a[i-1,j])/dy + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_j); + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_j); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Subtract(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Multiply(__pyx_int_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_v_dy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":31 + * if i == 0: + * return 2*(a[i+1,j]-a[i,j])/dy + * elif i == nlat-1: # <<<<<<<<<<<<<< + * return 2*(a[i,j]-a[i-1,j])/dy + * else: + */ + } + + /* "claude_low_level_library.pyx":34 + * return 2*(a[i,j]-a[i-1,j])/dy + * else: + * return (a[i+1,j]-a[i-1,j])/dy # <<<<<<<<<<<<<< + * + * def scalar_gradient_z(a,dz,i,j,k): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_j); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_v_dy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "claude_low_level_library.pyx":28 + * return (a[i+1,j,k]-a[i-1,j,k])/dy + * + * def scalar_gradient_y_2d(a,dy,nlat,i,j): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j]-a[i,j])/dy + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y_2d", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":36 + * return (a[i+1,j]-a[i-1,j])/dy + * + * def scalar_gradient_z(a,dz,i,j,k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_9scalar_gradient_z(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_9scalar_gradient_z = {"scalar_gradient_z", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_9scalar_gradient_z, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_9scalar_gradient_z(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_a = 0; + PyObject *__pyx_v_dz = 0; + PyObject *__pyx_v_i = 0; + PyObject *__pyx_v_j = 0; + PyObject *__pyx_v_k = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("scalar_gradient_z (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dz,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 1); __PYX_ERR(0, 36, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 2); __PYX_ERR(0, 36, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 3); __PYX_ERR(0, 36, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 4); __PYX_ERR(0, 36, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_z") < 0)) __PYX_ERR(0, 36, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_a = values[0]; + __pyx_v_dz = values[1]; + __pyx_v_i = values[2]; + __pyx_v_j = values[3]; + __pyx_v_k = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 36, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_low_level_library_8scalar_gradient_z(__pyx_self, __pyx_v_a, __pyx_v_dz, __pyx_v_i, __pyx_v_j, __pyx_v_k); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_8scalar_gradient_z(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_dz, PyObject *__pyx_v_i, PyObject *__pyx_v_j, PyObject *__pyx_v_k) { + CYTHON_UNUSED PyArrayObject *__pyx_v_output = 0; + __pyx_t_5numpy_int_t __pyx_v_nlevels; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("scalar_gradient_z", 0); + + /* "claude_low_level_library.pyx":37 + * + * def scalar_gradient_z(a,dz,i,j,k): + * cdef np.ndarray output = np.zeros_like(a) # <<<<<<<<<<<<<< + * cdef np.int_t nlevels = len(dz) + * if k == 0: + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_a) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_a); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 37, __pyx_L1_error) + __pyx_v_output = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":38 + * def scalar_gradient_z(a,dz,i,j,k): + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) # <<<<<<<<<<<<<< + * if k == 0: + * return (a[i,j,k+1]-a[i,j,k])/dz[k] + */ + __pyx_t_4 = PyObject_Length(__pyx_v_dz); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38, __pyx_L1_error) + __pyx_v_nlevels = __pyx_t_4; + + /* "claude_low_level_library.pyx":39 + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + * if k == 0: # <<<<<<<<<<<<<< + * return (a[i,j,k+1]-a[i,j,k])/dz[k] + * elif k == nlevels-1: + */ + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_k, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_5) { + + /* "claude_low_level_library.pyx":40 + * cdef np.int_t nlevels = len(dz) + * if k == 0: + * return (a[i,j,k+1]-a[i,j,k])/dz[k] # <<<<<<<<<<<<<< + * elif k == nlevels-1: + * return (a[i,j,k]-a[i,j,k-1])/dz[k] + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_k); + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_dz, __pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":39 + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + * if k == 0: # <<<<<<<<<<<<<< + * return (a[i,j,k+1]-a[i,j,k])/dz[k] + * elif k == nlevels-1: + */ + } + + /* "claude_low_level_library.pyx":41 + * if k == 0: + * return (a[i,j,k+1]-a[i,j,k])/dz[k] + * elif k == nlevels-1: # <<<<<<<<<<<<<< + * return (a[i,j,k]-a[i,j,k-1])/dz[k] + * else: + */ + __pyx_t_1 = __Pyx_PyInt_From_npy_long((__pyx_v_nlevels - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyObject_RichCompare(__pyx_v_k, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 41, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_5) { + + /* "claude_low_level_library.pyx":42 + * return (a[i,j,k+1]-a[i,j,k])/dz[k] + * elif k == nlevels-1: + * return (a[i,j,k]-a[i,j,k-1])/dz[k] # <<<<<<<<<<<<<< + * else: + * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_k); + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_dz, __pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":41 + * if k == 0: + * return (a[i,j,k+1]-a[i,j,k])/dz[k] + * elif k == nlevels-1: # <<<<<<<<<<<<<< + * return (a[i,j,k]-a[i,j,k-1])/dz[k] + * else: + */ + } + + /* "claude_low_level_library.pyx":44 + * return (a[i,j,k]-a[i,j,k-1])/dz[k] + * else: + * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) # <<<<<<<<<<<<<< + * + * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_j); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_a, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_dz, __pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyNumber_Multiply(__pyx_int_2, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } + + /* "claude_low_level_library.pyx":36 + * return (a[i+1,j]-a[i-1,j])/dy + * + * def scalar_gradient_z(a,dz,i,j,k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_output); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":46 + * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) + * + * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_11scalar_gradient_z_1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_11scalar_gradient_z_1D = {"scalar_gradient_z_1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_11scalar_gradient_z_1D, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_11scalar_gradient_z_1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_a = 0; + PyArrayObject *__pyx_v_dz = 0; + CYTHON_UNUSED __pyx_t_5numpy_int_t __pyx_v_i; + CYTHON_UNUSED __pyx_t_5numpy_int_t __pyx_v_j; + __pyx_t_5numpy_int_t __pyx_v_k; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("scalar_gradient_z_1D (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dz,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 5, 5, 1); __PYX_ERR(0, 46, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 5, 5, 2); __PYX_ERR(0, 46, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 5, 5, 3); __PYX_ERR(0, 46, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 5, 5, 4); __PYX_ERR(0, 46, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_z_1D") < 0)) __PYX_ERR(0, 46, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_a = ((PyArrayObject *)values[0]); + __pyx_v_dz = ((PyArrayObject *)values[1]); + __pyx_v_i = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 46, __pyx_L3_error) + __pyx_v_j = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 46, __pyx_L3_error) + __pyx_v_k = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_k == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 46, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 46, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z_1D", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 46, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dz), __pyx_ptype_5numpy_ndarray, 1, "dz", 0))) __PYX_ERR(0, 46, __pyx_L1_error) + __pyx_r = __pyx_pf_24claude_low_level_library_10scalar_gradient_z_1D(__pyx_self, __pyx_v_a, __pyx_v_dz, __pyx_v_i, __pyx_v_j, __pyx_v_k); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_10scalar_gradient_z_1D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dz, CYTHON_UNUSED __pyx_t_5numpy_int_t __pyx_v_i, CYTHON_UNUSED __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k) { + CYTHON_UNUSED PyArrayObject *__pyx_v_output = 0; + __pyx_t_5numpy_int_t __pyx_v_nlevels; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + __pyx_t_5numpy_int_t __pyx_t_6; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("scalar_gradient_z_1D", 0); + + /* "claude_low_level_library.pyx":47 + * + * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): + * cdef np.ndarray output = np.zeros_like(a) # <<<<<<<<<<<<<< + * cdef np.int_t nlevels = len(dz) + * if k == 0: + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, ((PyObject *)__pyx_v_a)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_a)); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 47, __pyx_L1_error) + __pyx_v_output = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":48 + * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) # <<<<<<<<<<<<<< + * if k == 0: + * return (a[k+1]-a[k])/dz[k] + */ + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_dz)); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 48, __pyx_L1_error) + __pyx_v_nlevels = __pyx_t_4; + + /* "claude_low_level_library.pyx":49 + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + * if k == 0: # <<<<<<<<<<<<<< + * return (a[k+1]-a[k])/dz[k] + * elif k == nlevels-1: + */ + __pyx_t_5 = ((__pyx_v_k == 0) != 0); + if (__pyx_t_5) { + + /* "claude_low_level_library.pyx":50 + * cdef np.int_t nlevels = len(dz) + * if k == 0: + * return (a[k+1]-a[k])/dz[k] # <<<<<<<<<<<<<< + * elif k == nlevels-1: + * return (a[k]-a[k-1])/dz[k] + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = (__pyx_v_k + 1); + __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_6, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":49 + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + * if k == 0: # <<<<<<<<<<<<<< + * return (a[k+1]-a[k])/dz[k] + * elif k == nlevels-1: + */ + } + + /* "claude_low_level_library.pyx":51 + * if k == 0: + * return (a[k+1]-a[k])/dz[k] + * elif k == nlevels-1: # <<<<<<<<<<<<<< + * return (a[k]-a[k-1])/dz[k] + * else: + */ + __pyx_t_5 = ((__pyx_v_k == (__pyx_v_nlevels - 1)) != 0); + if (__pyx_t_5) { + + /* "claude_low_level_library.pyx":52 + * return (a[k+1]-a[k])/dz[k] + * elif k == nlevels-1: + * return (a[k]-a[k-1])/dz[k] # <<<<<<<<<<<<<< + * else: + * return (a[k+1]-a[k-1])/(2*dz[k]) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = (__pyx_v_k - 1); + __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_6, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":51 + * if k == 0: + * return (a[k+1]-a[k])/dz[k] + * elif k == nlevels-1: # <<<<<<<<<<<<<< + * return (a[k]-a[k-1])/dz[k] + * else: + */ + } + + /* "claude_low_level_library.pyx":54 + * return (a[k]-a[k-1])/dz[k] + * else: + * return (a[k+1]-a[k-1])/(2*dz[k]) # <<<<<<<<<<<<<< + * + * def surface_optical_depth(DTYPE_f lat): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = (__pyx_v_k + 1); + __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_6, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = (__pyx_v_k - 1); + __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_6, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyNumber_Multiply(__pyx_int_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } + + /* "claude_low_level_library.pyx":46 + * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) + * + * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z_1D", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_output); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":56 + * return (a[k+1]-a[k-1])/(2*dz[k]) + * + * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< + * return 4 + np.cos(lat*inv_90)*2.5 + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_13surface_optical_depth(PyObject *__pyx_self, PyObject *__pyx_arg_lat); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_13surface_optical_depth = {"surface_optical_depth", (PyCFunction)__pyx_pw_24claude_low_level_library_13surface_optical_depth, METH_O, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_13surface_optical_depth(PyObject *__pyx_self, PyObject *__pyx_arg_lat) { + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("surface_optical_depth (wrapper)", 0); + assert(__pyx_arg_lat); { + __pyx_v_lat = __pyx_PyFloat_AsDouble(__pyx_arg_lat); if (unlikely((__pyx_v_lat == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 56, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.surface_optical_depth", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_low_level_library_12surface_optical_depth(__pyx_self, ((__pyx_t_24claude_low_level_library_DTYPE_f)__pyx_v_lat)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_12surface_optical_depth(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("surface_optical_depth", 0); + + /* "claude_low_level_library.pyx":57 + * + * def surface_optical_depth(DTYPE_f lat): + * return 4 + np.cos(lat*inv_90)*2.5 # <<<<<<<<<<<<<< + * + * def thermal_radiation(DTYPE_f a): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble((__pyx_v_lat * __pyx_v_24claude_low_level_library_inv_90)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_float_2_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_AddCObj(__pyx_int_4, __pyx_t_3, 4, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":56 + * return (a[k+1]-a[k-1])/(2*dz[k]) + * + * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< + * return 4 + np.cos(lat*inv_90)*2.5 + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("claude_low_level_library.surface_optical_depth", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":59 + * return 4 + np.cos(lat*inv_90)*2.5 + * + * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< + * cdef DTYPE_f sigma = 5.67E-8 + * return sigma*(a**4) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_15thermal_radiation(PyObject *__pyx_self, PyObject *__pyx_arg_a); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_15thermal_radiation = {"thermal_radiation", (PyCFunction)__pyx_pw_24claude_low_level_library_15thermal_radiation, METH_O, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_15thermal_radiation(PyObject *__pyx_self, PyObject *__pyx_arg_a) { + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_a; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("thermal_radiation (wrapper)", 0); + assert(__pyx_arg_a); { + __pyx_v_a = __pyx_PyFloat_AsDouble(__pyx_arg_a); if (unlikely((__pyx_v_a == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.thermal_radiation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_low_level_library_14thermal_radiation(__pyx_self, ((__pyx_t_24claude_low_level_library_DTYPE_f)__pyx_v_a)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_14thermal_radiation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_a) { + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_sigma; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("thermal_radiation", 0); + + /* "claude_low_level_library.pyx":60 + * + * def thermal_radiation(DTYPE_f a): + * cdef DTYPE_f sigma = 5.67E-8 # <<<<<<<<<<<<<< + * return sigma*(a**4) + * + */ + __pyx_v_sigma = 5.67E-8; + + /* "claude_low_level_library.pyx":61 + * def thermal_radiation(DTYPE_f a): + * cdef DTYPE_f sigma = 5.67E-8 + * return sigma*(a**4) # <<<<<<<<<<<<<< + * + * # power incident on (lat,lon) at time t + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyFloat_FromDouble((__pyx_v_sigma * pow(__pyx_v_a, 4.0))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":59 + * return 4 + np.cos(lat*inv_90)*2.5 + * + * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< + * cdef DTYPE_f sigma = 5.67E-8 + * return sigma*(a**4) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("claude_low_level_library.thermal_radiation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":64 + * + * # power incident on (lat,lon) at time t + * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * cdef float sun_longitude = -t % day + * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_17solar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_17solar = {"solar", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_17solar, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_17solar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_insolation; + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat; + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lon; + __pyx_t_5numpy_int_t __pyx_v_t; + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_day; + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_year; + __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_axial_tilt; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("solar (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_insolation,&__pyx_n_s_lat,&__pyx_n_s_lon,&__pyx_n_s_t,&__pyx_n_s_day,&__pyx_n_s_year,&__pyx_n_s_axial_tilt,0}; + PyObject* values[7] = {0,0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_insolation)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lat)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 1); __PYX_ERR(0, 64, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lon)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 2); __PYX_ERR(0, 64, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 3); __PYX_ERR(0, 64, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_day)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 4); __PYX_ERR(0, 64, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 5); __PYX_ERR(0, 64, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 6: + if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_axial_tilt)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 6); __PYX_ERR(0, 64, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "solar") < 0)) __PYX_ERR(0, 64, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 7) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + } + __pyx_v_insolation = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_insolation == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_v_lat = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_lat == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_v_lon = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_lon == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_v_t = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_t == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_v_day = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_day == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_v_year = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_year == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_v_axial_tilt = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_axial_tilt == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_low_level_library.solar", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_low_level_library_16solar(__pyx_self, __pyx_v_insolation, __pyx_v_lat, __pyx_v_lon, __pyx_v_t, __pyx_v_day, __pyx_v_year, __pyx_v_axial_tilt); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_16solar(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_insolation, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lon, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_axial_tilt) { + float __pyx_v_sun_longitude; + float __pyx_v_sun_latitude; + float __pyx_v_value; + float __pyx_v_lon_diff; + float __pyx_v_cos_lon; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __pyx_t_5numpy_int_t __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + float __pyx_t_8; + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("solar", 0); + + /* "claude_low_level_library.pyx":65 + * # power incident on (lat,lon) at time t + * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): + * cdef float sun_longitude = -t % day # <<<<<<<<<<<<<< + * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) + * cdef float value = insolation*np.cos((lat-sun_latitude)*inv_180) + */ + __pyx_t_1 = (-__pyx_v_t); + if (unlikely(__pyx_v_day == 0)) { + PyErr_SetString(PyExc_ZeroDivisionError, "float divmod()"); + __PYX_ERR(0, 65, __pyx_L1_error) + } + __pyx_v_sun_longitude = __Pyx_mod___pyx_t_24claude_low_level_library_DTYPE_f(__pyx_t_1, __pyx_v_day); + + /* "claude_low_level_library.pyx":66 + * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): + * cdef float sun_longitude = -t % day + * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) # <<<<<<<<<<<<<< + * cdef float value = insolation*np.cos((lat-sun_latitude)*inv_180) + * cdef float lon_diff, cos_lon + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_axial_tilt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_cos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyInt_From_npy_long((__pyx_v_t * 2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_pi); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyNumber_Multiply(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_year); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyNumber_Multiply(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_8 = __pyx_PyFloat_AsFloat(__pyx_t_5); if (unlikely((__pyx_t_8 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_sun_latitude = __pyx_t_8; + + /* "claude_low_level_library.pyx":67 + * cdef float sun_longitude = -t % day + * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) + * cdef float value = insolation*np.cos((lat-sun_latitude)*inv_180) # <<<<<<<<<<<<<< + * cdef float lon_diff, cos_lon + * + */ + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(((__pyx_v_lat - __pyx_v_sun_latitude) * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Multiply(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_8 = __pyx_PyFloat_AsFloat(__pyx_t_4); if (unlikely((__pyx_t_8 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_value = __pyx_t_8; + + /* "claude_low_level_library.pyx":70 + * cdef float lon_diff, cos_lon + * + * if value < 0: # <<<<<<<<<<<<<< + * return 0 + * else: + */ + __pyx_t_9 = ((__pyx_v_value < 0.0) != 0); + if (__pyx_t_9) { + + /* "claude_low_level_library.pyx":71 + * + * if value < 0: + * return 0 # <<<<<<<<<<<<<< + * else: + * sun_longitude *= 360/day + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_int_0); + __pyx_r = __pyx_int_0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":70 + * cdef float lon_diff, cos_lon + * + * if value < 0: # <<<<<<<<<<<<<< + * return 0 + * else: + */ + } + + /* "claude_low_level_library.pyx":73 + * return 0 + * else: + * sun_longitude *= 360/day # <<<<<<<<<<<<<< + * lon_diff = lon-sun_longitude + * cos_lon = np.cos(lon_diff*inv_180) + */ + /*else*/ { + if (unlikely(__pyx_v_day == 0)) { + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + __PYX_ERR(0, 73, __pyx_L1_error) + } + __pyx_v_sun_longitude = (__pyx_v_sun_longitude * (360.0 / __pyx_v_day)); + + /* "claude_low_level_library.pyx":74 + * else: + * sun_longitude *= 360/day + * lon_diff = lon-sun_longitude # <<<<<<<<<<<<<< + * cos_lon = np.cos(lon_diff*inv_180) + * value *= cos_lon + */ + __pyx_v_lon_diff = (__pyx_v_lon - __pyx_v_sun_longitude); + + /* "claude_low_level_library.pyx":75 + * sun_longitude *= 360/day + * lon_diff = lon-sun_longitude + * cos_lon = np.cos(lon_diff*inv_180) # <<<<<<<<<<<<<< + * value *= cos_lon + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 75, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble((__pyx_v_lon_diff * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 75, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = __pyx_PyFloat_AsFloat(__pyx_t_4); if (unlikely((__pyx_t_8 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_cos_lon = __pyx_t_8; + + /* "claude_low_level_library.pyx":76 + * lon_diff = lon-sun_longitude + * cos_lon = np.cos(lon_diff*inv_180) + * value *= cos_lon # <<<<<<<<<<<<<< + * + * if value < 0: + */ + __pyx_v_value = (__pyx_v_value * __pyx_v_cos_lon); + + /* "claude_low_level_library.pyx":78 + * value *= cos_lon + * + * if value < 0: # <<<<<<<<<<<<<< + * if lat + sun_latitude > 90: + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + */ + __pyx_t_9 = ((__pyx_v_value < 0.0) != 0); + if (__pyx_t_9) { + + /* "claude_low_level_library.pyx":79 + * + * if value < 0: + * if lat + sun_latitude > 90: # <<<<<<<<<<<<<< + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * elif lat + sun_latitude < -90: + */ + __pyx_t_9 = (((__pyx_v_lat + __pyx_v_sun_latitude) > 90.0) != 0); + if (__pyx_t_9) { + + /* "claude_low_level_library.pyx":80 + * if value < 0: + * if lat + sun_latitude > 90: + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon # <<<<<<<<<<<<<< + * elif lat + sun_latitude < -90: + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(((__pyx_v_lat + __pyx_v_sun_latitude) * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyNumber_Multiply(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_cos_lon); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":79 + * + * if value < 0: + * if lat + sun_latitude > 90: # <<<<<<<<<<<<<< + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * elif lat + sun_latitude < -90: + */ + } + + /* "claude_low_level_library.pyx":81 + * if lat + sun_latitude > 90: + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * elif lat + sun_latitude < -90: # <<<<<<<<<<<<<< + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * else: + */ + __pyx_t_9 = (((__pyx_v_lat + __pyx_v_sun_latitude) < -90.0) != 0); + if (__pyx_t_9) { + + /* "claude_low_level_library.pyx":82 + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * elif lat + sun_latitude < -90: + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(((__pyx_v_lat + __pyx_v_sun_latitude) * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_cos_lon); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":81 + * if lat + sun_latitude > 90: + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * elif lat + sun_latitude < -90: # <<<<<<<<<<<<<< + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * else: + */ + } + + /* "claude_low_level_library.pyx":84 + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + * else: + * return 0 # <<<<<<<<<<<<<< + * else: + * return value + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_int_0); + __pyx_r = __pyx_int_0; + goto __pyx_L0; + } + + /* "claude_low_level_library.pyx":78 + * value *= cos_lon + * + * if value < 0: # <<<<<<<<<<<<<< + * if lat + sun_latitude > 90: + * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + */ + } + + /* "claude_low_level_library.pyx":86 + * return 0 + * else: + * return value # <<<<<<<<<<<<<< + * + * def profile(a): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + } + + /* "claude_low_level_library.pyx":64 + * + * # power incident on (lat,lon) at time t + * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * cdef float sun_longitude = -t % day + * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("claude_low_level_library.solar", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_low_level_library.pyx":88 + * return value + * + * def profile(a): # <<<<<<<<<<<<<< + * return np.mean(np.mean(a,axis=0),axis=0) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_low_level_library_19profile(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_low_level_library_19profile = {"profile", (PyCFunction)__pyx_pw_24claude_low_level_library_19profile, METH_O, 0}; +static PyObject *__pyx_pw_24claude_low_level_library_19profile(PyObject *__pyx_self, PyObject *__pyx_v_a) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("profile (wrapper)", 0); + __pyx_r = __pyx_pf_24claude_low_level_library_18profile(__pyx_self, ((PyObject *)__pyx_v_a)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_low_level_library_18profile(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("profile", 0); + + /* "claude_low_level_library.pyx":89 + * + * def profile(a): + * return np.mean(np.mean(a,axis=0),axis=0) # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_mean); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_mean); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_a); + __Pyx_GIVEREF(__pyx_v_a); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_a); + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 89, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 89, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "claude_low_level_library.pyx":88 + * return value + * + * def profile(a): # <<<<<<<<<<<<<< + * return np.mean(np.mean(a,axis=0),axis=0) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("claude_low_level_library.profile", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 + * # experimental exception made for __getbuffer__ and __releasebuffer__ + * # -- the details of this may change. + * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< + * # This implementation of getbuffer is geared towards Cython + * # requirements, and does not yet fulfill the PEP. + */ + +/* Python wrapper */ +static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/ +static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0); + __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { + int __pyx_v_i; + int __pyx_v_ndim; + int __pyx_v_endian_detector; + int __pyx_v_little_endian; + int __pyx_v_t; + char *__pyx_v_f; + PyArray_Descr *__pyx_v_descr = 0; + int __pyx_v_offset; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyArray_Descr *__pyx_t_7; + PyObject *__pyx_t_8 = NULL; + char *__pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + if (__pyx_v_info == NULL) { + PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); + return -1; + } + __Pyx_RefNannySetupContext("__getbuffer__", 0); + __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(__pyx_v_info->obj); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":265 + * + * cdef int i, ndim + * cdef int endian_detector = 1 # <<<<<<<<<<<<<< + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * + */ + __pyx_v_endian_detector = 1; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":266 + * cdef int i, ndim + * cdef int endian_detector = 1 + * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * + * ndim = PyArray_NDIM(self) + */ + __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":268 + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * + * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + */ + __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 + * ndim = PyArray_NDIM(self) + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":271 + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not C contiguous") + * + */ + __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 + * ndim = PyArray_NDIM(self) + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + if (unlikely(__pyx_t_1)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 272, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 272, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 + * ndim = PyArray_NDIM(self) + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L7_bool_binop_done; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":275 + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not Fortran contiguous") + * + */ + __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L7_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + if (unlikely(__pyx_t_1)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * + * info.buf = PyArray_DATA(self) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 276, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":278 + * raise ValueError(u"ndarray is not Fortran contiguous") + * + * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< + * info.ndim = ndim + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":279 + * + * info.buf = PyArray_DATA(self) + * info.ndim = ndim # <<<<<<<<<<<<<< + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * # Allocate new buffer for strides and shape info. + */ + __pyx_v_info->ndim = __pyx_v_ndim; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 + * info.buf = PyArray_DATA(self) + * info.ndim = ndim + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + */ + __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":283 + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) # <<<<<<<<<<<<<< + * info.shape = info.strides + ndim + * for i in range(ndim): + */ + __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim)))); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":284 + * # This is allocated as one block, strides first. + * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) + * info.shape = info.strides + ndim # <<<<<<<<<<<<<< + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] + */ + __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":285 + * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) + * info.shape = info.strides + ndim + * for i in range(ndim): # <<<<<<<<<<<<<< + * info.strides[i] = PyArray_STRIDES(self)[i] + * info.shape[i] = PyArray_DIMS(self)[i] + */ + __pyx_t_4 = __pyx_v_ndim; + __pyx_t_5 = __pyx_t_4; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i = __pyx_t_6; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":286 + * info.shape = info.strides + ndim + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< + * info.shape[i] = PyArray_DIMS(self)[i] + * else: + */ + (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":287 + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] + * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< + * else: + * info.strides = PyArray_STRIDES(self) + */ + (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]); + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 + * info.buf = PyArray_DATA(self) + * info.ndim = ndim + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + */ + goto __pyx_L9; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":289 + * info.shape[i] = PyArray_DIMS(self)[i] + * else: + * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL + */ + /*else*/ { + __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":290 + * else: + * info.strides = PyArray_STRIDES(self) + * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) + */ + __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self)); + } + __pyx_L9:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":291 + * info.strides = PyArray_STRIDES(self) + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL # <<<<<<<<<<<<<< + * info.itemsize = PyArray_ITEMSIZE(self) + * info.readonly = not PyArray_ISWRITEABLE(self) + */ + __pyx_v_info->suboffsets = NULL; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":292 + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< + * info.readonly = not PyArray_ISWRITEABLE(self) + * + */ + __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":293 + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) + * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< + * + * cdef int t + */ + __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":296 + * + * cdef int t + * cdef char* f = NULL # <<<<<<<<<<<<<< + * cdef dtype descr = PyArray_DESCR(self) + * cdef int offset + */ + __pyx_v_f = NULL; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":297 + * cdef int t + * cdef char* f = NULL + * cdef dtype descr = PyArray_DESCR(self) # <<<<<<<<<<<<<< + * cdef int offset + * + */ + __pyx_t_7 = PyArray_DESCR(__pyx_v_self); + __pyx_t_3 = ((PyObject *)__pyx_t_7); + __Pyx_INCREF(__pyx_t_3); + __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":300 + * cdef int offset + * + * info.obj = self # <<<<<<<<<<<<<< + * + * if not PyDataType_HASFIELDS(descr): + */ + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); + __pyx_v_info->obj = ((PyObject *)__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 + * info.obj = self + * + * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + */ + __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":303 + * + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num # <<<<<<<<<<<<<< + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + */ + __pyx_t_4 = __pyx_v_descr->type_num; + __pyx_v_t = __pyx_t_4; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0); + if (!__pyx_t_2) { + goto __pyx_L15_next_or; + } else { + } + __pyx_t_2 = (__pyx_v_little_endian != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L14_bool_binop_done; + } + __pyx_L15_next_or:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":305 + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" + */ + __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L14_bool_binop_done; + } + __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L14_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + if (unlikely(__pyx_t_1)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 306, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 306, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":307 + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" + */ + switch (__pyx_v_t) { + case NPY_BYTE: + __pyx_v_f = ((char *)"b"); + break; + case NPY_UBYTE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":308 + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" + */ + __pyx_v_f = ((char *)"B"); + break; + case NPY_SHORT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":309 + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" + */ + __pyx_v_f = ((char *)"h"); + break; + case NPY_USHORT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":310 + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" + */ + __pyx_v_f = ((char *)"H"); + break; + case NPY_INT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":311 + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" + */ + __pyx_v_f = ((char *)"i"); + break; + case NPY_UINT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":312 + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" + */ + __pyx_v_f = ((char *)"I"); + break; + case NPY_LONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":313 + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" + */ + __pyx_v_f = ((char *)"l"); + break; + case NPY_ULONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":314 + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" + */ + __pyx_v_f = ((char *)"L"); + break; + case NPY_LONGLONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":315 + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" + */ + __pyx_v_f = ((char *)"q"); + break; + case NPY_ULONGLONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":316 + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" + */ + __pyx_v_f = ((char *)"Q"); + break; + case NPY_FLOAT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":317 + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" + */ + __pyx_v_f = ((char *)"f"); + break; + case NPY_DOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":318 + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" + */ + __pyx_v_f = ((char *)"d"); + break; + case NPY_LONGDOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":319 + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" + */ + __pyx_v_f = ((char *)"g"); + break; + case NPY_CFLOAT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":320 + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" + */ + __pyx_v_f = ((char *)"Zf"); + break; + case NPY_CDOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":321 + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< + * elif t == NPY_CLONGDOUBLE: f = "Zg" + * elif t == NPY_OBJECT: f = "O" + */ + __pyx_v_f = ((char *)"Zd"); + break; + case NPY_CLONGDOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":322 + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< + * elif t == NPY_OBJECT: f = "O" + * else: + */ + __pyx_v_f = ((char *)"Zg"); + break; + case NPY_OBJECT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":323 + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" + * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + */ + __pyx_v_f = ((char *)"O"); + break; + default: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":325 + * elif t == NPY_OBJECT: f = "O" + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * info.format = f + * return + */ + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 325, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 325, __pyx_L1_error) + break; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":326 + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * info.format = f # <<<<<<<<<<<<<< + * return + * else: + */ + __pyx_v_info->format = __pyx_v_f; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":327 + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * info.format = f + * return # <<<<<<<<<<<<<< + * else: + * info.format = PyObject_Malloc(_buffer_format_string_len) + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 + * info.obj = self + * + * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":329 + * return + * else: + * info.format = PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 + */ + /*else*/ { + __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":330 + * else: + * info.format = PyObject_Malloc(_buffer_format_string_len) + * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< + * offset = 0 + * f = _util_dtypestring(descr, info.format + 1, + */ + (__pyx_v_info->format[0]) = '^'; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":331 + * info.format = PyObject_Malloc(_buffer_format_string_len) + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 # <<<<<<<<<<<<<< + * f = _util_dtypestring(descr, info.format + 1, + * info.format + _buffer_format_string_len, + */ + __pyx_v_offset = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":332 + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 + * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< + * info.format + _buffer_format_string_len, + * &offset) + */ + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 332, __pyx_L1_error) + __pyx_v_f = __pyx_t_9; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":335 + * info.format + _buffer_format_string_len, + * &offset) + * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + */ + (__pyx_v_f[0]) = '\x00'; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 + * # experimental exception made for __getbuffer__ and __releasebuffer__ + * # -- the details of this may change. + * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< + * # This implementation of getbuffer is geared towards Cython + * # requirements, and does not yet fulfill the PEP. + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + if (__pyx_v_info->obj != NULL) { + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; + } + goto __pyx_L2; + __pyx_L0:; + if (__pyx_v_info->obj == Py_None) { + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; + } + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_descr); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 + * f[0] = c'\0' # Terminate format string + * + * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + */ + +/* Python wrapper */ +static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ +static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0); + __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) { + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("__releasebuffer__", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":339 + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) # <<<<<<<<<<<<<< + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * PyObject_Free(info.strides) + */ + PyObject_Free(__pyx_v_info->format); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * PyObject_Free(info.strides) + * # info.shape was stored after info.strides in the same block + */ + __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":341 + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * PyObject_Free(info.strides) # <<<<<<<<<<<<<< + * # info.shape was stored after info.strides in the same block + * + */ + PyObject_Free(__pyx_v_info->strides); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * PyObject_Free(info.strides) + * # info.shape was stored after info.strides in the same block + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 + * f[0] = c'\0' # Terminate format string + * + * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":821 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 821, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":824 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 824, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":827 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 827, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":830 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 830, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":833 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 833, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":837 + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape # <<<<<<<<<<<<<< + * else: + * return () + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); + __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":839 + * return d.subarray.shape + * else: + * return () # <<<<<<<<<<<<<< + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_empty_tuple); + __pyx_r = __pyx_empty_tuple; + goto __pyx_L0; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 + * return () + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< + * # Recursive utility function used in __getbuffer__ to get format + * # string. The new location in the format string is returned. + */ + +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { + PyArray_Descr *__pyx_v_child = 0; + int __pyx_v_endian_detector; + int __pyx_v_little_endian; + PyObject *__pyx_v_fields = 0; + PyObject *__pyx_v_childname = NULL; + PyObject *__pyx_v_new_offset = NULL; + PyObject *__pyx_v_t = NULL; + char *__pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + int __pyx_t_7; + long __pyx_t_8; + char *__pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_util_dtypestring", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":846 + * + * cdef dtype child + * cdef int endian_detector = 1 # <<<<<<<<<<<<<< + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * cdef tuple fields + */ + __pyx_v_endian_detector = 1; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":847 + * cdef dtype child + * cdef int endian_detector = 1 + * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * cdef tuple fields + * + */ + __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 + * cdef tuple fields + * + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields + */ + if (unlikely(__pyx_v_descr->names == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(1, 850, __pyx_L1_error) + } + __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 850, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 850, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); + __pyx_t_3 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":851 + * + * for childname in descr.names: + * fields = descr.fields[childname] # <<<<<<<<<<<<<< + * child, new_offset = fields + * + */ + if (unlikely(__pyx_v_descr->fields == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 851, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 851, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 851, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":852 + * for childname in descr.names: + * fields = descr.fields[childname] + * child, new_offset = fields # <<<<<<<<<<<<<< + * + * if (end - f) - (new_offset - offset[0]) < 15: + */ + if (likely(__pyx_v_fields != Py_None)) { + PyObject* sequence = __pyx_v_fields; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(1, 852, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 852, __pyx_L1_error) + } + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 852, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3)); + __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); + __pyx_t_4 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 + * child, new_offset = fields + * + * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + */ + __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 854, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 854, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 854, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); + if (unlikely(__pyx_t_6)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 + * + * if (end - f) - (new_offset - offset[0]) < 15: + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * + * if ((child.byteorder == c'>' and little_endian) or + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 855, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 855, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 + * child, new_offset = fields + * + * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0); + if (!__pyx_t_7) { + goto __pyx_L8_next_or; + } else { + } + __pyx_t_7 = (__pyx_v_little_endian != 0); + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_L8_next_or:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":858 + * + * if ((child.byteorder == c'>' and little_endian) or + * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") + * # One could encode it in the format string and have Cython + */ + __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0); + if (__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0); + __pyx_t_6 = __pyx_t_7; + __pyx_L7_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + if (unlikely(__pyx_t_6)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":859 + * if ((child.byteorder == c'>' and little_endian) or + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * # One could encode it in the format string and have Cython + * # complain instead, BUT: < and > in format strings also imply + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 859, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 859, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":869 + * + * # Output padding bytes + * while offset[0] < new_offset: # <<<<<<<<<<<<<< + * f[0] = 120 # "x"; pad byte + * f += 1 + */ + while (1) { + __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 869, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 869, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 869, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_6) break; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":870 + * # Output padding bytes + * while offset[0] < new_offset: + * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< + * f += 1 + * offset[0] += 1 + */ + (__pyx_v_f[0]) = 0x78; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":871 + * while offset[0] < new_offset: + * f[0] = 120 # "x"; pad byte + * f += 1 # <<<<<<<<<<<<<< + * offset[0] += 1 + * + */ + __pyx_v_f = (__pyx_v_f + 1); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":872 + * f[0] = 120 # "x"; pad byte + * f += 1 + * offset[0] += 1 # <<<<<<<<<<<<<< + * + * offset[0] += child.itemsize + */ + __pyx_t_8 = 0; + (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":874 + * offset[0] += 1 + * + * offset[0] += child.itemsize # <<<<<<<<<<<<<< + * + * if not PyDataType_HASFIELDS(child): + */ + __pyx_t_8 = 0; + (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 + * offset[0] += child.itemsize + * + * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< + * t = child.type_num + * if end - f < 5: + */ + __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); + if (__pyx_t_6) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":877 + * + * if not PyDataType_HASFIELDS(child): + * t = child.type_num # <<<<<<<<<<<<<< + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") + */ + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 877, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); + __pyx_t_4 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 + * if not PyDataType_HASFIELDS(child): + * t = child.type_num + * if end - f < 5: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") + * + */ + __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); + if (unlikely(__pyx_t_6)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 + * t = child.type_num + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< + * + * # Until ticket #99 is fixed, use integers to avoid warnings + */ + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 879, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 + * if not PyDataType_HASFIELDS(child): + * t = child.type_num + * if end - f < 5: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") + * + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":882 + * + * # Until ticket #99 is fixed, use integers to avoid warnings + * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 882, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 882, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 882, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 98; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":883 + * # Until ticket #99 is fixed, use integers to avoid warnings + * if t == NPY_BYTE: f[0] = 98 #"b" + * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 883, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 883, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 883, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 66; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":884 + * if t == NPY_BYTE: f[0] = 98 #"b" + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 884, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 884, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 884, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x68; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":885 + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 885, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 885, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 885, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 72; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":886 + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 886, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 886, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 886, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x69; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":887 + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 887, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 887, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 887, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 73; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":888 + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 888, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 888, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 888, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x6C; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":889 + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 889, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 889, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 76; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":890 + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 890, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 890, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 890, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x71; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":891 + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 891, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 891, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 891, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 81; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":892 + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 892, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 892, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 892, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x66; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":893 + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 893, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 893, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 893, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x64; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":894 + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 894, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 894, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 894, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x67; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":895 + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 895, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 895, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 895, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x66; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":896 + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + * elif t == NPY_OBJECT: f[0] = 79 #"O" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 896, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 896, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 896, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x64; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":897 + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< + * elif t == NPY_OBJECT: f[0] = 79 #"O" + * else: + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 897, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 897, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 897, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x67; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":898 + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 898, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 898, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 898, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (likely(__pyx_t_6)) { + (__pyx_v_f[0]) = 79; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":900 + * elif t == NPY_OBJECT: f[0] = 79 #"O" + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * f += 1 + * else: + */ + /*else*/ { + __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 900, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 900, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 900, __pyx_L1_error) + } + __pyx_L15:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":901 + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * f += 1 # <<<<<<<<<<<<<< + * else: + * # Cython ignores struct boundary information ("T{...}"), + */ + __pyx_v_f = (__pyx_v_f + 1); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 + * offset[0] += child.itemsize + * + * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< + * t = child.type_num + * if end - f < 5: + */ + goto __pyx_L13; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":905 + * # Cython ignores struct boundary information ("T{...}"), + * # so don't output it + * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< + * return f + * + */ + /*else*/ { + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 905, __pyx_L1_error) + __pyx_v_f = __pyx_t_9; + } + __pyx_L13:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 + * cdef tuple fields + * + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":906 + * # so don't output it + * f = _util_dtypestring(child, f, end, offset) + * return f # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_v_f; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 + * return () + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< + * # Recursive utility function used in __getbuffer__ to get format + * # string. The new location in the format string is returned. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_child); + __Pyx_XDECREF(__pyx_v_fields); + __Pyx_XDECREF(__pyx_v_childname); + __Pyx_XDECREF(__pyx_v_new_offset); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_array_base", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1022 + * + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< + * PyArray_SetBaseObject(arr, base) + * + */ + Py_INCREF(__pyx_v_base); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1023 + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_v_base; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1026 + * + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< + * if base is NULL: + * return None + */ + __pyx_v_base = PyArray_BASE(__pyx_v_arr); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + __pyx_t_1 = ((__pyx_v_base == NULL) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1028 + * base = PyArray_BASE(arr) + * if base is NULL: + * return None # <<<<<<<<<<<<<< + * return base + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1029 + * if base is NULL: + * return None + * return base # <<<<<<<<<<<<<< + * + * # Versions of the import_* functions which are more suitable for + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_base)); + __pyx_r = ((PyObject *)__pyx_v_base); + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * _import_array() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_array", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * _import_array() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1035 + * cdef inline int import_array() except -1: + * try: + * _import_array() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") + */ + __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1035, __pyx_L3_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * _import_array() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1036 + * try: + * _import_array() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.multiarray failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1036, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 + * _import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1037, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 1037, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * _import_array() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * _import_array() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_umath", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1041 + * cdef inline int import_umath() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1041, __pyx_L3_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1042 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1042, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1043, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 1043, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_ufunc", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1047 + * cdef inline int import_ufunc() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1047, __pyx_L3_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1048 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1048, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1049 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1049, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 1049, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_claude_low_level_library(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_claude_low_level_library}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "claude_low_level_library", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, + {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, + {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, + {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0}, + {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, + {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, + {&__pyx_n_s_axial_tilt, __pyx_k_axial_tilt, sizeof(__pyx_k_axial_tilt), 0, 0, 1, 1}, + {&__pyx_n_s_axis, __pyx_k_axis, sizeof(__pyx_k_axis), 0, 0, 1, 1}, + {&__pyx_n_s_claude_low_level_library, __pyx_k_claude_low_level_library, sizeof(__pyx_k_claude_low_level_library), 0, 0, 1, 1}, + {&__pyx_kp_s_claude_low_level_library_pyx, __pyx_k_claude_low_level_library_pyx, sizeof(__pyx_k_claude_low_level_library_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_cos, __pyx_k_cos, sizeof(__pyx_k_cos), 0, 0, 1, 1}, + {&__pyx_n_s_cos_lon, __pyx_k_cos_lon, sizeof(__pyx_k_cos_lon), 0, 0, 1, 1}, + {&__pyx_n_s_day, __pyx_k_day, sizeof(__pyx_k_day), 0, 0, 1, 1}, + {&__pyx_n_s_dx, __pyx_k_dx, sizeof(__pyx_k_dx), 0, 0, 1, 1}, + {&__pyx_n_s_dy, __pyx_k_dy, sizeof(__pyx_k_dy), 0, 0, 1, 1}, + {&__pyx_n_s_dz, __pyx_k_dz, sizeof(__pyx_k_dz), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_insolation, __pyx_k_insolation, sizeof(__pyx_k_insolation), 0, 0, 1, 1}, + {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, + {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1}, + {&__pyx_n_s_lat, __pyx_k_lat, sizeof(__pyx_k_lat), 0, 0, 1, 1}, + {&__pyx_n_s_lon, __pyx_k_lon, sizeof(__pyx_k_lon), 0, 0, 1, 1}, + {&__pyx_n_s_lon_diff, __pyx_k_lon_diff, sizeof(__pyx_k_lon_diff), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_mean, __pyx_k_mean, sizeof(__pyx_k_mean), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0}, + {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0}, + {&__pyx_n_s_nlat, __pyx_k_nlat, sizeof(__pyx_k_nlat), 0, 0, 1, 1}, + {&__pyx_n_s_nlevels, __pyx_k_nlevels, sizeof(__pyx_k_nlevels), 0, 0, 1, 1}, + {&__pyx_n_s_nlon, __pyx_k_nlon, sizeof(__pyx_k_nlon), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, + {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, + {&__pyx_n_s_output, __pyx_k_output, sizeof(__pyx_k_output), 0, 0, 1, 1}, + {&__pyx_n_s_pi, __pyx_k_pi, sizeof(__pyx_k_pi), 0, 0, 1, 1}, + {&__pyx_n_s_profile, __pyx_k_profile, sizeof(__pyx_k_profile), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_x, __pyx_k_scalar_gradient_x, sizeof(__pyx_k_scalar_gradient_x), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_x_2D, __pyx_k_scalar_gradient_x_2D, sizeof(__pyx_k_scalar_gradient_x_2D), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_y, __pyx_k_scalar_gradient_y, sizeof(__pyx_k_scalar_gradient_y), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_y_2d, __pyx_k_scalar_gradient_y_2d, sizeof(__pyx_k_scalar_gradient_y_2d), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_z, __pyx_k_scalar_gradient_z, sizeof(__pyx_k_scalar_gradient_z), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_z_1D, __pyx_k_scalar_gradient_z_1D, sizeof(__pyx_k_scalar_gradient_z_1D), 0, 0, 1, 1}, + {&__pyx_n_s_sigma, __pyx_k_sigma, sizeof(__pyx_k_sigma), 0, 0, 1, 1}, + {&__pyx_n_s_solar, __pyx_k_solar, sizeof(__pyx_k_solar), 0, 0, 1, 1}, + {&__pyx_n_s_sun_latitude, __pyx_k_sun_latitude, sizeof(__pyx_k_sun_latitude), 0, 0, 1, 1}, + {&__pyx_n_s_sun_longitude, __pyx_k_sun_longitude, sizeof(__pyx_k_sun_longitude), 0, 0, 1, 1}, + {&__pyx_n_s_surface_optical_depth, __pyx_k_surface_optical_depth, sizeof(__pyx_k_surface_optical_depth), 0, 0, 1, 1}, + {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_thermal_radiation, __pyx_k_thermal_radiation, sizeof(__pyx_k_thermal_radiation), 0, 0, 1, 1}, + {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0}, + {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1}, + {&__pyx_n_s_year, __pyx_k_year, sizeof(__pyx_k_year), 0, 0, 1, 1}, + {&__pyx_n_s_zeros_like, __pyx_k_zeros_like, sizeof(__pyx_k_zeros_like), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 272, __pyx_L1_error) + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 285, __pyx_L1_error) + __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 855, __pyx_L1_error) + __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 1037, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + */ + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 272, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * + * info.buf = PyArray_DATA(self) + */ + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 276, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + */ + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 306, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 + * + * if (end - f) - (new_offset - offset[0]) < 15: + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * + * if ((child.byteorder == c'>' and little_endian) or + */ + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 855, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 + * t = child.type_num + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< + * + * # Until ticket #99 is fixed, use integers to avoid warnings + */ + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 + * _import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 1037, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 1043, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); + + /* "claude_low_level_library.pyx":13 + * # define various useful differential functions: + * # gradient of scalar field a in the local x direction at point i,j + * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + */ + __pyx_tuple__8 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_dx, __pyx_n_s_nlon, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_x, 13, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 13, __pyx_L1_error) + + /* "claude_low_level_library.pyx":16 + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + * def scalar_gradient_x_2D(a,dx,nlon,i,j): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] + * + */ + __pyx_tuple__10 = PyTuple_Pack(5, __pyx_n_s_a, __pyx_n_s_dx, __pyx_n_s_nlon, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_x_2D, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 16, __pyx_L1_error) + + /* "claude_low_level_library.pyx":20 + * + * # gradient of scalar field a in the local y direction at point i,j + * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + */ + __pyx_tuple__12 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_dy, __pyx_n_s_nlat, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); + __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_y, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 20, __pyx_L1_error) + + /* "claude_low_level_library.pyx":28 + * return (a[i+1,j,k]-a[i-1,j,k])/dy + * + * def scalar_gradient_y_2d(a,dy,nlat,i,j): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j]-a[i,j])/dy + */ + __pyx_tuple__14 = PyTuple_Pack(5, __pyx_n_s_a, __pyx_n_s_dy, __pyx_n_s_nlat, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__14); + __Pyx_GIVEREF(__pyx_tuple__14); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_y_2d, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 28, __pyx_L1_error) + + /* "claude_low_level_library.pyx":36 + * return (a[i+1,j]-a[i-1,j])/dy + * + * def scalar_gradient_z(a,dz,i,j,k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + __pyx_tuple__16 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_dz, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_output, __pyx_n_s_nlevels); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__16); + __Pyx_GIVEREF(__pyx_tuple__16); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(5, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_z, 36, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 36, __pyx_L1_error) + + /* "claude_low_level_library.pyx":46 + * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) + * + * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + __pyx_tuple__18 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_dz, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_output, __pyx_n_s_nlevels); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__18); + __Pyx_GIVEREF(__pyx_tuple__18); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(5, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_z_1D, 46, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 46, __pyx_L1_error) + + /* "claude_low_level_library.pyx":56 + * return (a[k+1]-a[k-1])/(2*dz[k]) + * + * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< + * return 4 + np.cos(lat*inv_90)*2.5 + * + */ + __pyx_tuple__20 = PyTuple_Pack(2, __pyx_n_s_lat, __pyx_n_s_lat); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 56, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__20); + __Pyx_GIVEREF(__pyx_tuple__20); + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_surface_optical_depth, 56, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 56, __pyx_L1_error) + + /* "claude_low_level_library.pyx":59 + * return 4 + np.cos(lat*inv_90)*2.5 + * + * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< + * cdef DTYPE_f sigma = 5.67E-8 + * return sigma*(a**4) + */ + __pyx_tuple__22 = PyTuple_Pack(3, __pyx_n_s_a, __pyx_n_s_a, __pyx_n_s_sigma); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__22); + __Pyx_GIVEREF(__pyx_tuple__22); + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_thermal_radiation, 59, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 59, __pyx_L1_error) + + /* "claude_low_level_library.pyx":64 + * + * # power incident on (lat,lon) at time t + * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * cdef float sun_longitude = -t % day + * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) + */ + __pyx_tuple__24 = PyTuple_Pack(12, __pyx_n_s_insolation, __pyx_n_s_lat, __pyx_n_s_lon, __pyx_n_s_t, __pyx_n_s_day, __pyx_n_s_year, __pyx_n_s_axial_tilt, __pyx_n_s_sun_longitude, __pyx_n_s_sun_latitude, __pyx_n_s_value, __pyx_n_s_lon_diff, __pyx_n_s_cos_lon); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__24); + __Pyx_GIVEREF(__pyx_tuple__24); + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(7, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_solar, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 64, __pyx_L1_error) + + /* "claude_low_level_library.pyx":88 + * return value + * + * def profile(a): # <<<<<<<<<<<<<< + * return np.mean(np.mean(a,axis=0),axis=0) + */ + __pyx_tuple__26 = PyTuple_Pack(1, __pyx_n_s_a); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__26); + __Pyx_GIVEREF(__pyx_tuple__26); + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_profile, 88, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_float_2_5 = PyFloat_FromDouble(2.5); if (unlikely(!__pyx_float_2_5)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_90 = PyInt_FromLong(90); if (unlikely(!__pyx_int_90)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_180 = PyInt_FromLong(180); if (unlikely(!__pyx_int_180)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 206, __pyx_L1_error) + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 229, __pyx_L1_error) + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 233, __pyx_L1_error) + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 242, __pyx_L1_error) + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 917, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initclaude_low_level_library(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initclaude_low_level_library(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_claude_low_level_library(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_claude_low_level_library(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_claude_low_level_library(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + float __pyx_t_3; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'claude_low_level_library' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #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("__Pyx_PyMODINIT_FUNC PyInit_claude_low_level_library(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __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_AsyncGen_USED + if (__pyx_AsyncGen_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 CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("claude_low_level_library", __pyx_methods, 0, 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) + #endif + __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) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + 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_claude_low_level_library) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_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, "claude_low_level_library")) { + if (unlikely(PyDict_SetItemString(modules, "claude_low_level_library", __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 type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + (void)__Pyx_modinit_type_init_code(); + if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_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 + + /* "claude_low_level_library.pyx":3 + * # claude low level library + * + * import numpy as np # <<<<<<<<<<<<<< + * cimport numpy as np + * cimport cython + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":8 + * + * ctypedef np.float64_t DTYPE_f + * cdef float inv_180 = np.pi/180 # <<<<<<<<<<<<<< + * cdef float inv_90 = np.pi/90 + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_int_180); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_3 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_3 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_24claude_low_level_library_inv_180 = __pyx_t_3; + + /* "claude_low_level_library.pyx":9 + * ctypedef np.float64_t DTYPE_f + * cdef float inv_180 = np.pi/180 + * cdef float inv_90 = np.pi/90 # <<<<<<<<<<<<<< + * + * # define various useful differential functions: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_int_90); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_3 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_3 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_24claude_low_level_library_inv_90 = __pyx_t_3; + + /* "claude_low_level_library.pyx":13 + * # define various useful differential functions: + * # gradient of scalar field a in the local x direction at point i,j + * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_1scalar_gradient_x, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_x, __pyx_t_1) < 0) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":16 + * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + * + * def scalar_gradient_x_2D(a,dx,nlon,i,j): # <<<<<<<<<<<<<< + * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] + * + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_3scalar_gradient_x_2D, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_x_2D, __pyx_t_1) < 0) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":20 + * + * # gradient of scalar field a in the local y direction at point i,j + * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j,k]-a[i,j,k])/dy + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_5scalar_gradient_y, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_y, __pyx_t_1) < 0) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":28 + * return (a[i+1,j,k]-a[i-1,j,k])/dy + * + * def scalar_gradient_y_2d(a,dy,nlat,i,j): # <<<<<<<<<<<<<< + * if i == 0: + * return 2*(a[i+1,j]-a[i,j])/dy + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_7scalar_gradient_y_2d, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_y_2d, __pyx_t_1) < 0) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":36 + * return (a[i+1,j]-a[i-1,j])/dy + * + * def scalar_gradient_z(a,dz,i,j,k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_9scalar_gradient_z, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_z, __pyx_t_1) < 0) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":46 + * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) + * + * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< + * cdef np.ndarray output = np.zeros_like(a) + * cdef np.int_t nlevels = len(dz) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_11scalar_gradient_z_1D, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_z_1D, __pyx_t_1) < 0) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":56 + * return (a[k+1]-a[k-1])/(2*dz[k]) + * + * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< + * return 4 + np.cos(lat*inv_90)*2.5 + * + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_13surface_optical_depth, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_surface_optical_depth, __pyx_t_1) < 0) __PYX_ERR(0, 56, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":59 + * return 4 + np.cos(lat*inv_90)*2.5 + * + * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< + * cdef DTYPE_f sigma = 5.67E-8 + * return sigma*(a**4) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_15thermal_radiation, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_thermal_radiation, __pyx_t_1) < 0) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":64 + * + * # power incident on (lat,lon) at time t + * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * cdef float sun_longitude = -t % day + * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_17solar, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_solar, __pyx_t_1) < 0) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":88 + * return value + * + * def profile(a): # <<<<<<<<<<<<<< + * return np.mean(np.mean(a,axis=0),axis=0) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_19profile, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_profile, __pyx_t_1) < 0) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_low_level_library.pyx":1 + * # claude low level library # <<<<<<<<<<<<<< + * + * import numpy as np + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); 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; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init claude_low_level_library", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init claude_low_level_library"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #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(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* None */ +static CYTHON_INLINE __pyx_t_5numpy_int_t __Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_5numpy_int_t a, __pyx_t_5numpy_int_t b) { + __pyx_t_5numpy_int_t r = a % b; + r += ((r != 0) & ((r ^ b) < 0)) * b; + return r; +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* ObjectGetItem */ +#if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a - b); + if (likely((x^a) >= 0 || (x^~b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + } + x = a - b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla - llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("subtract", return NULL) + result = ((double)a) - (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); +} +#endif + +/* PyIntCompare */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { + if (op1 == op2) { + Py_RETURN_TRUE; + } + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + int unequal; + unsigned long uintval; + Py_ssize_t size = Py_SIZE(op1); + const digit* digits = ((PyLongObject*)op1)->ob_digit; + if (intval == 0) { + if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } else if (intval < 0) { + if (size >= 0) + Py_RETURN_FALSE; + intval = -intval; + size = -size; + } else { + if (size <= 0) + Py_RETURN_FALSE; + } + uintval = (unsigned long) intval; +#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 4)) { + unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 3)) { + unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 2)) { + unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 1)) { + unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif + unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); + if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + return ( + PyObject_RichCompare(op1, op2, Py_EQ)); +} + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* PyDictVersioning */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* ExtTypeTest */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op2))) { + const long a = intval; + long x; + long b = PyInt_AS_LONG(op2); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op2))) { + const long a = intval; + long b, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG lla = intval; + PY_LONG_LONG llb, llx; +#endif + const digit* digits = ((PyLongObject*)op2)->ob_digit; + const Py_ssize_t size = Py_SIZE(op2); + if (likely(__Pyx_sst_abs(size) <= 1)) { + b = likely(size) ? digits[0] : 0; + if (size == -1) b = -b; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op2)) { + const long a = intval; + double b = PyFloat_AS_DOUBLE(op2); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* None */ +static CYTHON_INLINE __pyx_t_24claude_low_level_library_DTYPE_f __Pyx_mod___pyx_t_24claude_low_level_library_DTYPE_f(__pyx_t_24claude_low_level_library_DTYPE_f a, __pyx_t_24claude_low_level_library_DTYPE_f b) { + __pyx_t_24claude_low_level_library_DTYPE_f r = fmod(a, b); + r += ((r != 0) & ((r < 0) ^ (b < 0))) * b; + return r; +} + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* DictGetItem */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { + PyObject *value; + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (!PyErr_Occurred()) { + if (unlikely(PyTuple_Check(key))) { + PyObject* args = PyTuple_Pack(1, key); + if (likely(args)) { + PyErr_SetObject(PyExc_KeyError, args); + Py_DECREF(args); + } + } else { + PyErr_SetObject(PyExc_KeyError, key); + } + } + return NULL; + } + Py_INCREF(value); + return value; +} +#endif + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* RaiseNoneIterError */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); +} + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#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; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + 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( + tstate, /*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); +} + +/* 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;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_long(npy_long value) { + const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(npy_long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(npy_long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(npy_long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_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(npy_long), + little, !is_unsigned); + } +} + +/* Declarations */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabsf(b.real) >= fabsf(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + float r = b.imag / b.real; + float s = (float)(1.0) / (b.real + b.imag * r); + return __pyx_t_float_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + float r = b.real / b.imag; + float s = (float)(1.0) / (b.imag + b.real * r); + return __pyx_t_float_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + float denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_float_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrtf(z.real*z.real + z.imag*z.imag); + #else + return hypotf(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + float denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_float(a, a); + case 3: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, a); + case 4: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = powf(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2f(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_float(a); + theta = atan2f(a.imag, a.real); + } + lnr = logf(r); + z_r = expf(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cosf(z_theta); + z.imag = z_r * sinf(z_theta); + return z; + } + #endif +#endif + +/* Declarations */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabs(b.real) >= fabs(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + double r = b.imag / b.real; + double s = (double)(1.0) / (b.real + b.imag * r); + return __pyx_t_double_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + double r = b.real / b.imag; + double s = (double)(1.0) / (b.imag + b.real * r); + return __pyx_t_double_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + double denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_double_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrt(z.real*z.real + z.imag*z.imag); + #else + return hypot(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + double denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_double(a, a); + case 3: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, a); + case 4: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = pow(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_double(a); + theta = atan2(a.imag, a.real); + } + lnr = log(r); + z_r = exp(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cos(z_theta); + z.imag = z_r * sin(z_theta); + return z; + } + #endif +#endif + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) ((int) 0 - (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_enum__NPY_TYPES(enum NPY_TYPES value) { + const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (enum NPY_TYPES) 1), const_zero = (enum NPY_TYPES) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(enum NPY_TYPES) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(enum NPY_TYPES) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(enum NPY_TYPES) <= 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(enum NPY_TYPES), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *x) { + const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(npy_long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(npy_long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (npy_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 (npy_long) 0; + case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, digits[0]) + case 2: + if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) >= 2 * PyLong_SHIFT) { + return (npy_long) (((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) >= 3 * PyLong_SHIFT) { + return (npy_long) (((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_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(npy_long) >= 4 * PyLong_SHIFT) { + return (npy_long) (((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_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 (npy_long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(npy_long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_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 (npy_long) 0; + case -1: __PYX_VERIFY_RETURN_INT(npy_long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, +digits[0]) + case -2: + if (8 * sizeof(npy_long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { + return (npy_long) (((npy_long)-1)*(((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { + return (npy_long) ((((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { + return (npy_long) (((npy_long)-1)*(((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { + return (npy_long) ((((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_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(npy_long) - 1 > 4 * PyLong_SHIFT) { + return (npy_long) (((npy_long)-1)*(((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_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(npy_long) - 1 > 4 * PyLong_SHIFT) { + return (npy_long) ((((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(npy_long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_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 + npy_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 (npy_long) -1; + } + } else { + npy_long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (npy_long) -1; + val = __Pyx_PyInt_As_npy_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to npy_long"); + return (npy_long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to npy_long"); + return (npy_long) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (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; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (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); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (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; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; ip) { + #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; + if (PyObject_Hash(*t->p) == -1) + 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 const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + 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 +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(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 +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __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)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } 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 int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +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 (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(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 = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + 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(b); + } +#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_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/claude_low_level_library.cp38-win_amd64.pyd b/claude_low_level_library.cp38-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..0507f3224e2ece792eaae0560d25059cfcecee7c GIT binary patch literal 78848 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 90: + return insolation*np.cos((lat+sun_latitude)*np.pi/180)*np.cos(lon_diff*np.pi/180) + elif lat + sun_latitude < -90: + return insolation*np.cos((lat+sun_latitude)*np.pi/180)*np.cos(lon_diff*np.pi/180) + else: + return 0 + else: + return value + +def profile(a): + return np.mean(np.mean(a,axis=0),axis=0) \ No newline at end of file diff --git a/claude_low_level_library.pyx b/claude_low_level_library.pyx new file mode 100644 index 0000000..771f125 --- /dev/null +++ b/claude_low_level_library.pyx @@ -0,0 +1,89 @@ +# claude low level library + +import numpy as np +cimport numpy as np +cimport cython + +ctypedef np.float64_t DTYPE_f +cdef float inv_180 = np.pi/180 +cdef float inv_90 = np.pi/90 + +# define various useful differential functions: +# gradient of scalar field a in the local x direction at point i,j +def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): + return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] + +def scalar_gradient_x_2D(a,dx,nlon,i,j): + return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] + +# gradient of scalar field a in the local y direction at point i,j +def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): + if i == 0: + return 2*(a[i+1,j,k]-a[i,j,k])/dy + elif i == nlat-1: + return 2*(a[i,j,k]-a[i-1,j,k])/dy + else: + return (a[i+1,j,k]-a[i-1,j,k])/dy + +def scalar_gradient_y_2d(a,dy,nlat,i,j): + if i == 0: + return 2*(a[i+1,j]-a[i,j])/dy + elif i == nlat-1: + return 2*(a[i,j]-a[i-1,j])/dy + else: + return (a[i+1,j]-a[i-1,j])/dy + +def scalar_gradient_z(a,dz,i,j,k): + cdef np.ndarray output = np.zeros_like(a) + cdef np.int_t nlevels = len(dz) + if k == 0: + return (a[i,j,k+1]-a[i,j,k])/dz[k] + elif k == nlevels-1: + return (a[i,j,k]-a[i,j,k-1])/dz[k] + else: + return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) + +def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): + cdef np.ndarray output = np.zeros_like(a) + cdef np.int_t nlevels = len(dz) + if k == 0: + return (a[k+1]-a[k])/dz[k] + elif k == nlevels-1: + return (a[k]-a[k-1])/dz[k] + else: + return (a[k+1]-a[k-1])/(2*dz[k]) + +def surface_optical_depth(DTYPE_f lat): + return 4 + np.cos(lat*inv_90)*2.5 + +def thermal_radiation(DTYPE_f a): + cdef DTYPE_f sigma = 5.67E-8 + return sigma*(a**4) + +# power incident on (lat,lon) at time t +def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): + cdef float sun_longitude = -t % day + cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) + cdef float value = insolation*np.cos((lat-sun_latitude)*inv_180) + cdef float lon_diff, cos_lon + + if value < 0: + return 0 + else: + sun_longitude *= 360/day + lon_diff = lon-sun_longitude + cos_lon = np.cos(lon_diff*inv_180) + value *= cos_lon + + if value < 0: + if lat + sun_latitude > 90: + return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + elif lat + sun_latitude < -90: + return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon + else: + return 0 + else: + return value + +def profile(a): + return np.mean(np.mean(a,axis=0),axis=0) \ No newline at end of file diff --git a/claude_setup.py b/claude_setup.py new file mode 100644 index 0000000..8cfbcef --- /dev/null +++ b/claude_setup.py @@ -0,0 +1,8 @@ +from setuptools import setup +from Cython.Build import cythonize +import numpy + +setup( + include_dirs=[numpy.get_include()], + ext_modules = cythonize("*.pyx") +) \ No newline at end of file diff --git a/claude_top_level_library.c b/claude_top_level_library.c new file mode 100644 index 0000000..4ea3378 --- /dev/null +++ b/claude_top_level_library.c @@ -0,0 +1,12405 @@ +/* Generated by Cython 0.29.21 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [], + "name": "claude_top_level_library", + "sources": [ + "claude_top_level_library.pyx" + ] + }, + "module_name": "claude_top_level_library" +} +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 < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_21" +#define CYTHON_HEX_VERSION 0x001D15F0 +#define CYTHON_FUTURE_DIVISION 0 +#include +#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 +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if 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_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #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 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 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_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #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 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 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_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 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 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #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 + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#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 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) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#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 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" +#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2 + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#else + #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) +#endif + #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_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#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 | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#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_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(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 +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #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 +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#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) + #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #endif +#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 +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? 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 +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#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 +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#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) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(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 + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include +#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_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__claude_top_level_library +#define __PYX_HAVE_API__claude_top_level_library +/* Early includes */ +#include +#include +#include "numpy/arrayobject.h" +#include "numpy/ufuncobject.h" +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_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_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#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))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #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) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_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 const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const 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_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const 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) +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); +} +#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) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +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) + 1); + 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 CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +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; + +/* Header.proto */ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + + +static const char *__pyx_f[] = { + "claude_top_level_library.pyx", + "__init__.pxd", + "type.pxd", +}; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":775 + * # in Cython to enable them only on the right systems. + * + * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + */ +typedef npy_int8 __pyx_t_5numpy_int8_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":776 + * + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t + */ +typedef npy_int16 __pyx_t_5numpy_int16_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":777 + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< + * ctypedef npy_int64 int64_t + * #ctypedef npy_int96 int96_t + */ +typedef npy_int32 __pyx_t_5numpy_int32_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":778 + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< + * #ctypedef npy_int96 int96_t + * #ctypedef npy_int128 int128_t + */ +typedef npy_int64 __pyx_t_5numpy_int64_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":782 + * #ctypedef npy_int128 int128_t + * + * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + */ +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":783 + * + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t + */ +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":784 + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< + * ctypedef npy_uint64 uint64_t + * #ctypedef npy_uint96 uint96_t + */ +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":785 + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< + * #ctypedef npy_uint96 uint96_t + * #ctypedef npy_uint128 uint128_t + */ +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":789 + * #ctypedef npy_uint128 uint128_t + * + * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< + * ctypedef npy_float64 float64_t + * #ctypedef npy_float80 float80_t + */ +typedef npy_float32 __pyx_t_5numpy_float32_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":790 + * + * ctypedef npy_float32 float32_t + * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< + * #ctypedef npy_float80 float80_t + * #ctypedef npy_float128 float128_t + */ +typedef npy_float64 __pyx_t_5numpy_float64_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":799 + * # The int types are mapped a bit surprising -- + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t + */ +typedef npy_long __pyx_t_5numpy_int_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":800 + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong longlong_t + * + */ +typedef npy_longlong __pyx_t_5numpy_long_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":801 + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_ulong uint_t + */ +typedef npy_longlong __pyx_t_5numpy_longlong_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":803 + * ctypedef npy_longlong longlong_t + * + * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t + */ +typedef npy_ulong __pyx_t_5numpy_uint_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":804 + * + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulonglong_t + * + */ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":805 + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_intp intp_t + */ +typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":807 + * ctypedef npy_ulonglong ulonglong_t + * + * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< + * ctypedef npy_uintp uintp_t + * + */ +typedef npy_intp __pyx_t_5numpy_intp_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":808 + * + * ctypedef npy_intp intp_t + * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< + * + * ctypedef npy_double float_t + */ +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":810 + * ctypedef npy_uintp uintp_t + * + * ctypedef npy_double float_t # <<<<<<<<<<<<<< + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t + */ +typedef npy_double __pyx_t_5numpy_float_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":811 + * + * ctypedef npy_double float_t + * ctypedef npy_double double_t # <<<<<<<<<<<<<< + * ctypedef npy_longdouble longdouble_t + * + */ +typedef npy_double __pyx_t_5numpy_double_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":812 + * ctypedef npy_double float_t + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cfloat cfloat_t + */ +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; + +/* "claude_top_level_library.pyx":8 + * cimport cython + * + * ctypedef np.float64_t DTYPE_f # <<<<<<<<<<<<<< + * + * # laplacian of scalar field a + */ +typedef __pyx_t_5numpy_float64_t __pyx_t_24claude_top_level_library_DTYPE_f; +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + + +/*--- Type declarations ---*/ + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":814 + * ctypedef npy_longdouble longdouble_t + * + * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t + */ +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":815 + * + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< + * ctypedef npy_clongdouble clongdouble_t + * + */ +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":816 + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cdouble complex_t + */ +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":818 + * ctypedef npy_clongdouble clongdouble_t + * + * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew1(a): + */ +typedef npy_cdouble __pyx_t_5numpy_complex_t; + +/* --- 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) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* SetItemInt.proto */ +#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\ + __Pyx_SetItemInt_Generic(o, to_py_func(i), v))) +static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v); +static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, + int is_list, int wraparound, int boundscheck); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) +#endif + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddCObj(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* PyFloatBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyFloat_DivideObjC(op1, op2, floatval, inplace, zerodivision_check)\ + ((inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2))) + #endif + +/* PyFloatBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyFloat_SubtractObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyFloat_SubtractObjC(op1, op2, floatval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) +#endif + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_SubtractCObj(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* DictGetItem.proto */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); +#define __Pyx_PyObject_Dict_GetItem(obj, name)\ + (likely(PyDict_CheckExact(obj)) ?\ + __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) +#else +#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) +#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) +#endif + +/* RaiseNoneIterError.proto */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* 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_npy_long(npy_long value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* RealImag.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif +#if defined(__cplusplus) && CYTHON_CCOMPLEX\ + && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_float(a, b) ((a)==(b)) + #define __Pyx_c_sum_float(a, b) ((a)+(b)) + #define __Pyx_c_diff_float(a, b) ((a)-(b)) + #define __Pyx_c_prod_float(a, b) ((a)*(b)) + #define __Pyx_c_quot_float(a, b) ((a)/(b)) + #define __Pyx_c_neg_float(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_float(z) ((z)==(float)0) + #define __Pyx_c_conj_float(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_float(z) (::std::abs(z)) + #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_float(z) ((z)==0) + #define __Pyx_c_conj_float(z) (conjf(z)) + #if 1 + #define __Pyx_c_abs_float(z) (cabsf(z)) + #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); + #endif +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_double(a, b) ((a)==(b)) + #define __Pyx_c_sum_double(a, b) ((a)+(b)) + #define __Pyx_c_diff_double(a, b) ((a)-(b)) + #define __Pyx_c_prod_double(a, b) ((a)*(b)) + #define __Pyx_c_quot_double(a, b) ((a)/(b)) + #define __Pyx_c_neg_double(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_double(z) ((z)==(double)0) + #define __Pyx_c_conj_double(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (::std::abs(z)) + #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_double(z) ((z)==0) + #define __Pyx_c_conj_double(z) (conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (cabs(z)) + #define __Pyx_c_pow_double(a, b) (cpow(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); + #endif +#endif + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'numpy' */ + +/* Module declarations from 'numpy' */ +static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; +static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ + +/* Module declarations from 'cython' */ + +/* Module declarations from 'claude_top_level_library' */ +#define __Pyx_MODULE_NAME "claude_top_level_library" +extern int __pyx_module_is_main_claude_top_level_library; +int __pyx_module_is_main_claude_top_level_library = 0; + +/* Implementation of 'claude_top_level_library' */ +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_RuntimeError; +static PyObject *__pyx_builtin_ImportError; +static const char __pyx_k_Q[] = "Q"; +static const char __pyx_k_a[] = "a"; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_j[] = "j"; +static const char __pyx_k_k[] = "k"; +static const char __pyx_k_t[] = "t"; +static const char __pyx_k_u[] = "u"; +static const char __pyx_k_v[] = "v"; +static const char __pyx_k_w[] = "w"; +static const char __pyx_k_au[] = "au"; +static const char __pyx_k_av[] = "av"; +static const char __pyx_k_dt[] = "dt"; +static const char __pyx_k_dx[] = "dx"; +static const char __pyx_k_dy[] = "dy"; +static const char __pyx_k_dz[] = "dz"; +static const char __pyx_k_fl[] = "fl"; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_day[] = "day"; +static const char __pyx_k_lat[] = "lat"; +static const char __pyx_k_lon[] = "lon"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_nlat[] = "nlat"; +static const char __pyx_k_nlon[] = "nlon"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_year[] = "year"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_shape[] = "shape"; +static const char __pyx_k_solar[] = "solar"; +static const char __pyx_k_zeros[] = "zeros"; +static const char __pyx_k_albedo[] = "albedo"; +static const char __pyx_k_arange[] = "arange"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_output[] = "output"; +static const char __pyx_k_u_temp[] = "u_temp"; +static const char __pyx_k_v_temp[] = "v_temp"; +static const char __pyx_k_w_temp[] = "w_temp"; +static const char __pyx_k_gravity[] = "gravity"; +static const char __pyx_k_heights[] = "heights"; +static const char __pyx_k_nlevels[] = "nlevels"; +static const char __pyx_k_coriolis[] = "coriolis"; +static const char __pyx_k_low_level[] = "low_level"; +static const char __pyx_k_ValueError[] = "ValueError"; +static const char __pyx_k_axial_tilt[] = "axial_tilt"; +static const char __pyx_k_insolation[] = "insolation"; +static const char __pyx_k_zeros_like[] = "zeros_like"; +static const char __pyx_k_ImportError[] = "ImportError"; +static const char __pyx_k_air_density[] = "air_density"; +static const char __pyx_k_RuntimeError[] = "RuntimeError"; +static const char __pyx_k_air_pressure[] = "air_pressure"; +static const char __pyx_k_old_pressure[] = "old_pressure"; +static const char __pyx_k_optical_depth[] = "optical_depth"; +static const char __pyx_k_density_profile[] = "density_profile"; +static const char __pyx_k_pressure_profile[] = "pressure_profile"; +static const char __pyx_k_upward_radiation[] = "upward_radiation"; +static const char __pyx_k_scalar_gradient_x[] = "scalar_gradient_x"; +static const char __pyx_k_scalar_gradient_y[] = "scalar_gradient_y"; +static const char __pyx_k_temperature_atmos[] = "temperature_atmos"; +static const char __pyx_k_temperature_world[] = "temperature_world"; +static const char __pyx_k_thermal_radiation[] = "thermal_radiation"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_downward_radiation[] = "downward_radiation"; +static const char __pyx_k_heat_capacity_earth[] = "heat_capacity_earth"; +static const char __pyx_k_scalar_gradient_z_1D[] = "scalar_gradient_z_1D"; +static const char __pyx_k_velocity_calculation[] = "velocity_calculation"; +static const char __pyx_k_radiation_calculation[] = "radiation_calculation"; +static const char __pyx_k_surface_optical_depth[] = "surface_optical_depth"; +static const char __pyx_k_divergence_with_scalar[] = "divergence_with_scalar"; +static const char __pyx_k_claude_low_level_library[] = "claude_low_level_library"; +static const char __pyx_k_claude_top_level_library[] = "claude_top_level_library"; +static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; +static const char __pyx_k_claude_top_level_library_pyx[] = "claude_top_level_library.pyx"; +static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; +static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; +static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; +static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; +static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; +static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; +static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; +static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; +static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; +static PyObject *__pyx_n_s_ImportError; +static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor; +static PyObject *__pyx_n_s_Q; +static PyObject *__pyx_n_s_RuntimeError; +static PyObject *__pyx_n_s_ValueError; +static PyObject *__pyx_n_s_a; +static PyObject *__pyx_n_s_air_density; +static PyObject *__pyx_n_s_air_pressure; +static PyObject *__pyx_n_s_albedo; +static PyObject *__pyx_n_s_arange; +static PyObject *__pyx_n_s_au; +static PyObject *__pyx_n_s_av; +static PyObject *__pyx_n_s_axial_tilt; +static PyObject *__pyx_n_s_claude_low_level_library; +static PyObject *__pyx_n_s_claude_top_level_library; +static PyObject *__pyx_kp_s_claude_top_level_library_pyx; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_coriolis; +static PyObject *__pyx_n_s_day; +static PyObject *__pyx_n_s_density_profile; +static PyObject *__pyx_n_s_divergence_with_scalar; +static PyObject *__pyx_n_s_downward_radiation; +static PyObject *__pyx_n_s_dt; +static PyObject *__pyx_n_s_dx; +static PyObject *__pyx_n_s_dy; +static PyObject *__pyx_n_s_dz; +static PyObject *__pyx_n_s_fl; +static PyObject *__pyx_n_s_gravity; +static PyObject *__pyx_n_s_heat_capacity_earth; +static PyObject *__pyx_n_s_heights; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_insolation; +static PyObject *__pyx_n_s_j; +static PyObject *__pyx_n_s_k; +static PyObject *__pyx_n_s_lat; +static PyObject *__pyx_n_s_lon; +static PyObject *__pyx_n_s_low_level; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous; +static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; +static PyObject *__pyx_n_s_nlat; +static PyObject *__pyx_n_s_nlevels; +static PyObject *__pyx_n_s_nlon; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; +static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; +static PyObject *__pyx_n_s_old_pressure; +static PyObject *__pyx_n_s_optical_depth; +static PyObject *__pyx_n_s_output; +static PyObject *__pyx_n_s_pressure_profile; +static PyObject *__pyx_n_s_radiation_calculation; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_scalar_gradient_x; +static PyObject *__pyx_n_s_scalar_gradient_y; +static PyObject *__pyx_n_s_scalar_gradient_z_1D; +static PyObject *__pyx_n_s_shape; +static PyObject *__pyx_n_s_solar; +static PyObject *__pyx_n_s_surface_optical_depth; +static PyObject *__pyx_n_s_t; +static PyObject *__pyx_n_s_temperature_atmos; +static PyObject *__pyx_n_s_temperature_world; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_thermal_radiation; +static PyObject *__pyx_n_s_u; +static PyObject *__pyx_n_s_u_temp; +static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd; +static PyObject *__pyx_n_s_upward_radiation; +static PyObject *__pyx_n_s_v; +static PyObject *__pyx_n_s_v_temp; +static PyObject *__pyx_n_s_velocity_calculation; +static PyObject *__pyx_n_s_w; +static PyObject *__pyx_n_s_w_temp; +static PyObject *__pyx_n_s_year; +static PyObject *__pyx_n_s_zeros; +static PyObject *__pyx_n_s_zeros_like; +static PyObject *__pyx_pf_24claude_top_level_library_divergence_with_scalar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_dx, PyObject *__pyx_v_dy); /* proto */ +static PyObject *__pyx_pf_24claude_top_level_library_2radiation_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_temperature_world, PyArrayObject *__pyx_v_temperature_atmos, PyArrayObject *__pyx_v_air_pressure, PyArrayObject *__pyx_v_air_density, PyArrayObject *__pyx_v_heat_capacity_earth, PyArrayObject *__pyx_v_albedo, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_insolation, PyArrayObject *__pyx_v_lat, PyArrayObject *__pyx_v_lon, PyArrayObject *__pyx_v_heights, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_5numpy_int_t __pyx_v_dt, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_axial_tilt); /* proto */ +static PyObject *__pyx_pf_24claude_top_level_library_4velocity_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_air_pressure, PyObject *__pyx_v_old_pressure, PyObject *__pyx_v_air_density, PyObject *__pyx_v_coriolis, PyObject *__pyx_v_gravity, PyObject *__pyx_v_dx, PyObject *__pyx_v_dy, PyObject *__pyx_v_dt); /* proto */ +static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */ +static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */ +static PyObject *__pyx_float_1E3; +static PyObject *__pyx_float_0_95; +static PyObject *__pyx_float_20E3; +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_900; +static PyObject *__pyx_int_86400; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_slice_; +static PyObject *__pyx_slice__2; +static PyObject *__pyx_tuple__3; +static PyObject *__pyx_tuple__4; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__7; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__9; +static PyObject *__pyx_tuple__10; +static PyObject *__pyx_tuple__12; +static PyObject *__pyx_tuple__14; +static PyObject *__pyx_codeobj__11; +static PyObject *__pyx_codeobj__13; +static PyObject *__pyx_codeobj__15; +/* Late includes */ + +/* "claude_top_level_library.pyx":26 + * + * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field + * def divergence_with_scalar(a,u,v,dx,dy): # <<<<<<<<<<<<<< + * output = np.zeros_like(a) + * nlat, nlon, nlevels = output.shape[:] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_top_level_library_1divergence_with_scalar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_top_level_library_1divergence_with_scalar = {"divergence_with_scalar", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_1divergence_with_scalar, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_top_level_library_1divergence_with_scalar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_a = 0; + PyObject *__pyx_v_u = 0; + PyObject *__pyx_v_v = 0; + PyObject *__pyx_v_dx = 0; + PyObject *__pyx_v_dy = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("divergence_with_scalar (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_dx,&__pyx_n_s_dy,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 5, 5, 1); __PYX_ERR(0, 26, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 5, 5, 2); __PYX_ERR(0, 26, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 5, 5, 3); __PYX_ERR(0, 26, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 5, 5, 4); __PYX_ERR(0, 26, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "divergence_with_scalar") < 0)) __PYX_ERR(0, 26, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_a = values[0]; + __pyx_v_u = values[1]; + __pyx_v_v = values[2]; + __pyx_v_dx = values[3]; + __pyx_v_dy = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 26, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_top_level_library.divergence_with_scalar", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_top_level_library_divergence_with_scalar(__pyx_self, __pyx_v_a, __pyx_v_u, __pyx_v_v, __pyx_v_dx, __pyx_v_dy); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_top_level_library_divergence_with_scalar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_dx, PyObject *__pyx_v_dy) { + PyObject *__pyx_v_output = NULL; + PyObject *__pyx_v_nlat = NULL; + PyObject *__pyx_v_nlon = NULL; + PyObject *__pyx_v_nlevels = NULL; + PyObject *__pyx_v_au = NULL; + PyObject *__pyx_v_av = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_j = NULL; + PyObject *__pyx_v_k = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *(*__pyx_t_6)(PyObject *); + Py_ssize_t __pyx_t_7; + PyObject *(*__pyx_t_8)(PyObject *); + Py_ssize_t __pyx_t_9; + PyObject *(*__pyx_t_10)(PyObject *); + Py_ssize_t __pyx_t_11; + PyObject *(*__pyx_t_12)(PyObject *); + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("divergence_with_scalar", 0); + + /* "claude_top_level_library.pyx":27 + * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field + * def divergence_with_scalar(a,u,v,dx,dy): + * output = np.zeros_like(a) # <<<<<<<<<<<<<< + * nlat, nlon, nlevels = output.shape[:] + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_a) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_a); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_output = __pyx_t_1; + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":28 + * def divergence_with_scalar(a,u,v,dx,dy): + * output = np.zeros_like(a) + * nlat, nlon, nlevels = output.shape[:] # <<<<<<<<<<<<<< + * + * au = a*u + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, NULL, NULL, &__pyx_slice_, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 28, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_2 = PyList_GET_ITEM(sequence, 1); + __pyx_t_4 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 2; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 3) < 0) __PYX_ERR(0, 28, __pyx_L1_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L4_unpacking_done; + __pyx_L3_unpacking_failed:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 28, __pyx_L1_error) + __pyx_L4_unpacking_done:; + } + __pyx_v_nlat = __pyx_t_1; + __pyx_t_1 = 0; + __pyx_v_nlon = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_nlevels = __pyx_t_4; + __pyx_t_4 = 0; + + /* "claude_top_level_library.pyx":30 + * nlat, nlon, nlevels = output.shape[:] + * + * au = a*u # <<<<<<<<<<<<<< + * av = a*v + * + */ + __pyx_t_3 = PyNumber_Multiply(__pyx_v_a, __pyx_v_u); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_au = __pyx_t_3; + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":31 + * + * au = a*u + * av = a*v # <<<<<<<<<<<<<< + * + * for i in range(nlat): + */ + __pyx_t_3 = PyNumber_Multiply(__pyx_v_a, __pyx_v_v); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_av = __pyx_t_3; + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":33 + * av = a*v + * + * for i in range(nlat): # <<<<<<<<<<<<<< + * for j in range(nlon): + * for k in range(nlevels): + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_nlat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + } else { + __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_8)) { + if (likely(PyList_CheckExact(__pyx_t_4))) { + if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 33, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 33, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_8(__pyx_t_4); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 33, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":34 + * + * for i in range(nlat): + * for j in range(nlon): # <<<<<<<<<<<<<< + * for k in range(nlevels): + * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_nlon); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; + __pyx_t_10 = NULL; + } else { + __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 34, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_10)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 34, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 34, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_10(__pyx_t_2); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 34, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_3); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":35 + * for i in range(nlat): + * for j in range(nlon): + * for k in range(nlevels): # <<<<<<<<<<<<<< + * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) + * return output + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; + __pyx_t_12 = NULL; + } else { + __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 35, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_12)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_3); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 35, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_3); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 35, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_12(__pyx_t_1); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 35, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":36 + * for j in range(nlon): + * for k in range(nlevels): + * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) # <<<<<<<<<<<<<< + * return output + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_low_level); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_14 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + __pyx_t_14 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_13)) { + PyObject *__pyx_temp[7] = {__pyx_t_5, __pyx_v_au, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_14, 6+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { + PyObject *__pyx_temp[7] = {__pyx_t_5, __pyx_v_au, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_14, 6+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_15 = PyTuple_New(6+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_au); + __Pyx_GIVEREF(__pyx_v_au); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_v_au); + __Pyx_INCREF(__pyx_v_dx); + __Pyx_GIVEREF(__pyx_v_dx); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_v_dx); + __Pyx_INCREF(__pyx_v_nlon); + __Pyx_GIVEREF(__pyx_v_nlon); + PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_14, __pyx_v_nlon); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_14, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_14, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_15, 5+__pyx_t_14, __pyx_v_k); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_low_level); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = NULL; + __pyx_t_14 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_14 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_v_av, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_14, 6+__pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_13); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_v_av, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_14, 6+__pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_13); + } else + #endif + { + __pyx_t_16 = PyTuple_New(6+__pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL; + } + __Pyx_INCREF(__pyx_v_av); + __Pyx_GIVEREF(__pyx_v_av); + PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_14, __pyx_v_av); + __Pyx_INCREF(__pyx_v_dy); + __Pyx_GIVEREF(__pyx_v_dy); + PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_14, __pyx_v_dy); + __Pyx_INCREF(__pyx_v_nlat); + __Pyx_GIVEREF(__pyx_v_nlat); + PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_14, __pyx_v_nlat); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_14, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_14, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_16, 5+__pyx_t_14, __pyx_v_k); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_16, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_v_k); + if (unlikely(PyObject_SetItem(__pyx_v_output, __pyx_t_13, __pyx_t_5) < 0)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "claude_top_level_library.pyx":35 + * for i in range(nlat): + * for j in range(nlon): + * for k in range(nlevels): # <<<<<<<<<<<<<< + * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) + * return output + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":34 + * + * for i in range(nlat): + * for j in range(nlon): # <<<<<<<<<<<<<< + * for k in range(nlevels): + * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) + */ + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":33 + * av = a*v + * + * for i in range(nlat): # <<<<<<<<<<<<<< + * for j in range(nlon): + * for k in range(nlevels): + */ + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "claude_top_level_library.pyx":37 + * for k in range(nlevels): + * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) + * return output # <<<<<<<<<<<<<< + * + * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_output); + __pyx_r = __pyx_v_output; + goto __pyx_L0; + + /* "claude_top_level_library.pyx":26 + * + * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field + * def divergence_with_scalar(a,u,v,dx,dy): # <<<<<<<<<<<<<< + * output = np.zeros_like(a) + * nlat, nlon, nlevels = output.shape[:] + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_AddTraceback("claude_top_level_library.divergence_with_scalar", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_output); + __Pyx_XDECREF(__pyx_v_nlat); + __Pyx_XDECREF(__pyx_v_nlon); + __Pyx_XDECREF(__pyx_v_nlevels); + __Pyx_XDECREF(__pyx_v_au); + __Pyx_XDECREF(__pyx_v_av); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_j); + __Pyx_XDECREF(__pyx_v_k); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_top_level_library.pyx":39 + * return output + * + * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * # calculate change in temperature of ground and atmosphere due to radiative imbalance + * cdef np.int_t nlat,nlon,nlevels,i,j + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_top_level_library_3radiation_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_top_level_library_3radiation_calculation = {"radiation_calculation", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_3radiation_calculation, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_top_level_library_3radiation_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_temperature_world = 0; + PyArrayObject *__pyx_v_temperature_atmos = 0; + PyArrayObject *__pyx_v_air_pressure = 0; + PyArrayObject *__pyx_v_air_density = 0; + PyArrayObject *__pyx_v_heat_capacity_earth = 0; + PyArrayObject *__pyx_v_albedo = 0; + __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_insolation; + PyArrayObject *__pyx_v_lat = 0; + PyArrayObject *__pyx_v_lon = 0; + PyArrayObject *__pyx_v_heights = 0; + PyArrayObject *__pyx_v_dz = 0; + __pyx_t_5numpy_int_t __pyx_v_t; + __pyx_t_5numpy_int_t __pyx_v_dt; + __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_day; + __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_year; + __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_axial_tilt; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("radiation_calculation (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_temperature_world,&__pyx_n_s_temperature_atmos,&__pyx_n_s_air_pressure,&__pyx_n_s_air_density,&__pyx_n_s_heat_capacity_earth,&__pyx_n_s_albedo,&__pyx_n_s_insolation,&__pyx_n_s_lat,&__pyx_n_s_lon,&__pyx_n_s_heights,&__pyx_n_s_dz,&__pyx_n_s_t,&__pyx_n_s_dt,&__pyx_n_s_day,&__pyx_n_s_year,&__pyx_n_s_axial_tilt,0}; + PyObject* values[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15); + CYTHON_FALLTHROUGH; + case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14); + CYTHON_FALLTHROUGH; + case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13); + CYTHON_FALLTHROUGH; + case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12); + CYTHON_FALLTHROUGH; + case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11); + CYTHON_FALLTHROUGH; + case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); + CYTHON_FALLTHROUGH; + case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + CYTHON_FALLTHROUGH; + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_temperature_world)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_temperature_atmos)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 1); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_pressure)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 2); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_density)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 3); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_heat_capacity_earth)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 4); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_albedo)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 5); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 6: + if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_insolation)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 6); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 7: + if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lat)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 7); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 8: + if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lon)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 8); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 9: + if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_heights)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 9); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 10: + if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 10); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 11: + if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 11); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 12: + if (likely((values[12] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dt)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 12); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 13: + if (likely((values[13] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_day)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 13); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 14: + if (likely((values[14] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 14); __PYX_ERR(0, 39, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 15: + if (likely((values[15] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_axial_tilt)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 15); __PYX_ERR(0, 39, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "radiation_calculation") < 0)) __PYX_ERR(0, 39, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 16) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + values[10] = PyTuple_GET_ITEM(__pyx_args, 10); + values[11] = PyTuple_GET_ITEM(__pyx_args, 11); + values[12] = PyTuple_GET_ITEM(__pyx_args, 12); + values[13] = PyTuple_GET_ITEM(__pyx_args, 13); + values[14] = PyTuple_GET_ITEM(__pyx_args, 14); + values[15] = PyTuple_GET_ITEM(__pyx_args, 15); + } + __pyx_v_temperature_world = ((PyArrayObject *)values[0]); + __pyx_v_temperature_atmos = ((PyArrayObject *)values[1]); + __pyx_v_air_pressure = ((PyArrayObject *)values[2]); + __pyx_v_air_density = ((PyArrayObject *)values[3]); + __pyx_v_heat_capacity_earth = ((PyArrayObject *)values[4]); + __pyx_v_albedo = ((PyArrayObject *)values[5]); + __pyx_v_insolation = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_insolation == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L3_error) + __pyx_v_lat = ((PyArrayObject *)values[7]); + __pyx_v_lon = ((PyArrayObject *)values[8]); + __pyx_v_heights = ((PyArrayObject *)values[9]); + __pyx_v_dz = ((PyArrayObject *)values[10]); + __pyx_v_t = __Pyx_PyInt_As_npy_long(values[11]); if (unlikely((__pyx_v_t == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L3_error) + __pyx_v_dt = __Pyx_PyInt_As_npy_long(values[12]); if (unlikely((__pyx_v_dt == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L3_error) + __pyx_v_day = __pyx_PyFloat_AsDouble(values[13]); if (unlikely((__pyx_v_day == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L3_error) + __pyx_v_year = __pyx_PyFloat_AsDouble(values[14]); if (unlikely((__pyx_v_year == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L3_error) + __pyx_v_axial_tilt = __pyx_PyFloat_AsDouble(values[15]); if (unlikely((__pyx_v_axial_tilt == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 39, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_top_level_library.radiation_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_temperature_world), __pyx_ptype_5numpy_ndarray, 1, "temperature_world", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_temperature_atmos), __pyx_ptype_5numpy_ndarray, 1, "temperature_atmos", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_air_pressure), __pyx_ptype_5numpy_ndarray, 1, "air_pressure", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_air_density), __pyx_ptype_5numpy_ndarray, 1, "air_density", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heat_capacity_earth), __pyx_ptype_5numpy_ndarray, 1, "heat_capacity_earth", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_albedo), __pyx_ptype_5numpy_ndarray, 1, "albedo", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lat), __pyx_ptype_5numpy_ndarray, 1, "lat", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lon), __pyx_ptype_5numpy_ndarray, 1, "lon", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heights), __pyx_ptype_5numpy_ndarray, 1, "heights", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dz), __pyx_ptype_5numpy_ndarray, 1, "dz", 0))) __PYX_ERR(0, 39, __pyx_L1_error) + __pyx_r = __pyx_pf_24claude_top_level_library_2radiation_calculation(__pyx_self, __pyx_v_temperature_world, __pyx_v_temperature_atmos, __pyx_v_air_pressure, __pyx_v_air_density, __pyx_v_heat_capacity_earth, __pyx_v_albedo, __pyx_v_insolation, __pyx_v_lat, __pyx_v_lon, __pyx_v_heights, __pyx_v_dz, __pyx_v_t, __pyx_v_dt, __pyx_v_day, __pyx_v_year, __pyx_v_axial_tilt); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_top_level_library_2radiation_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_temperature_world, PyArrayObject *__pyx_v_temperature_atmos, PyArrayObject *__pyx_v_air_pressure, PyArrayObject *__pyx_v_air_density, PyArrayObject *__pyx_v_heat_capacity_earth, PyArrayObject *__pyx_v_albedo, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_insolation, PyArrayObject *__pyx_v_lat, PyArrayObject *__pyx_v_lon, PyArrayObject *__pyx_v_heights, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_5numpy_int_t __pyx_v_dt, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_axial_tilt) { + __pyx_t_5numpy_int_t __pyx_v_nlat; + __pyx_t_5numpy_int_t __pyx_v_nlon; + __pyx_t_5numpy_int_t __pyx_v_nlevels; + __pyx_t_5numpy_int_t __pyx_v_i; + __pyx_t_5numpy_int_t __pyx_v_j; + __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_fl; + PyArrayObject *__pyx_v_upward_radiation = 0; + PyArrayObject *__pyx_v_downward_radiation = 0; + PyArrayObject *__pyx_v_optical_depth = 0; + PyArrayObject *__pyx_v_Q = 0; + PyArrayObject *__pyx_v_pressure_profile = 0; + PyArrayObject *__pyx_v_density_profile = 0; + PyObject *__pyx_v_k = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + __pyx_t_5numpy_int_t __pyx_t_5; + __pyx_t_5numpy_int_t __pyx_t_6; + __pyx_t_5numpy_int_t __pyx_t_7; + __pyx_t_5numpy_int_t __pyx_t_8; + __pyx_t_5numpy_int_t __pyx_t_9; + __pyx_t_5numpy_int_t __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + Py_ssize_t __pyx_t_13; + PyObject *(*__pyx_t_14)(PyObject *); + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_t_18; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("radiation_calculation", 0); + + /* "claude_top_level_library.pyx":42 + * # calculate change in temperature of ground and atmosphere due to radiative imbalance + * cdef np.int_t nlat,nlon,nlevels,i,j + * cdef DTYPE_f fl = 0.1 # <<<<<<<<<<<<<< + * cdef np.ndarray upward_radiation,downward_radiation,optical_depth,Q, pressure_profile, density_profile + * + */ + __pyx_v_fl = 0.1; + + /* "claude_top_level_library.pyx":45 + * cdef np.ndarray upward_radiation,downward_radiation,optical_depth,Q, pressure_profile, density_profile + * + * nlat = temperature_atmos.shape[0] # <<<<<<<<<<<<<< + * nlon = temperature_atmos.shape[1] + * nlevels = temperature_atmos.shape[2] + */ + __pyx_v_nlat = (__pyx_v_temperature_atmos->dimensions[0]); + + /* "claude_top_level_library.pyx":46 + * + * nlat = temperature_atmos.shape[0] + * nlon = temperature_atmos.shape[1] # <<<<<<<<<<<<<< + * nlevels = temperature_atmos.shape[2] + * + */ + __pyx_v_nlon = (__pyx_v_temperature_atmos->dimensions[1]); + + /* "claude_top_level_library.pyx":47 + * nlat = temperature_atmos.shape[0] + * nlon = temperature_atmos.shape[1] + * nlevels = temperature_atmos.shape[2] # <<<<<<<<<<<<<< + * + * upward_radiation = np.zeros(nlevels) + */ + __pyx_v_nlevels = (__pyx_v_temperature_atmos->dimensions[2]); + + /* "claude_top_level_library.pyx":49 + * nlevels = temperature_atmos.shape[2] + * + * upward_radiation = np.zeros(nlevels) # <<<<<<<<<<<<<< + * downward_radiation = np.zeros(nlevels) + * optical_depth = np.zeros(nlevels) + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 49, __pyx_L1_error) + __pyx_v_upward_radiation = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":50 + * + * upward_radiation = np.zeros(nlevels) + * downward_radiation = np.zeros(nlevels) # <<<<<<<<<<<<<< + * optical_depth = np.zeros(nlevels) + * Q = np.zeros(nlevels) + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 50, __pyx_L1_error) + __pyx_v_downward_radiation = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":51 + * upward_radiation = np.zeros(nlevels) + * downward_radiation = np.zeros(nlevels) + * optical_depth = np.zeros(nlevels) # <<<<<<<<<<<<<< + * Q = np.zeros(nlevels) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 51, __pyx_L1_error) + __pyx_v_optical_depth = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":52 + * downward_radiation = np.zeros(nlevels) + * optical_depth = np.zeros(nlevels) + * Q = np.zeros(nlevels) # <<<<<<<<<<<<<< + * + * for i in range(nlat): + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 52, __pyx_L1_error) + __pyx_v_Q = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":54 + * Q = np.zeros(nlevels) + * + * for i in range(nlat): # <<<<<<<<<<<<<< + * for j in range(nlon): + * # calculate optical depth + */ + __pyx_t_5 = __pyx_v_nlat; + __pyx_t_6 = __pyx_t_5; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i = __pyx_t_7; + + /* "claude_top_level_library.pyx":55 + * + * for i in range(nlat): + * for j in range(nlon): # <<<<<<<<<<<<<< + * # calculate optical depth + * pressure_profile = air_pressure[i,j,:] + */ + __pyx_t_8 = __pyx_v_nlon; + __pyx_t_9 = __pyx_t_8; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_j = __pyx_t_10; + + /* "claude_top_level_library.pyx":57 + * for j in range(nlon): + * # calculate optical depth + * pressure_profile = air_pressure[i,j,:] # <<<<<<<<<<<<<< + * density_profile = air_density[i,j,:] + * optical_depth = low_level.surface_optical_depth(lat[i])*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) + */ + __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __Pyx_INCREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_slice_); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_air_pressure), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_pressure_profile, ((PyArrayObject *)__pyx_t_2)); + __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":58 + * # calculate optical depth + * pressure_profile = air_pressure[i,j,:] + * density_profile = air_density[i,j,:] # <<<<<<<<<<<<<< + * optical_depth = low_level.surface_optical_depth(lat[i])*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) + * + */ + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); + __Pyx_INCREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_slice_); + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_air_density), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_density_profile, ((PyArrayObject *)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":59 + * pressure_profile = air_pressure[i,j,:] + * density_profile = air_density[i,j,:] + * optical_depth = low_level.surface_optical_depth(lat[i])*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) # <<<<<<<<<<<<<< + * + * # calculate upward longwave flux, bc is thermal radiation at surface + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_low_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_surface_optical_depth); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lat), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_fl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_pressure_profile), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyNumber_Divide(((PyObject *)__pyx_v_pressure_profile), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Multiply(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyFloat_FromDouble((1.0 - __pyx_v_fl)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_pressure_profile), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = __Pyx_PyNumber_Divide(((PyObject *)__pyx_v_pressure_profile), __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyNumber_Power(__pyx_t_11, __pyx_int_4, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Multiply(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Multiply(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_DECREF_SET(__pyx_v_optical_depth, ((PyArrayObject *)__pyx_t_11)); + __pyx_t_11 = 0; + + /* "claude_top_level_library.pyx":62 + * + * # calculate upward longwave flux, bc is thermal radiation at surface + * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) # <<<<<<<<<<<<<< + * for k in np.arange(1,nlevels): + * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_low_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_thermal_radiation); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_2 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_world), __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_11 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(__Pyx_SetItemInt(((PyObject *)__pyx_v_upward_radiation), 0, __pyx_t_11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "claude_top_level_library.pyx":63 + * # calculate upward longwave flux, bc is thermal radiation at surface + * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) + * for k in np.arange(1,nlevels): # <<<<<<<<<<<<<< + * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_3}; + __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_3}; + __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_int_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { + __pyx_t_1 = __pyx_t_11; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; + __pyx_t_14 = NULL; + } else { + __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 63, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + for (;;) { + if (likely(!__pyx_t_14)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_11 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_11); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 63, __pyx_L1_error) + #else + __pyx_t_11 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + #endif + } else { + if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_11); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 63, __pyx_L1_error) + #else + __pyx_t_11 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + #endif + } + } else { + __pyx_t_11 = __pyx_t_14(__pyx_t_1); + if (unlikely(!__pyx_t_11)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 63, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_11); + } + __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_11); + __pyx_t_11 = 0; + + /* "claude_top_level_library.pyx":64 + * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) + * for k in np.arange(1,nlevels): + * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) # <<<<<<<<<<<<<< + * + * # calculate downward longwave flux, bc is zero at TOA (in model) + */ + __pyx_t_11 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_upward_radiation), __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_11, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_low_level); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_thermal_radiation); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_16); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_v_k); + __pyx_t_11 = 0; + __pyx_t_16 = 0; + __pyx_t_16 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_15); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); + __Pyx_INCREF(__pyx_t_17); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_15, function); + } + } + __pyx_t_4 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_17, __pyx_t_16) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyNumber_Multiply(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Subtract(__pyx_t_2, __pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_2, 1, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyNumber_Subtract(__pyx_t_15, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_upward_radiation), __pyx_v_k, __pyx_t_2) < 0)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":63 + * # calculate upward longwave flux, bc is thermal radiation at surface + * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) + * for k in np.arange(1,nlevels): # <<<<<<<<<<<<<< + * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) + * + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":67 + * + * # calculate downward longwave flux, bc is zero at TOA (in model) + * downward_radiation[-1] = 0 # <<<<<<<<<<<<<< + * for k in np.arange(0,nlevels-1)[::-1]: + * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) + */ + if (unlikely(__Pyx_SetItemInt(((PyObject *)__pyx_v_downward_radiation), -1L, __pyx_int_0, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 67, __pyx_L1_error) + + /* "claude_top_level_library.pyx":68 + * # calculate downward longwave flux, bc is zero at TOA (in model) + * downward_radiation[-1] = 0 + * for k in np.arange(0,nlevels-1)[::-1]: # <<<<<<<<<<<<<< + * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_arange); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_nlevels - 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_0, __pyx_t_2}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_0, __pyx_t_2}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_12, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_12, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_slice__2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; + __pyx_t_14 = NULL; + } else { + __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 68, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_14)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_3); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 68, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_3); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 68, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_14(__pyx_t_1); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 68, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":69 + * downward_radiation[-1] = 0 + * for k in np.arange(0,nlevels-1)[::-1]: + * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) # <<<<<<<<<<<<<< + * + * # gradient of difference provides heating at each level + */ + __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_downward_radiation), __pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_low_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_thermal_radiation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_16); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_v_k); + __pyx_t_2 = 0; + __pyx_t_16 = 0; + __pyx_t_16 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_17); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_17, __pyx_t_16) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_16 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_17 = PyNumber_Subtract(__pyx_t_16, __pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_17); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Subtract(__pyx_t_15, __pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_4, 1, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Subtract(__pyx_t_15, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_downward_radiation), __pyx_v_k, __pyx_t_3) < 0)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":68 + * # calculate downward longwave flux, bc is zero at TOA (in model) + * downward_radiation[-1] = 0 + * for k in np.arange(0,nlevels-1)[::-1]: # <<<<<<<<<<<<<< + * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) + * + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":72 + * + * # gradient of difference provides heating at each level + * for k in np.arange(nlevels): # <<<<<<<<<<<<<< + * Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,0,0,k)/(1E3*density_profile[k]) + * # make sure model does not have a higher top than 50km!! + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_17); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_17, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { + __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_13 = 0; + __pyx_t_14 = NULL; + } else { + __pyx_t_13 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_14 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 72, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (;;) { + if (likely(!__pyx_t_14)) { + if (likely(PyList_CheckExact(__pyx_t_4))) { + if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 72, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 72, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } + } else { + __pyx_t_1 = __pyx_t_14(__pyx_t_4); + if (unlikely(!__pyx_t_1)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 72, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_1); + } + __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_1); + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":73 + * # gradient of difference provides heating at each level + * for k in np.arange(nlevels): + * Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,0,0,k)/(1E3*density_profile[k]) # <<<<<<<<<<<<<< + * # make sure model does not have a higher top than 50km!! + * # approximate SW heating of ozone + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_low_level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_scalar_gradient_z_1D); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(((PyObject *)__pyx_v_upward_radiation), ((PyObject *)__pyx_v_downward_radiation)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[6] = {__pyx_t_15, __pyx_t_3, ((PyObject *)__pyx_v_dz), __pyx_int_0, __pyx_int_0, __pyx_v_k}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[6] = {__pyx_t_15, __pyx_t_3, ((PyObject *)__pyx_v_dz), __pyx_int_0, __pyx_int_0, __pyx_v_k}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_16 = PyTuple_New(5+__pyx_t_12); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL; + } + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_12, __pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_v_dz)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_dz)); + PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_12, ((PyObject *)__pyx_v_dz)); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_12, __pyx_int_0); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_12, __pyx_int_0); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_12, __pyx_v_k); + __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Negative(__pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_density_profile), __pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_16 = PyNumber_Multiply(__pyx_float_1E3, __pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_Q), __pyx_v_k, __pyx_t_1) < 0)) __PYX_ERR(0, 73, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":76 + * # make sure model does not have a higher top than 50km!! + * # approximate SW heating of ozone + * if heights[k] > 20E3: # <<<<<<<<<<<<<< + * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) + * + */ + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_heights), __pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_16 = PyObject_RichCompare(__pyx_t_1, __pyx_float_20E3, Py_GT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_18) { + + /* "claude_top_level_library.pyx":77 + * # approximate SW heating of ozone + * if heights[k] > 20E3: + * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) # <<<<<<<<<<<<<< + * + * temperature_atmos[i,j,:] += Q*dt + */ + __Pyx_INCREF(__pyx_v_k); + __pyx_t_16 = __pyx_v_k; + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Q), __pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_low_level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_solar); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lat), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lon), __pyx_v_j, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = __Pyx_PyInt_From_npy_long(__pyx_v_t); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_19 = PyFloat_FromDouble(__pyx_v_day); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_20 = PyFloat_FromDouble(__pyx_v_year); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_21 = PyFloat_FromDouble(__pyx_v_axial_tilt); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_22 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { + __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_15); + if (likely(__pyx_t_22)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); + __Pyx_INCREF(__pyx_t_22); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_15, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[8] = {__pyx_t_22, __pyx_int_5, __pyx_t_3, __pyx_t_2, __pyx_t_11, __pyx_t_19, __pyx_t_20, __pyx_t_21}; + __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_12, 7+__pyx_t_12); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[8] = {__pyx_t_22, __pyx_int_5, __pyx_t_3, __pyx_t_2, __pyx_t_11, __pyx_t_19, __pyx_t_20, __pyx_t_21}; + __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_12, 7+__pyx_t_12); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + } else + #endif + { + __pyx_t_23 = PyTuple_New(7+__pyx_t_12); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + if (__pyx_t_22) { + __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_22); __pyx_t_22 = NULL; + } + __Pyx_INCREF(__pyx_int_5); + __Pyx_GIVEREF(__pyx_int_5); + PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_12, __pyx_int_5); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_12, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_12, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_12, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_19); + PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_12, __pyx_t_19); + __Pyx_GIVEREF(__pyx_t_20); + PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_12, __pyx_t_20); + __Pyx_GIVEREF(__pyx_t_21); + PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_12, __pyx_t_21); + __pyx_t_3 = 0; + __pyx_t_2 = 0; + __pyx_t_11 = 0; + __pyx_t_19 = 0; + __pyx_t_20 = 0; + __pyx_t_21 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_23, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + } + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_heights), __pyx_v_k); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_23 = __Pyx_PyFloat_SubtractObjC(__pyx_t_15, __pyx_float_20E3, 20E3, 0, 0); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = __Pyx_PyFloat_DivideObjC(__pyx_t_23, __pyx_float_1E3, 1E3, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + __pyx_t_23 = PyNumber_Power(__pyx_t_15, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = __Pyx_PyNumber_Divide(__pyx_t_23, __pyx_int_900); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + __pyx_t_23 = PyNumber_Multiply(__pyx_t_17, __pyx_t_15); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = __Pyx_PyNumber_Divide(__pyx_t_23, __pyx_int_86400); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_Q), __pyx_t_16, __pyx_t_23) < 0)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + + /* "claude_top_level_library.pyx":76 + * # make sure model does not have a higher top than 50km!! + * # approximate SW heating of ozone + * if heights[k] > 20E3: # <<<<<<<<<<<<<< + * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) + * + */ + } + + /* "claude_top_level_library.pyx":72 + * + * # gradient of difference provides heating at each level + * for k in np.arange(nlevels): # <<<<<<<<<<<<<< + * Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,0,0,k)/(1E3*density_profile[k]) + * # make sure model does not have a higher top than 50km!! + */ + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "claude_top_level_library.pyx":79 + * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) + * + * temperature_atmos[i,j,:] += Q*dt # <<<<<<<<<<<<<< + * + * # update surface temperature with shortwave radiation flux + */ + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_23 = PyTuple_New(3); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_16); + __Pyx_INCREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + PyTuple_SET_ITEM(__pyx_t_23, 2, __pyx_slice_); + __pyx_t_4 = 0; + __pyx_t_16 = 0; + __pyx_t_16 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_23); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_dt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = PyNumber_Multiply(((PyObject *)__pyx_v_Q), __pyx_t_4); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_16, __pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_23, __pyx_t_4) < 0)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + + /* "claude_top_level_library.pyx":82 + * + * # update surface temperature with shortwave radiation flux + * temperature_world[i,j] += dt*((1-albedo[i,j])*(low_level.solar(insolation,lat[i],lon[j],t, day, year, axial_tilt) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] # <<<<<<<<<<<<<< + * + * return temperature_world, temperature_atmos + */ + __pyx_t_23 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_GIVEREF(__pyx_t_23); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_23); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_4); + __pyx_t_23 = 0; + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_world), __pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_23 = __Pyx_PyInt_From_npy_long(__pyx_v_dt); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_1); + __pyx_t_16 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_albedo), __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyInt_SubtractCObj(__pyx_int_1, __pyx_t_1, 1, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_low_level); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_solar); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_20 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lat), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_19 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lon), __pyx_v_j, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_11 = __Pyx_PyInt_From_npy_long(__pyx_v_t); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_day); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_22 = PyFloat_FromDouble(__pyx_v_axial_tilt); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_22); + __pyx_t_24 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) { + __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_21); + if (likely(__pyx_t_24)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); + __Pyx_INCREF(__pyx_t_24); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_21, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_21)) { + PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_t_16, __pyx_t_20, __pyx_t_19, __pyx_t_11, __pyx_t_2, __pyx_t_3, __pyx_t_22}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_12, 7+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) { + PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_t_16, __pyx_t_20, __pyx_t_19, __pyx_t_11, __pyx_t_2, __pyx_t_3, __pyx_t_22}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_12, 7+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + } else + #endif + { + __pyx_t_25 = PyTuple_New(7+__pyx_t_12); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_25); + if (__pyx_t_24) { + __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_24); __pyx_t_24 = NULL; + } + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_12, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_20); + PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_12, __pyx_t_20); + __Pyx_GIVEREF(__pyx_t_19); + PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_12, __pyx_t_19); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_12, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_12, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_12, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_22); + PyTuple_SET_ITEM(__pyx_t_25, 6+__pyx_t_12, __pyx_t_22); + __pyx_t_16 = 0; + __pyx_t_20 = 0; + __pyx_t_19 = 0; + __pyx_t_11 = 0; + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_t_22 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_25, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + } + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_21 = __Pyx_GetItemInt(((PyObject *)__pyx_v_downward_radiation), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_25 = PyNumber_Add(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_25); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_21 = PyNumber_Multiply(__pyx_t_17, __pyx_t_25); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + __pyx_t_25 = __Pyx_GetItemInt(((PyObject *)__pyx_v_upward_radiation), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_25); + __pyx_t_17 = PyNumber_Subtract(__pyx_t_21, __pyx_t_25); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + __pyx_t_25 = PyNumber_Multiply(__pyx_t_23, __pyx_t_17); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_25); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_23 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_GIVEREF(__pyx_t_17); + PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_23); + PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_23); + __pyx_t_17 = 0; + __pyx_t_23 = 0; + __pyx_t_23 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_heat_capacity_earth), __pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_21 = __Pyx_PyNumber_Divide(__pyx_t_25, __pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_temperature_world), __pyx_t_15, __pyx_t_23) < 0)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + } + + /* "claude_top_level_library.pyx":84 + * temperature_world[i,j] += dt*((1-albedo[i,j])*(low_level.solar(insolation,lat[i],lon[j],t, day, year, axial_tilt) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] + * + * return temperature_world, temperature_atmos # <<<<<<<<<<<<<< + * + * def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 84, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_INCREF(((PyObject *)__pyx_v_temperature_world)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_temperature_world)); + PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_temperature_world)); + __Pyx_INCREF(((PyObject *)__pyx_v_temperature_atmos)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_temperature_atmos)); + PyTuple_SET_ITEM(__pyx_t_15, 1, ((PyObject *)__pyx_v_temperature_atmos)); + __pyx_r = __pyx_t_15; + __pyx_t_15 = 0; + goto __pyx_L0; + + /* "claude_top_level_library.pyx":39 + * return output + * + * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * # calculate change in temperature of ground and atmosphere due to radiative imbalance + * cdef np.int_t nlat,nlon,nlevels,i,j + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_20); + __Pyx_XDECREF(__pyx_t_21); + __Pyx_XDECREF(__pyx_t_22); + __Pyx_XDECREF(__pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); + __Pyx_XDECREF(__pyx_t_25); + __Pyx_AddTraceback("claude_top_level_library.radiation_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_upward_radiation); + __Pyx_XDECREF((PyObject *)__pyx_v_downward_radiation); + __Pyx_XDECREF((PyObject *)__pyx_v_optical_depth); + __Pyx_XDECREF((PyObject *)__pyx_v_Q); + __Pyx_XDECREF((PyObject *)__pyx_v_pressure_profile); + __Pyx_XDECREF((PyObject *)__pyx_v_density_profile); + __Pyx_XDECREF(__pyx_v_k); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "claude_top_level_library.pyx":86 + * return temperature_world, temperature_atmos + * + * def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): # <<<<<<<<<<<<<< + * # introduce temporary arrays to update velocity in the atmosphere + * u_temp = np.zeros_like(u) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_24claude_top_level_library_5velocity_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_24claude_top_level_library_5velocity_calculation = {"velocity_calculation", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_5velocity_calculation, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_24claude_top_level_library_5velocity_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_u = 0; + PyObject *__pyx_v_v = 0; + PyObject *__pyx_v_air_pressure = 0; + PyObject *__pyx_v_old_pressure = 0; + PyObject *__pyx_v_air_density = 0; + PyObject *__pyx_v_coriolis = 0; + PyObject *__pyx_v_gravity = 0; + PyObject *__pyx_v_dx = 0; + PyObject *__pyx_v_dy = 0; + PyObject *__pyx_v_dt = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("velocity_calculation (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_air_pressure,&__pyx_n_s_old_pressure,&__pyx_n_s_air_density,&__pyx_n_s_coriolis,&__pyx_n_s_gravity,&__pyx_n_s_dx,&__pyx_n_s_dy,&__pyx_n_s_dt,0}; + PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + CYTHON_FALLTHROUGH; + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 1); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_pressure)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 2); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_old_pressure)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 3); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_density)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 4); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coriolis)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 5); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 6: + if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gravity)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 6); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 7: + if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 7); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 8: + if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 8); __PYX_ERR(0, 86, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 9: + if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dt)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 9); __PYX_ERR(0, 86, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "velocity_calculation") < 0)) __PYX_ERR(0, 86, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 10) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + } + __pyx_v_u = values[0]; + __pyx_v_v = values[1]; + __pyx_v_air_pressure = values[2]; + __pyx_v_old_pressure = values[3]; + __pyx_v_air_density = values[4]; + __pyx_v_coriolis = values[5]; + __pyx_v_gravity = values[6]; + __pyx_v_dx = values[7]; + __pyx_v_dy = values[8]; + __pyx_v_dt = values[9]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 86, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("claude_top_level_library.velocity_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_24claude_top_level_library_4velocity_calculation(__pyx_self, __pyx_v_u, __pyx_v_v, __pyx_v_air_pressure, __pyx_v_old_pressure, __pyx_v_air_density, __pyx_v_coriolis, __pyx_v_gravity, __pyx_v_dx, __pyx_v_dy, __pyx_v_dt); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_24claude_top_level_library_4velocity_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_air_pressure, PyObject *__pyx_v_old_pressure, PyObject *__pyx_v_air_density, PyObject *__pyx_v_coriolis, PyObject *__pyx_v_gravity, PyObject *__pyx_v_dx, PyObject *__pyx_v_dy, PyObject *__pyx_v_dt) { + PyObject *__pyx_v_u_temp = NULL; + PyObject *__pyx_v_v_temp = NULL; + PyObject *__pyx_v_w_temp = NULL; + PyObject *__pyx_v_nlat = NULL; + PyObject *__pyx_v_nlon = NULL; + PyObject *__pyx_v_nlevels = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_j = NULL; + PyObject *__pyx_v_k = NULL; + PyObject *__pyx_v_w = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *(*__pyx_t_6)(PyObject *); + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + PyObject *(*__pyx_t_9)(PyObject *); + Py_ssize_t __pyx_t_10; + PyObject *(*__pyx_t_11)(PyObject *); + Py_ssize_t __pyx_t_12; + PyObject *(*__pyx_t_13)(PyObject *); + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("velocity_calculation", 0); + __Pyx_INCREF(__pyx_v_u); + __Pyx_INCREF(__pyx_v_v); + + /* "claude_top_level_library.pyx":88 + * def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): + * # introduce temporary arrays to update velocity in the atmosphere + * u_temp = np.zeros_like(u) # <<<<<<<<<<<<<< + * v_temp = np.zeros_like(v) + * w_temp = np.zeros_like(u) + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_u) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_u); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_u_temp = __pyx_t_1; + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":89 + * # introduce temporary arrays to update velocity in the atmosphere + * u_temp = np.zeros_like(u) + * v_temp = np.zeros_like(v) # <<<<<<<<<<<<<< + * w_temp = np.zeros_like(u) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_v) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_v); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_v_temp = __pyx_t_1; + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":90 + * u_temp = np.zeros_like(u) + * v_temp = np.zeros_like(v) + * w_temp = np.zeros_like(u) # <<<<<<<<<<<<<< + * + * nlat,nlon,nlevels = air_pressure.shape[:] + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_u) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_u); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_w_temp = __pyx_t_1; + __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":92 + * w_temp = np.zeros_like(u) + * + * nlat,nlon,nlevels = air_pressure.shape[:] # <<<<<<<<<<<<<< + * + * # calculate acceleration of atmosphere using primitive equations on beta-plane + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_air_pressure, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, NULL, NULL, &__pyx_slice_, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 92, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_2 = PyList_GET_ITEM(sequence, 1); + __pyx_t_4 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 2; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 3) < 0) __PYX_ERR(0, 92, __pyx_L1_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L4_unpacking_done; + __pyx_L3_unpacking_failed:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 92, __pyx_L1_error) + __pyx_L4_unpacking_done:; + } + __pyx_v_nlat = __pyx_t_1; + __pyx_t_1 = 0; + __pyx_v_nlon = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_nlevels = __pyx_t_4; + __pyx_t_4 = 0; + + /* "claude_top_level_library.pyx":95 + * + * # calculate acceleration of atmosphere using primitive equations on beta-plane + * for i in np.arange(1,nlat-1): # <<<<<<<<<<<<<< + * for j in range(nlon): + * for k in range(nlevels): + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_nlat, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_1, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_1, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_int_1); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = 0; + __pyx_t_9 = NULL; + } else { + __pyx_t_8 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 95, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_9)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 95, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 95, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_9(__pyx_t_2); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 95, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":96 + * # calculate acceleration of atmosphere using primitive equations on beta-plane + * for i in np.arange(1,nlat-1): + * for j in range(nlon): # <<<<<<<<<<<<<< + * for k in range(nlevels): + * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_nlon); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = 0; + __pyx_t_11 = NULL; + } else { + __pyx_t_10 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 96, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 96, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_11)) { + if (likely(PyList_CheckExact(__pyx_t_5))) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 96, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 96, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_11(__pyx_t_5); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 96, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_3); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":97 + * for i in np.arange(1,nlat-1): + * for j in range(nlon): + * for k in range(nlevels): # <<<<<<<<<<<<<< + * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_12 = 0; + __pyx_t_13 = NULL; + } else { + __pyx_t_12 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_13 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 97, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_13)) { + if (likely(PyList_CheckExact(__pyx_t_4))) { + if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_3); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 97, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_3); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 97, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_13(__pyx_t_4); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 97, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3); + __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":98 + * for j in range(nlon): + * for k in range(nlevels): + * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) # <<<<<<<<<<<<<< + * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) + * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) + */ + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_k); + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_u_temp, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_v_k); + __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_u, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Negative(__pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_low_level); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_16)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_16); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_v_u, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_15 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_GOTREF(__pyx_t_15); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_v_u, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_15 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_GOTREF(__pyx_t_15); + } else + #endif + { + __pyx_t_18 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __pyx_t_16 = NULL; + } + __Pyx_INCREF(__pyx_v_u); + __Pyx_GIVEREF(__pyx_v_u); + PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_7, __pyx_v_u); + __Pyx_INCREF(__pyx_v_dx); + __Pyx_GIVEREF(__pyx_v_dx); + PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_7, __pyx_v_dx); + __Pyx_INCREF(__pyx_v_nlon); + __Pyx_GIVEREF(__pyx_v_nlon); + PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_7, __pyx_v_nlon); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_7, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_7, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_7, __pyx_v_k); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_18, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Multiply(__pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_v_k); + __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_v, __pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_low_level); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_16))) { + __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_16); + if (likely(__pyx_t_18)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); + __Pyx_INCREF(__pyx_t_18); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_16, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_16)) { + PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_v_u, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_15 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_GOTREF(__pyx_t_15); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { + PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_v_u, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_15 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_GOTREF(__pyx_t_15); + } else + #endif + { + __pyx_t_19 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_18); __pyx_t_18 = NULL; + } + __Pyx_INCREF(__pyx_v_u); + __Pyx_GIVEREF(__pyx_v_u); + PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_7, __pyx_v_u); + __Pyx_INCREF(__pyx_v_dy); + __Pyx_GIVEREF(__pyx_v_dy); + PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_7, __pyx_v_dy); + __Pyx_INCREF(__pyx_v_nlat); + __Pyx_GIVEREF(__pyx_v_nlat); + PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_7, __pyx_v_nlat); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_7, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_7, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_7, __pyx_v_k); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_19, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyNumber_Multiply(__pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyNumber_Subtract(__pyx_t_17, __pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_v_coriolis, __pyx_v_i); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_v_k); + __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_v, __pyx_t_17); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Multiply(__pyx_t_16, __pyx_t_14); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Add(__pyx_t_15, __pyx_t_17); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_low_level); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_16))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_16); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_16, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_16)) { + PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_v_air_pressure, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_17); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { + PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_v_air_pressure, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_17); + } else + #endif + { + __pyx_t_19 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_15); __pyx_t_15 = NULL; + } + __Pyx_INCREF(__pyx_v_air_pressure); + __Pyx_GIVEREF(__pyx_v_air_pressure); + PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_7, __pyx_v_air_pressure); + __Pyx_INCREF(__pyx_v_dx); + __Pyx_GIVEREF(__pyx_v_dx); + PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_7, __pyx_v_dx); + __Pyx_INCREF(__pyx_v_nlon); + __Pyx_GIVEREF(__pyx_v_nlon); + PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_7, __pyx_v_nlon); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_7, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_7, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_7, __pyx_v_k); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_19, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyTuple_New(3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_v_k); + __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_v_air_density, __pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_19); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_19 = PyNumber_Subtract(__pyx_t_14, __pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyNumber_Multiply(__pyx_v_dt, __pyx_t_19); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(PyObject_SetItem(__pyx_v_u_temp, __pyx_t_3, __pyx_t_19) < 0)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":99 + * for k in range(nlevels): + * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) # <<<<<<<<<<<<<< + * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) + * + */ + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_k); + __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_v_v_temp, __pyx_t_3); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_16 = PyTuple_New(3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_v_k); + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_u, __pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyNumber_Negative(__pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_low_level); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[7] = {__pyx_t_14, __pyx_v_v, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[7] = {__pyx_t_14, __pyx_v_v, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_15 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; + } + __Pyx_INCREF(__pyx_v_v); + __Pyx_GIVEREF(__pyx_v_v); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_v_v); + __Pyx_INCREF(__pyx_v_dx); + __Pyx_GIVEREF(__pyx_v_dx); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_v_dx); + __Pyx_INCREF(__pyx_v_nlon); + __Pyx_GIVEREF(__pyx_v_nlon); + PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_7, __pyx_v_nlon); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_7, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_7, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_15, 5+__pyx_t_7, __pyx_v_k); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Multiply(__pyx_t_16, __pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_k); + __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_v_v, __pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_low_level); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_v_v, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_v_v, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_18 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_15); __pyx_t_15 = NULL; + } + __Pyx_INCREF(__pyx_v_v); + __Pyx_GIVEREF(__pyx_v_v); + PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_7, __pyx_v_v); + __Pyx_INCREF(__pyx_v_dy); + __Pyx_GIVEREF(__pyx_v_dy); + PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_7, __pyx_v_dy); + __Pyx_INCREF(__pyx_v_nlat); + __Pyx_GIVEREF(__pyx_v_nlat); + PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_7, __pyx_v_nlat); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_7, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_7, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_7, __pyx_v_k); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Multiply(__pyx_t_16, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Subtract(__pyx_t_17, __pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_coriolis, __pyx_v_i); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_v_k); + __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_v_u, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Multiply(__pyx_t_14, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyNumber_Subtract(__pyx_t_1, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_low_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_v_air_pressure, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_17); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_v_air_pressure, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k}; + __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_17); + } else + #endif + { + __pyx_t_18 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_air_pressure); + __Pyx_GIVEREF(__pyx_v_air_pressure); + PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_7, __pyx_v_air_pressure); + __Pyx_INCREF(__pyx_v_dy); + __Pyx_GIVEREF(__pyx_v_dy); + PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_7, __pyx_v_dy); + __Pyx_INCREF(__pyx_v_nlat); + __Pyx_GIVEREF(__pyx_v_nlat); + PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_7, __pyx_v_nlat); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_7, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_7, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_7, __pyx_v_k); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_v_k); + __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_v_air_density, __pyx_t_14); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_18); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyNumber_Subtract(__pyx_t_16, __pyx_t_14); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Multiply(__pyx_v_dt, __pyx_t_18); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_t_19, __pyx_t_14); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(PyObject_SetItem(__pyx_v_v_temp, __pyx_t_3, __pyx_t_18) < 0)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":100 + * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) + * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) # <<<<<<<<<<<<<< + * + * u += u_temp + */ + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_k); + __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_v_w_temp, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_v_k); + __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_v_air_pressure, __pyx_t_14); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_v_k); + __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_v_old_pressure, __pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Subtract(__pyx_t_19, __pyx_t_16); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyNumber_Negative(__pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_i); + __Pyx_INCREF(__pyx_v_j); + __Pyx_GIVEREF(__pyx_v_j); + PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_v_j); + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_v_k); + __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_v_air_density, __pyx_t_14); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Multiply(__pyx_v_dt, __pyx_t_19); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_19 = PyNumber_Multiply(__pyx_t_14, __pyx_v_gravity); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyNumber_Divide(__pyx_t_16, __pyx_t_19); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_18, __pyx_t_14); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(PyObject_SetItem(__pyx_v_w_temp, __pyx_t_3, __pyx_t_19) < 0)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "claude_top_level_library.pyx":97 + * for i in np.arange(1,nlat-1): + * for j in range(nlon): + * for k in range(nlevels): # <<<<<<<<<<<<<< + * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) + */ + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "claude_top_level_library.pyx":96 + * # calculate acceleration of atmosphere using primitive equations on beta-plane + * for i in np.arange(1,nlat-1): + * for j in range(nlon): # <<<<<<<<<<<<<< + * for k in range(nlevels): + * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + */ + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "claude_top_level_library.pyx":95 + * + * # calculate acceleration of atmosphere using primitive equations on beta-plane + * for i in np.arange(1,nlat-1): # <<<<<<<<<<<<<< + * for j in range(nlon): + * for k in range(nlevels): + */ + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":102 + * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) + * + * u += u_temp # <<<<<<<<<<<<<< + * v += v_temp + * w = w_temp + */ + __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_u, __pyx_v_u_temp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF_SET(__pyx_v_u, __pyx_t_2); + __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":103 + * + * u += u_temp + * v += v_temp # <<<<<<<<<<<<<< + * w = w_temp + * + */ + __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_v, __pyx_v_v_temp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF_SET(__pyx_v_v, __pyx_t_2); + __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":104 + * u += u_temp + * v += v_temp + * w = w_temp # <<<<<<<<<<<<<< + * + * # approximate friction + */ + __Pyx_INCREF(__pyx_v_w_temp); + __pyx_v_w = __pyx_v_w_temp; + + /* "claude_top_level_library.pyx":107 + * + * # approximate friction + * u *= 0.95 # <<<<<<<<<<<<<< + * v *= 0.95 + * + */ + __pyx_t_2 = PyNumber_InPlaceMultiply(__pyx_v_u, __pyx_float_0_95); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF_SET(__pyx_v_u, __pyx_t_2); + __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":108 + * # approximate friction + * u *= 0.95 + * v *= 0.95 # <<<<<<<<<<<<<< + * + * return u,v,w + */ + __pyx_t_2 = PyNumber_InPlaceMultiply(__pyx_v_v, __pyx_float_0_95); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF_SET(__pyx_v_v, __pyx_t_2); + __pyx_t_2 = 0; + + /* "claude_top_level_library.pyx":110 + * v *= 0.95 + * + * return u,v,w # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_u); + __Pyx_GIVEREF(__pyx_v_u); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_u); + __Pyx_INCREF(__pyx_v_v); + __Pyx_GIVEREF(__pyx_v_v); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_v); + __Pyx_INCREF(__pyx_v_w); + __Pyx_GIVEREF(__pyx_v_w); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_w); + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "claude_top_level_library.pyx":86 + * return temperature_world, temperature_atmos + * + * def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): # <<<<<<<<<<<<<< + * # introduce temporary arrays to update velocity in the atmosphere + * u_temp = np.zeros_like(u) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_AddTraceback("claude_top_level_library.velocity_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_u_temp); + __Pyx_XDECREF(__pyx_v_v_temp); + __Pyx_XDECREF(__pyx_v_w_temp); + __Pyx_XDECREF(__pyx_v_nlat); + __Pyx_XDECREF(__pyx_v_nlon); + __Pyx_XDECREF(__pyx_v_nlevels); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_j); + __Pyx_XDECREF(__pyx_v_k); + __Pyx_XDECREF(__pyx_v_w); + __Pyx_XDECREF(__pyx_v_u); + __Pyx_XDECREF(__pyx_v_v); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 + * # experimental exception made for __getbuffer__ and __releasebuffer__ + * # -- the details of this may change. + * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< + * # This implementation of getbuffer is geared towards Cython + * # requirements, and does not yet fulfill the PEP. + */ + +/* Python wrapper */ +static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/ +static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0); + __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { + int __pyx_v_i; + int __pyx_v_ndim; + int __pyx_v_endian_detector; + int __pyx_v_little_endian; + int __pyx_v_t; + char *__pyx_v_f; + PyArray_Descr *__pyx_v_descr = 0; + int __pyx_v_offset; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyArray_Descr *__pyx_t_7; + PyObject *__pyx_t_8 = NULL; + char *__pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + if (__pyx_v_info == NULL) { + PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); + return -1; + } + __Pyx_RefNannySetupContext("__getbuffer__", 0); + __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(__pyx_v_info->obj); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":265 + * + * cdef int i, ndim + * cdef int endian_detector = 1 # <<<<<<<<<<<<<< + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * + */ + __pyx_v_endian_detector = 1; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":266 + * cdef int i, ndim + * cdef int endian_detector = 1 + * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * + * ndim = PyArray_NDIM(self) + */ + __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":268 + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * + * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + */ + __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 + * ndim = PyArray_NDIM(self) + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":271 + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not C contiguous") + * + */ + __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 + * ndim = PyArray_NDIM(self) + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + if (unlikely(__pyx_t_1)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 272, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 272, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 + * ndim = PyArray_NDIM(self) + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L7_bool_binop_done; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":275 + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not Fortran contiguous") + * + */ + __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L7_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + if (unlikely(__pyx_t_1)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * + * info.buf = PyArray_DATA(self) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 276, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":278 + * raise ValueError(u"ndarray is not Fortran contiguous") + * + * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< + * info.ndim = ndim + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":279 + * + * info.buf = PyArray_DATA(self) + * info.ndim = ndim # <<<<<<<<<<<<<< + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * # Allocate new buffer for strides and shape info. + */ + __pyx_v_info->ndim = __pyx_v_ndim; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 + * info.buf = PyArray_DATA(self) + * info.ndim = ndim + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + */ + __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":283 + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) # <<<<<<<<<<<<<< + * info.shape = info.strides + ndim + * for i in range(ndim): + */ + __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim)))); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":284 + * # This is allocated as one block, strides first. + * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) + * info.shape = info.strides + ndim # <<<<<<<<<<<<<< + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] + */ + __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":285 + * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) + * info.shape = info.strides + ndim + * for i in range(ndim): # <<<<<<<<<<<<<< + * info.strides[i] = PyArray_STRIDES(self)[i] + * info.shape[i] = PyArray_DIMS(self)[i] + */ + __pyx_t_4 = __pyx_v_ndim; + __pyx_t_5 = __pyx_t_4; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i = __pyx_t_6; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":286 + * info.shape = info.strides + ndim + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< + * info.shape[i] = PyArray_DIMS(self)[i] + * else: + */ + (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":287 + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] + * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< + * else: + * info.strides = PyArray_STRIDES(self) + */ + (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]); + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 + * info.buf = PyArray_DATA(self) + * info.ndim = ndim + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + */ + goto __pyx_L9; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":289 + * info.shape[i] = PyArray_DIMS(self)[i] + * else: + * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL + */ + /*else*/ { + __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":290 + * else: + * info.strides = PyArray_STRIDES(self) + * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) + */ + __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self)); + } + __pyx_L9:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":291 + * info.strides = PyArray_STRIDES(self) + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL # <<<<<<<<<<<<<< + * info.itemsize = PyArray_ITEMSIZE(self) + * info.readonly = not PyArray_ISWRITEABLE(self) + */ + __pyx_v_info->suboffsets = NULL; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":292 + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< + * info.readonly = not PyArray_ISWRITEABLE(self) + * + */ + __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":293 + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) + * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< + * + * cdef int t + */ + __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":296 + * + * cdef int t + * cdef char* f = NULL # <<<<<<<<<<<<<< + * cdef dtype descr = PyArray_DESCR(self) + * cdef int offset + */ + __pyx_v_f = NULL; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":297 + * cdef int t + * cdef char* f = NULL + * cdef dtype descr = PyArray_DESCR(self) # <<<<<<<<<<<<<< + * cdef int offset + * + */ + __pyx_t_7 = PyArray_DESCR(__pyx_v_self); + __pyx_t_3 = ((PyObject *)__pyx_t_7); + __Pyx_INCREF(__pyx_t_3); + __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":300 + * cdef int offset + * + * info.obj = self # <<<<<<<<<<<<<< + * + * if not PyDataType_HASFIELDS(descr): + */ + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); + __pyx_v_info->obj = ((PyObject *)__pyx_v_self); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 + * info.obj = self + * + * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + */ + __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":303 + * + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num # <<<<<<<<<<<<<< + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + */ + __pyx_t_4 = __pyx_v_descr->type_num; + __pyx_v_t = __pyx_t_4; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0); + if (!__pyx_t_2) { + goto __pyx_L15_next_or; + } else { + } + __pyx_t_2 = (__pyx_v_little_endian != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L14_bool_binop_done; + } + __pyx_L15_next_or:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":305 + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" + */ + __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L14_bool_binop_done; + } + __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L14_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + if (unlikely(__pyx_t_1)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 306, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 306, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 + * if not PyDataType_HASFIELDS(descr): + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":307 + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" + */ + switch (__pyx_v_t) { + case NPY_BYTE: + __pyx_v_f = ((char *)"b"); + break; + case NPY_UBYTE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":308 + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" + */ + __pyx_v_f = ((char *)"B"); + break; + case NPY_SHORT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":309 + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" + */ + __pyx_v_f = ((char *)"h"); + break; + case NPY_USHORT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":310 + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" + */ + __pyx_v_f = ((char *)"H"); + break; + case NPY_INT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":311 + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" + */ + __pyx_v_f = ((char *)"i"); + break; + case NPY_UINT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":312 + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" + */ + __pyx_v_f = ((char *)"I"); + break; + case NPY_LONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":313 + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" + */ + __pyx_v_f = ((char *)"l"); + break; + case NPY_ULONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":314 + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" + */ + __pyx_v_f = ((char *)"L"); + break; + case NPY_LONGLONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":315 + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" + */ + __pyx_v_f = ((char *)"q"); + break; + case NPY_ULONGLONG: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":316 + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" + */ + __pyx_v_f = ((char *)"Q"); + break; + case NPY_FLOAT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":317 + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" + */ + __pyx_v_f = ((char *)"f"); + break; + case NPY_DOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":318 + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" + */ + __pyx_v_f = ((char *)"d"); + break; + case NPY_LONGDOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":319 + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" + */ + __pyx_v_f = ((char *)"g"); + break; + case NPY_CFLOAT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":320 + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" + */ + __pyx_v_f = ((char *)"Zf"); + break; + case NPY_CDOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":321 + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< + * elif t == NPY_CLONGDOUBLE: f = "Zg" + * elif t == NPY_OBJECT: f = "O" + */ + __pyx_v_f = ((char *)"Zd"); + break; + case NPY_CLONGDOUBLE: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":322 + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< + * elif t == NPY_OBJECT: f = "O" + * else: + */ + __pyx_v_f = ((char *)"Zg"); + break; + case NPY_OBJECT: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":323 + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" + * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + */ + __pyx_v_f = ((char *)"O"); + break; + default: + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":325 + * elif t == NPY_OBJECT: f = "O" + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * info.format = f + * return + */ + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 325, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 325, __pyx_L1_error) + break; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":326 + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * info.format = f # <<<<<<<<<<<<<< + * return + * else: + */ + __pyx_v_info->format = __pyx_v_f; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":327 + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * info.format = f + * return # <<<<<<<<<<<<<< + * else: + * info.format = PyObject_Malloc(_buffer_format_string_len) + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 + * info.obj = self + * + * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":329 + * return + * else: + * info.format = PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 + */ + /*else*/ { + __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":330 + * else: + * info.format = PyObject_Malloc(_buffer_format_string_len) + * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< + * offset = 0 + * f = _util_dtypestring(descr, info.format + 1, + */ + (__pyx_v_info->format[0]) = '^'; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":331 + * info.format = PyObject_Malloc(_buffer_format_string_len) + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 # <<<<<<<<<<<<<< + * f = _util_dtypestring(descr, info.format + 1, + * info.format + _buffer_format_string_len, + */ + __pyx_v_offset = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":332 + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 + * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< + * info.format + _buffer_format_string_len, + * &offset) + */ + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 332, __pyx_L1_error) + __pyx_v_f = __pyx_t_9; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":335 + * info.format + _buffer_format_string_len, + * &offset) + * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + */ + (__pyx_v_f[0]) = '\x00'; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 + * # experimental exception made for __getbuffer__ and __releasebuffer__ + * # -- the details of this may change. + * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< + * # This implementation of getbuffer is geared towards Cython + * # requirements, and does not yet fulfill the PEP. + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + if (__pyx_v_info->obj != NULL) { + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; + } + goto __pyx_L2; + __pyx_L0:; + if (__pyx_v_info->obj == Py_None) { + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; + } + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_descr); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 + * f[0] = c'\0' # Terminate format string + * + * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + */ + +/* Python wrapper */ +static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ +static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0); + __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) { + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("__releasebuffer__", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":339 + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) # <<<<<<<<<<<<<< + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * PyObject_Free(info.strides) + */ + PyObject_Free(__pyx_v_info->format); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * PyObject_Free(info.strides) + * # info.shape was stored after info.strides in the same block + */ + __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":341 + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * PyObject_Free(info.strides) # <<<<<<<<<<<<<< + * # info.shape was stored after info.strides in the same block + * + */ + PyObject_Free(__pyx_v_info->strides); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * PyObject_Free(info.strides) + * # info.shape was stored after info.strides in the same block + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 + * f[0] = c'\0' # Terminate format string + * + * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< + * if PyArray_HASFIELDS(self): + * PyObject_Free(info.format) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":821 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 821, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":824 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 824, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":827 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 827, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":830 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 830, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":833 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 833, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":837 + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape # <<<<<<<<<<<<<< + * else: + * return () + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); + __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":839 + * return d.subarray.shape + * else: + * return () # <<<<<<<<<<<<<< + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_empty_tuple); + __pyx_r = __pyx_empty_tuple; + goto __pyx_L0; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 + * return () + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< + * # Recursive utility function used in __getbuffer__ to get format + * # string. The new location in the format string is returned. + */ + +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { + PyArray_Descr *__pyx_v_child = 0; + int __pyx_v_endian_detector; + int __pyx_v_little_endian; + PyObject *__pyx_v_fields = 0; + PyObject *__pyx_v_childname = NULL; + PyObject *__pyx_v_new_offset = NULL; + PyObject *__pyx_v_t = NULL; + char *__pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + int __pyx_t_7; + long __pyx_t_8; + char *__pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_util_dtypestring", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":846 + * + * cdef dtype child + * cdef int endian_detector = 1 # <<<<<<<<<<<<<< + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * cdef tuple fields + */ + __pyx_v_endian_detector = 1; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":847 + * cdef dtype child + * cdef int endian_detector = 1 + * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * cdef tuple fields + * + */ + __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 + * cdef tuple fields + * + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields + */ + if (unlikely(__pyx_v_descr->names == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(1, 850, __pyx_L1_error) + } + __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 850, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 850, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); + __pyx_t_3 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":851 + * + * for childname in descr.names: + * fields = descr.fields[childname] # <<<<<<<<<<<<<< + * child, new_offset = fields + * + */ + if (unlikely(__pyx_v_descr->fields == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 851, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 851, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 851, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":852 + * for childname in descr.names: + * fields = descr.fields[childname] + * child, new_offset = fields # <<<<<<<<<<<<<< + * + * if (end - f) - (new_offset - offset[0]) < 15: + */ + if (likely(__pyx_v_fields != Py_None)) { + PyObject* sequence = __pyx_v_fields; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(1, 852, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 852, __pyx_L1_error) + } + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 852, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3)); + __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); + __pyx_t_4 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 + * child, new_offset = fields + * + * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + */ + __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 854, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 854, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 854, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); + if (unlikely(__pyx_t_6)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 + * + * if (end - f) - (new_offset - offset[0]) < 15: + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * + * if ((child.byteorder == c'>' and little_endian) or + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 855, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 855, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 + * child, new_offset = fields + * + * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0); + if (!__pyx_t_7) { + goto __pyx_L8_next_or; + } else { + } + __pyx_t_7 = (__pyx_v_little_endian != 0); + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_L8_next_or:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":858 + * + * if ((child.byteorder == c'>' and little_endian) or + * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") + * # One could encode it in the format string and have Cython + */ + __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0); + if (__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0); + __pyx_t_6 = __pyx_t_7; + __pyx_L7_bool_binop_done:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + if (unlikely(__pyx_t_6)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":859 + * if ((child.byteorder == c'>' and little_endian) or + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * # One could encode it in the format string and have Cython + * # complain instead, BUT: < and > in format strings also imply + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 859, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 859, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":869 + * + * # Output padding bytes + * while offset[0] < new_offset: # <<<<<<<<<<<<<< + * f[0] = 120 # "x"; pad byte + * f += 1 + */ + while (1) { + __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 869, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 869, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 869, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_6) break; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":870 + * # Output padding bytes + * while offset[0] < new_offset: + * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< + * f += 1 + * offset[0] += 1 + */ + (__pyx_v_f[0]) = 0x78; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":871 + * while offset[0] < new_offset: + * f[0] = 120 # "x"; pad byte + * f += 1 # <<<<<<<<<<<<<< + * offset[0] += 1 + * + */ + __pyx_v_f = (__pyx_v_f + 1); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":872 + * f[0] = 120 # "x"; pad byte + * f += 1 + * offset[0] += 1 # <<<<<<<<<<<<<< + * + * offset[0] += child.itemsize + */ + __pyx_t_8 = 0; + (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":874 + * offset[0] += 1 + * + * offset[0] += child.itemsize # <<<<<<<<<<<<<< + * + * if not PyDataType_HASFIELDS(child): + */ + __pyx_t_8 = 0; + (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 + * offset[0] += child.itemsize + * + * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< + * t = child.type_num + * if end - f < 5: + */ + __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); + if (__pyx_t_6) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":877 + * + * if not PyDataType_HASFIELDS(child): + * t = child.type_num # <<<<<<<<<<<<<< + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") + */ + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 877, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); + __pyx_t_4 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 + * if not PyDataType_HASFIELDS(child): + * t = child.type_num + * if end - f < 5: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") + * + */ + __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); + if (unlikely(__pyx_t_6)) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 + * t = child.type_num + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< + * + * # Until ticket #99 is fixed, use integers to avoid warnings + */ + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 879, __pyx_L1_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 + * if not PyDataType_HASFIELDS(child): + * t = child.type_num + * if end - f < 5: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") + * + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":882 + * + * # Until ticket #99 is fixed, use integers to avoid warnings + * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 882, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 882, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 882, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 98; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":883 + * # Until ticket #99 is fixed, use integers to avoid warnings + * if t == NPY_BYTE: f[0] = 98 #"b" + * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 883, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 883, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 883, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 66; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":884 + * if t == NPY_BYTE: f[0] = 98 #"b" + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 884, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 884, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 884, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x68; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":885 + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 885, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 885, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 885, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 72; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":886 + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 886, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 886, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 886, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x69; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":887 + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 887, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 887, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 887, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 73; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":888 + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 888, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 888, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 888, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x6C; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":889 + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 889, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 889, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 76; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":890 + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 890, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 890, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 890, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x71; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":891 + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 891, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 891, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 891, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 81; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":892 + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 892, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 892, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 892, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x66; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":893 + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 893, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 893, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 893, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x64; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":894 + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 894, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 894, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 894, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x67; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":895 + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 895, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 895, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 895, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x66; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":896 + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + * elif t == NPY_OBJECT: f[0] = 79 #"O" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 896, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 896, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 896, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x64; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":897 + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< + * elif t == NPY_OBJECT: f[0] = 79 #"O" + * else: + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 897, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 897, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 897, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x67; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":898 + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 898, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 898, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 898, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (likely(__pyx_t_6)) { + (__pyx_v_f[0]) = 79; + goto __pyx_L15; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":900 + * elif t == NPY_OBJECT: f[0] = 79 #"O" + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * f += 1 + * else: + */ + /*else*/ { + __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 900, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 900, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 900, __pyx_L1_error) + } + __pyx_L15:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":901 + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * f += 1 # <<<<<<<<<<<<<< + * else: + * # Cython ignores struct boundary information ("T{...}"), + */ + __pyx_v_f = (__pyx_v_f + 1); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 + * offset[0] += child.itemsize + * + * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< + * t = child.type_num + * if end - f < 5: + */ + goto __pyx_L13; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":905 + * # Cython ignores struct boundary information ("T{...}"), + * # so don't output it + * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< + * return f + * + */ + /*else*/ { + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 905, __pyx_L1_error) + __pyx_v_f = __pyx_t_9; + } + __pyx_L13:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 + * cdef tuple fields + * + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":906 + * # so don't output it + * f = _util_dtypestring(child, f, end, offset) + * return f # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_v_f; + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 + * return () + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< + * # Recursive utility function used in __getbuffer__ to get format + * # string. The new location in the format string is returned. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_child); + __Pyx_XDECREF(__pyx_v_fields); + __Pyx_XDECREF(__pyx_v_childname); + __Pyx_XDECREF(__pyx_v_new_offset); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_array_base", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1022 + * + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< + * PyArray_SetBaseObject(arr, base) + * + */ + Py_INCREF(__pyx_v_base); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1023 + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_v_base; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1026 + * + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< + * if base is NULL: + * return None + */ + __pyx_v_base = PyArray_BASE(__pyx_v_arr); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + __pyx_t_1 = ((__pyx_v_base == NULL) != 0); + if (__pyx_t_1) { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1028 + * base = PyArray_BASE(arr) + * if base is NULL: + * return None # <<<<<<<<<<<<<< + * return base + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1029 + * if base is NULL: + * return None + * return base # <<<<<<<<<<<<<< + * + * # Versions of the import_* functions which are more suitable for + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_base)); + __pyx_r = ((PyObject *)__pyx_v_base); + goto __pyx_L0; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * _import_array() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_array", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * _import_array() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1035 + * cdef inline int import_array() except -1: + * try: + * _import_array() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") + */ + __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1035, __pyx_L3_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * _import_array() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1036 + * try: + * _import_array() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.multiarray failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1036, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 + * _import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1037, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 1037, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * _import_array() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * _import_array() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_umath", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1041 + * cdef inline int import_umath() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1041, __pyx_L3_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1042 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1042, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1043, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 1043, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_ufunc", 0); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1047 + * cdef inline int import_ufunc() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1047, __pyx_L3_error) + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1048 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1048, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1049 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1049, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 1049, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_claude_top_level_library(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_claude_top_level_library}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "claude_top_level_library", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, + {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, + {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, + {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0}, + {&__pyx_n_s_Q, __pyx_k_Q, sizeof(__pyx_k_Q), 0, 0, 1, 1}, + {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, + {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, + {&__pyx_n_s_air_density, __pyx_k_air_density, sizeof(__pyx_k_air_density), 0, 0, 1, 1}, + {&__pyx_n_s_air_pressure, __pyx_k_air_pressure, sizeof(__pyx_k_air_pressure), 0, 0, 1, 1}, + {&__pyx_n_s_albedo, __pyx_k_albedo, sizeof(__pyx_k_albedo), 0, 0, 1, 1}, + {&__pyx_n_s_arange, __pyx_k_arange, sizeof(__pyx_k_arange), 0, 0, 1, 1}, + {&__pyx_n_s_au, __pyx_k_au, sizeof(__pyx_k_au), 0, 0, 1, 1}, + {&__pyx_n_s_av, __pyx_k_av, sizeof(__pyx_k_av), 0, 0, 1, 1}, + {&__pyx_n_s_axial_tilt, __pyx_k_axial_tilt, sizeof(__pyx_k_axial_tilt), 0, 0, 1, 1}, + {&__pyx_n_s_claude_low_level_library, __pyx_k_claude_low_level_library, sizeof(__pyx_k_claude_low_level_library), 0, 0, 1, 1}, + {&__pyx_n_s_claude_top_level_library, __pyx_k_claude_top_level_library, sizeof(__pyx_k_claude_top_level_library), 0, 0, 1, 1}, + {&__pyx_kp_s_claude_top_level_library_pyx, __pyx_k_claude_top_level_library_pyx, sizeof(__pyx_k_claude_top_level_library_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_coriolis, __pyx_k_coriolis, sizeof(__pyx_k_coriolis), 0, 0, 1, 1}, + {&__pyx_n_s_day, __pyx_k_day, sizeof(__pyx_k_day), 0, 0, 1, 1}, + {&__pyx_n_s_density_profile, __pyx_k_density_profile, sizeof(__pyx_k_density_profile), 0, 0, 1, 1}, + {&__pyx_n_s_divergence_with_scalar, __pyx_k_divergence_with_scalar, sizeof(__pyx_k_divergence_with_scalar), 0, 0, 1, 1}, + {&__pyx_n_s_downward_radiation, __pyx_k_downward_radiation, sizeof(__pyx_k_downward_radiation), 0, 0, 1, 1}, + {&__pyx_n_s_dt, __pyx_k_dt, sizeof(__pyx_k_dt), 0, 0, 1, 1}, + {&__pyx_n_s_dx, __pyx_k_dx, sizeof(__pyx_k_dx), 0, 0, 1, 1}, + {&__pyx_n_s_dy, __pyx_k_dy, sizeof(__pyx_k_dy), 0, 0, 1, 1}, + {&__pyx_n_s_dz, __pyx_k_dz, sizeof(__pyx_k_dz), 0, 0, 1, 1}, + {&__pyx_n_s_fl, __pyx_k_fl, sizeof(__pyx_k_fl), 0, 0, 1, 1}, + {&__pyx_n_s_gravity, __pyx_k_gravity, sizeof(__pyx_k_gravity), 0, 0, 1, 1}, + {&__pyx_n_s_heat_capacity_earth, __pyx_k_heat_capacity_earth, sizeof(__pyx_k_heat_capacity_earth), 0, 0, 1, 1}, + {&__pyx_n_s_heights, __pyx_k_heights, sizeof(__pyx_k_heights), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_insolation, __pyx_k_insolation, sizeof(__pyx_k_insolation), 0, 0, 1, 1}, + {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, + {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1}, + {&__pyx_n_s_lat, __pyx_k_lat, sizeof(__pyx_k_lat), 0, 0, 1, 1}, + {&__pyx_n_s_lon, __pyx_k_lon, sizeof(__pyx_k_lon), 0, 0, 1, 1}, + {&__pyx_n_s_low_level, __pyx_k_low_level, sizeof(__pyx_k_low_level), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0}, + {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0}, + {&__pyx_n_s_nlat, __pyx_k_nlat, sizeof(__pyx_k_nlat), 0, 0, 1, 1}, + {&__pyx_n_s_nlevels, __pyx_k_nlevels, sizeof(__pyx_k_nlevels), 0, 0, 1, 1}, + {&__pyx_n_s_nlon, __pyx_k_nlon, sizeof(__pyx_k_nlon), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, + {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, + {&__pyx_n_s_old_pressure, __pyx_k_old_pressure, sizeof(__pyx_k_old_pressure), 0, 0, 1, 1}, + {&__pyx_n_s_optical_depth, __pyx_k_optical_depth, sizeof(__pyx_k_optical_depth), 0, 0, 1, 1}, + {&__pyx_n_s_output, __pyx_k_output, sizeof(__pyx_k_output), 0, 0, 1, 1}, + {&__pyx_n_s_pressure_profile, __pyx_k_pressure_profile, sizeof(__pyx_k_pressure_profile), 0, 0, 1, 1}, + {&__pyx_n_s_radiation_calculation, __pyx_k_radiation_calculation, sizeof(__pyx_k_radiation_calculation), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_x, __pyx_k_scalar_gradient_x, sizeof(__pyx_k_scalar_gradient_x), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_y, __pyx_k_scalar_gradient_y, sizeof(__pyx_k_scalar_gradient_y), 0, 0, 1, 1}, + {&__pyx_n_s_scalar_gradient_z_1D, __pyx_k_scalar_gradient_z_1D, sizeof(__pyx_k_scalar_gradient_z_1D), 0, 0, 1, 1}, + {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1}, + {&__pyx_n_s_solar, __pyx_k_solar, sizeof(__pyx_k_solar), 0, 0, 1, 1}, + {&__pyx_n_s_surface_optical_depth, __pyx_k_surface_optical_depth, sizeof(__pyx_k_surface_optical_depth), 0, 0, 1, 1}, + {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1}, + {&__pyx_n_s_temperature_atmos, __pyx_k_temperature_atmos, sizeof(__pyx_k_temperature_atmos), 0, 0, 1, 1}, + {&__pyx_n_s_temperature_world, __pyx_k_temperature_world, sizeof(__pyx_k_temperature_world), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_thermal_radiation, __pyx_k_thermal_radiation, sizeof(__pyx_k_thermal_radiation), 0, 0, 1, 1}, + {&__pyx_n_s_u, __pyx_k_u, sizeof(__pyx_k_u), 0, 0, 1, 1}, + {&__pyx_n_s_u_temp, __pyx_k_u_temp, sizeof(__pyx_k_u_temp), 0, 0, 1, 1}, + {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0}, + {&__pyx_n_s_upward_radiation, __pyx_k_upward_radiation, sizeof(__pyx_k_upward_radiation), 0, 0, 1, 1}, + {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1}, + {&__pyx_n_s_v_temp, __pyx_k_v_temp, sizeof(__pyx_k_v_temp), 0, 0, 1, 1}, + {&__pyx_n_s_velocity_calculation, __pyx_k_velocity_calculation, sizeof(__pyx_k_velocity_calculation), 0, 0, 1, 1}, + {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1}, + {&__pyx_n_s_w_temp, __pyx_k_w_temp, sizeof(__pyx_k_w_temp), 0, 0, 1, 1}, + {&__pyx_n_s_year, __pyx_k_year, sizeof(__pyx_k_year), 0, 0, 1, 1}, + {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, + {&__pyx_n_s_zeros_like, __pyx_k_zeros_like, sizeof(__pyx_k_zeros_like), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 33, __pyx_L1_error) + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 272, __pyx_L1_error) + __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 855, __pyx_L1_error) + __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 1037, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "claude_top_level_library.pyx":28 + * def divergence_with_scalar(a,u,v,dx,dy): + * output = np.zeros_like(a) + * nlat, nlon, nlevels = output.shape[:] # <<<<<<<<<<<<<< + * + * au = a*u + */ + __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + + /* "claude_top_level_library.pyx":68 + * # calculate downward longwave flux, bc is zero at TOA (in model) + * downward_radiation[-1] = 0 + * for k in np.arange(0,nlevels-1)[::-1]: # <<<<<<<<<<<<<< + * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) + * + */ + __pyx_slice__2 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__2)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__2); + __Pyx_GIVEREF(__pyx_slice__2); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + */ + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 272, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * + * info.buf = PyArray_DATA(self) + */ + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 276, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + */ + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 306, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 + * + * if (end - f) - (new_offset - offset[0]) < 15: + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * + * if ((child.byteorder == c'>' and little_endian) or + */ + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 855, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 + * t = child.type_num + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< + * + * # Until ticket #99 is fixed, use integers to avoid warnings + */ + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 + * _import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 1037, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 1043, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); + + /* "claude_top_level_library.pyx":26 + * + * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field + * def divergence_with_scalar(a,u,v,dx,dy): # <<<<<<<<<<<<<< + * output = np.zeros_like(a) + * nlat, nlon, nlevels = output.shape[:] + */ + __pyx_tuple__10 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_u, __pyx_n_s_v, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_output, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_au, __pyx_n_s_av, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(5, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_divergence_with_scalar, 26, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 26, __pyx_L1_error) + + /* "claude_top_level_library.pyx":39 + * return output + * + * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * # calculate change in temperature of ground and atmosphere due to radiative imbalance + * cdef np.int_t nlat,nlon,nlevels,i,j + */ + __pyx_tuple__12 = PyTuple_Pack(29, __pyx_n_s_temperature_world, __pyx_n_s_temperature_atmos, __pyx_n_s_air_pressure, __pyx_n_s_air_density, __pyx_n_s_heat_capacity_earth, __pyx_n_s_albedo, __pyx_n_s_insolation, __pyx_n_s_lat, __pyx_n_s_lon, __pyx_n_s_heights, __pyx_n_s_dz, __pyx_n_s_t, __pyx_n_s_dt, __pyx_n_s_day, __pyx_n_s_year, __pyx_n_s_axial_tilt, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_fl, __pyx_n_s_upward_radiation, __pyx_n_s_downward_radiation, __pyx_n_s_optical_depth, __pyx_n_s_Q, __pyx_n_s_pressure_profile, __pyx_n_s_density_profile, __pyx_n_s_k); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); + __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(16, 0, 29, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_radiation_calculation, 39, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 39, __pyx_L1_error) + + /* "claude_top_level_library.pyx":86 + * return temperature_world, temperature_atmos + * + * def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): # <<<<<<<<<<<<<< + * # introduce temporary arrays to update velocity in the atmosphere + * u_temp = np.zeros_like(u) + */ + __pyx_tuple__14 = PyTuple_Pack(20, __pyx_n_s_u, __pyx_n_s_v, __pyx_n_s_air_pressure, __pyx_n_s_old_pressure, __pyx_n_s_air_density, __pyx_n_s_coriolis, __pyx_n_s_gravity, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dt, __pyx_n_s_u_temp, __pyx_n_s_v_temp, __pyx_n_s_w_temp, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_w); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__14); + __Pyx_GIVEREF(__pyx_tuple__14); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(10, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_velocity_calculation, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_float_1E3 = PyFloat_FromDouble(1E3); if (unlikely(!__pyx_float_1E3)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_float_0_95 = PyFloat_FromDouble(0.95); if (unlikely(!__pyx_float_0_95)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_float_20E3 = PyFloat_FromDouble(20E3); if (unlikely(!__pyx_float_20E3)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_900 = PyInt_FromLong(900); if (unlikely(!__pyx_int_900)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_86400 = PyInt_FromLong(86400L); if (unlikely(!__pyx_int_86400)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 206, __pyx_L1_error) + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 229, __pyx_L1_error) + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 233, __pyx_L1_error) + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 242, __pyx_L1_error) + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 917, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initclaude_top_level_library(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initclaude_top_level_library(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_claude_top_level_library(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_claude_top_level_library(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_claude_top_level_library(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'claude_top_level_library' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #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("__Pyx_PyMODINIT_FUNC PyInit_claude_top_level_library(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __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_AsyncGen_USED + if (__pyx_AsyncGen_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 CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("claude_top_level_library", __pyx_methods, 0, 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) + #endif + __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) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + 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_claude_top_level_library) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_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, "claude_top_level_library")) { + if (unlikely(PyDict_SetItemString(modules, "claude_top_level_library", __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 type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + (void)__Pyx_modinit_type_init_code(); + if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_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 + + /* "claude_top_level_library.pyx":3 + * # claude_top_level_library + * + * import claude_low_level_library as low_level # <<<<<<<<<<<<<< + * import numpy as np + * cimport numpy as np + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_claude_low_level_library, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_low_level, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":4 + * + * import claude_low_level_library as low_level + * import numpy as np # <<<<<<<<<<<<<< + * cimport numpy as np + * cimport cython + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":26 + * + * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field + * def divergence_with_scalar(a,u,v,dx,dy): # <<<<<<<<<<<<<< + * output = np.zeros_like(a) + * nlat, nlon, nlevels = output.shape[:] + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_1divergence_with_scalar, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_divergence_with_scalar, __pyx_t_1) < 0) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":39 + * return output + * + * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< + * # calculate change in temperature of ground and atmosphere due to radiative imbalance + * cdef np.int_t nlat,nlon,nlevels,i,j + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_3radiation_calculation, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_radiation_calculation, __pyx_t_1) < 0) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":86 + * return temperature_world, temperature_atmos + * + * def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): # <<<<<<<<<<<<<< + * # introduce temporary arrays to update velocity in the atmosphere + * u_temp = np.zeros_like(u) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_5velocity_calculation, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_velocity_calculation, __pyx_t_1) < 0) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "claude_top_level_library.pyx":1 + * # claude_top_level_library # <<<<<<<<<<<<<< + * + * import claude_low_level_library as low_level + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); 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; + + /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init claude_top_level_library", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init claude_top_level_library"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #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(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* PyDictVersioning */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* SliceObject */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } else { + return __Pyx_IterFinish(); + } + return 0; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* ExtTypeTest */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* ObjectGetItem */ +#if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* SetItemInt */ +static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { + int r; + if (!j) return -1; + r = PyObject_SetItem(o, j, v); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list, + CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o)); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) { + PyObject* old = PyList_GET_ITEM(o, n); + Py_INCREF(v); + PyList_SET_ITEM(o, n, v); + Py_DECREF(old); + return 1; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_ass_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return -1; + PyErr_Clear(); + } + } + return m->sq_ass_item(o, i, v); + } + } +#else +#if CYTHON_COMPILING_IN_PYPY + if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) +#else + if (is_list || PySequence_Check(o)) +#endif + { + return PySequence_SetItem(o, i, v); + } +#endif + return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v); +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a - b); + if (likely((x^a) >= 0 || (x^~b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + } + x = a - b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla - llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("subtract", return NULL) + result = ((double)a) - (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); +} +#endif + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op2))) { + const long a = intval; + long x; + long b = PyInt_AS_LONG(op2); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op2))) { + const long a = intval; + long b, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG lla = intval; + PY_LONG_LONG llb, llx; +#endif + const digit* digits = ((PyLongObject*)op2)->ob_digit; + const Py_ssize_t size = Py_SIZE(op2); + if (likely(__Pyx_sst_abs(size) <= 1)) { + b = likely(size) ? digits[0] : 0; + if (size == -1) b = -b; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op2)) { + const long a = intval; + double b = PyFloat_AS_DOUBLE(op2); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* PyFloatBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) { + const double b = floatval; + double a, result; + (void)inplace; + (void)zerodivision_check; + if (likely(PyFloat_CheckExact(op1))) { + a = PyFloat_AS_DOUBLE(op1); + + } else + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + a = (double) PyInt_AS_LONG(op1); + + } else + #endif + if (likely(PyLong_CheckExact(op1))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + switch (size) { + case 0: a = 0.0; break; + case -1: a = -(double) digits[0]; break; + case 1: a = (double) digits[0]; break; + case -2: + case 2: + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) { + a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -2) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + case -3: + case 3: + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) { + a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -3) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + case -4: + case 4: + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) { + a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -4) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + default: + #else + { + #endif + a = PyLong_AsDouble(op1); + if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL; + + } + } else { + return (inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2)); + } + + PyFPE_START_PROTECT("divide", return NULL) + result = a / b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); +} +#endif + +/* PyFloatBinop */ + #if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyFloat_SubtractObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) { + const double b = floatval; + double a, result; + (void)inplace; + (void)zerodivision_check; + if (likely(PyFloat_CheckExact(op1))) { + a = PyFloat_AS_DOUBLE(op1); + + } else + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + a = (double) PyInt_AS_LONG(op1); + + } else + #endif + if (likely(PyLong_CheckExact(op1))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + switch (size) { + case 0: a = 0.0; break; + case -1: a = -(double) digits[0]; break; + case 1: a = (double) digits[0]; break; + case -2: + case 2: + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) { + a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -2) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + case -3: + case 3: + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) { + a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -3) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + case -4: + case 4: + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) { + a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -4) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + default: + #else + { + #endif + a = PyLong_AsDouble(op1); + if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL; + + } + } else { + return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); + } + + PyFPE_START_PROTECT("subtract", return NULL) + result = a - b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); +} +#endif + +/* PyIntBinop */ + #if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op2))) { + const long a = intval; + long x; + long b = PyInt_AS_LONG(op2); + x = (long)((unsigned long)a - b); + if (likely((x^a) >= 0 || (x^~b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op2))) { + const long a = intval; + long b, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG lla = intval; + PY_LONG_LONG llb, llx; +#endif + const digit* digits = ((PyLongObject*)op2)->ob_digit; + const Py_ssize_t size = Py_SIZE(op2); + if (likely(__Pyx_sst_abs(size) <= 1)) { + b = likely(size) ? digits[0] : 0; + if (size == -1) b = -b; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + } + x = a - b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla - llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op2)) { + const long a = intval; + double b = PyFloat_AS_DOUBLE(op2); + double result; + PyFPE_START_PROTECT("subtract", return NULL) + result = ((double)a) - (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); +} +#endif + +/* PyErrFetchRestore */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* RaiseException */ + #if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* DictGetItem */ + #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { + PyObject *value; + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (!PyErr_Occurred()) { + if (unlikely(PyTuple_Check(key))) { + PyObject* args = PyTuple_Pack(1, key); + if (likely(args)) { + PyErr_SetObject(PyExc_KeyError, args); + Py_DECREF(args); + } + } else { + PyErr_SetObject(PyExc_KeyError, key); + } + } + return NULL; + } + Py_INCREF(value); + return value; +} +#endif + +/* RaiseNoneIterError */ + static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); +} + +/* GetTopmostException */ + #if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetException */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* TypeImport */ + #ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ + static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* CLineInTraceback */ + #ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#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; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + 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( + tstate, /*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); +} + +/* 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;\ + } + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_long(npy_long value) { + const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(npy_long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(npy_long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(npy_long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_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(npy_long), + little, !is_unsigned); + } +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (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); + } +} + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabsf(b.real) >= fabsf(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + float r = b.imag / b.real; + float s = (float)(1.0) / (b.real + b.imag * r); + return __pyx_t_float_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + float r = b.real / b.imag; + float s = (float)(1.0) / (b.imag + b.real * r); + return __pyx_t_float_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + float denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_float_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrtf(z.real*z.real + z.imag*z.imag); + #else + return hypotf(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + float denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_float(a, a); + case 3: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, a); + case 4: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = powf(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2f(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_float(a); + theta = atan2f(a.imag, a.real); + } + lnr = logf(r); + z_r = expf(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cosf(z_theta); + z.imag = z_r * sinf(z_theta); + return z; + } + #endif +#endif + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabs(b.real) >= fabs(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + double r = b.imag / b.real; + double s = (double)(1.0) / (b.real + b.imag * r); + return __pyx_t_double_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + double r = b.real / b.imag; + double s = (double)(1.0) / (b.imag + b.real * r); + return __pyx_t_double_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + double denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_double_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrt(z.real*z.real + z.imag*z.imag); + #else + return hypot(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + double denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_double(a, a); + case 3: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, a); + case 4: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = pow(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_double(a); + theta = atan2(a.imag, a.real); + } + lnr = log(r); + z_r = exp(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cos(z_theta); + z.imag = z_r * sin(z_theta); + return z; + } + #endif +#endif + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) ((int) 0 - (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_enum__NPY_TYPES(enum NPY_TYPES value) { + const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (enum NPY_TYPES) 1), const_zero = (enum NPY_TYPES) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(enum NPY_TYPES) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(enum NPY_TYPES) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(enum NPY_TYPES) <= 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(enum NPY_TYPES), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *x) { + const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(npy_long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(npy_long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (npy_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 (npy_long) 0; + case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, digits[0]) + case 2: + if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) >= 2 * PyLong_SHIFT) { + return (npy_long) (((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) >= 3 * PyLong_SHIFT) { + return (npy_long) (((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_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(npy_long) >= 4 * PyLong_SHIFT) { + return (npy_long) (((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_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 (npy_long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(npy_long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_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 (npy_long) 0; + case -1: __PYX_VERIFY_RETURN_INT(npy_long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, +digits[0]) + case -2: + if (8 * sizeof(npy_long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { + return (npy_long) (((npy_long)-1)*(((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { + return (npy_long) ((((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { + return (npy_long) (((npy_long)-1)*(((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { + return (npy_long) ((((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_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(npy_long) - 1 > 4 * PyLong_SHIFT) { + return (npy_long) (((npy_long)-1)*(((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_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(npy_long) - 1 > 4 * PyLong_SHIFT) { + return (npy_long) ((((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(npy_long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_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 + npy_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 (npy_long) -1; + } + } else { + npy_long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (npy_long) -1; + val = __Pyx_PyInt_As_npy_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to npy_long"); + return (npy_long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to npy_long"); + return (npy_long) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (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; +} + +/* CIntFromPy */ + static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (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; +} + +/* FastTypeChecks */ + #if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; ip) { + #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; + if (PyObject_Hash(*t->p) == -1) + 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 const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + 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 +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(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 +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __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)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } 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 int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +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 (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(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 = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + 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(b); + } +#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_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/claude_top_level_library.cp38-win_amd64.pyd b/claude_top_level_library.cp38-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..6e94311d7cda811c81c68bcf9be7b177bb160da6 GIT binary patch literal 109568 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 literal 0 HcmV?d00001 diff --git a/claude_top_level_library.py b/claude_top_level_library.py new file mode 100644 index 0000000..79f6745 --- /dev/null +++ b/claude_top_level_library.py @@ -0,0 +1,101 @@ +# claude_top_level_library + +import claude_low_level_library as low_level +import numpy as np + +# laplacian of scalar field a +def laplacian(a): + output = np.zeros_like(a) + if output.ndim == 2: + for i in np.arange(1,nlat-1): + for j in range(nlon): + output[i,j] = (scalar_gradient_x_2D(a,i,(j+1)%nlon) - scalar_gradient_x_2D(a,i,(j-1)%nlon))/dx[i] + (scalar_gradient_y_2D(a,i+1,j) - scalar_gradient_y_2D(a,i-1,j))/dy + return output + if output.ndim == 3: + for i in np.arange(1,nlat-1): + for j in range(nlon): + for k in range(nlevels-1): + output[i,j,k] = (scalar_gradient_x(a,i,(j+1)%nlon,k) - scalar_gradient_x(a,i,(j-1)%nlon,k))/dx[i] + (scalar_gradient_y(a,i+1,j,k) - scalar_gradient_y(a,i-1,j,k))/dy + (scalar_gradient_z(a,i,j,k+1)-scalar_gradient_z(a,i,j,k-1))/(2*dz[k]) + return output + +# divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field +def divergence_with_scalar(a,u,v,dx,dy): + output = np.zeros_like(a) + nlat, nlon, nlevels = output.shape[:] + + au = a*u + av = a*v + + for i in range(nlat): + for j in range(nlon): + for k in range(nlevels): + output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) + return output + +def radiation_calculation(temperature_world, temperature_atmos, air_pressure, air_density, heat_capacity_earth, albedo, insolation, lat, lon, heights, dz, t, dt, day, year, axial_tilt): + # calculate change in temperature of ground and atmosphere due to radiative imbalance + nlat, nlon, nlevels = temperature_atmos.shape[:] + + upward_radiation = np.zeros(nlevels) + downward_radiation = np.zeros(nlevels) + optical_depth = np.zeros(nlevels) + Q = np.zeros(nlevels) + + for i in range(nlat): + for j in range(nlon): + # calculate optical depth + pressure_profile = air_pressure[i,j,:] + density_profile = air_density[i,j,:] + fl = 0.1 + optical_depth = low_level.surface_optical_depth(lat[i])*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) + + # calculate upward longwave flux, bc is thermal radiation at surface + upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) + for k in np.arange(1,nlevels): + upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) + + # calculate downward longwave flux, bc is zero at TOA (in model) + downward_radiation[-1] = 0 + for k in np.arange(0,nlevels-1)[::-1]: + downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) + + # gradient of difference provides heating at each level + for k in np.arange(nlevels): + Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,0,0,k)/(1E3*density_profile[k]) + # make sure model does not have a higher top than 50km!! + # approximate SW heating of ozone + if heights[k] > 20E3: + Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) + + temperature_atmos[i,j,:] += Q*dt + + # update surface temperature with shortwave radiation flux + temperature_world[i,j] += dt*((1-albedo[i,j])*(low_level.solar(insolation,lat[i],lon[j],t, day, year, axial_tilt) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] + + return temperature_world, temperature_atmos + +def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): + # introduce temporary arrays to update velocity in the atmosphere + u_temp = np.zeros_like(u) + v_temp = np.zeros_like(v) + w_temp = np.zeros_like(u) + + nlat,nlon,nlevels = air_pressure.shape[:] + + # calculate acceleration of atmosphere using primitive equations on beta-plane + for i in np.arange(1,nlat-1): + for j in range(nlon): + for k in range(nlevels): + u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) + w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) + + u += u_temp + v += v_temp + w = w_temp + + # approximate friction + u *= 0.95 + v *= 0.95 + + return u,v,w \ No newline at end of file diff --git a/claude_top_level_library.pyx b/claude_top_level_library.pyx new file mode 100644 index 0000000..b75fce0 --- /dev/null +++ b/claude_top_level_library.pyx @@ -0,0 +1,110 @@ +# claude_top_level_library + +import claude_low_level_library as low_level +import numpy as np +cimport numpy as np +cimport cython + +ctypedef np.float64_t DTYPE_f + +# laplacian of scalar field a +# def laplacian(a): +# output = np.zeros_like(a) +# if output.ndim == 2: +# for i in np.arange(1,nlat-1): +# for j in range(nlon): +# output[i,j] = (scalar_gradient_x_2D(a,i,(j+1)%nlon) - scalar_gradient_x_2D(a,i,(j-1)%nlon))/dx[i] + (scalar_gradient_y_2D(a,i+1,j) - scalar_gradient_y_2D(a,i-1,j))/dy +# return output +# if output.ndim == 3: +# for i in np.arange(1,nlat-1): +# for j in range(nlon): +# for k in range(nlevels-1): +# output[i,j,k] = (scalar_gradient_x(a,i,(j+1)%nlon,k) - scalar_gradient_x(a,i,(j-1)%nlon,k))/dx[i] + (scalar_gradient_y(a,i+1,j,k) - scalar_gradient_y(a,i-1,j,k))/dy + (scalar_gradient_z(a,i,j,k+1)-scalar_gradient_z(a,i,j,k-1))/(2*dz[k]) +# return output + +# divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field +def divergence_with_scalar(a,u,v,dx,dy): + output = np.zeros_like(a) + nlat, nlon, nlevels = output.shape[:] + + au = a*u + av = a*v + + for i in range(nlat): + for j in range(nlon): + for k in range(nlevels): + output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) + return output + +def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): + # calculate change in temperature of ground and atmosphere due to radiative imbalance + cdef np.int_t nlat,nlon,nlevels,i,j + cdef DTYPE_f fl = 0.1 + cdef np.ndarray upward_radiation,downward_radiation,optical_depth,Q, pressure_profile, density_profile + + nlat = temperature_atmos.shape[0] + nlon = temperature_atmos.shape[1] + nlevels = temperature_atmos.shape[2] + + upward_radiation = np.zeros(nlevels) + downward_radiation = np.zeros(nlevels) + optical_depth = np.zeros(nlevels) + Q = np.zeros(nlevels) + + for i in range(nlat): + for j in range(nlon): + # calculate optical depth + pressure_profile = air_pressure[i,j,:] + density_profile = air_density[i,j,:] + optical_depth = low_level.surface_optical_depth(lat[i])*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) + + # calculate upward longwave flux, bc is thermal radiation at surface + upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) + for k in np.arange(1,nlevels): + upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) + + # calculate downward longwave flux, bc is zero at TOA (in model) + downward_radiation[-1] = 0 + for k in np.arange(0,nlevels-1)[::-1]: + downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) + + # gradient of difference provides heating at each level + for k in np.arange(nlevels): + Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,0,0,k)/(1E3*density_profile[k]) + # make sure model does not have a higher top than 50km!! + # approximate SW heating of ozone + if heights[k] > 20E3: + Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) + + temperature_atmos[i,j,:] += Q*dt + + # update surface temperature with shortwave radiation flux + temperature_world[i,j] += dt*((1-albedo[i,j])*(low_level.solar(insolation,lat[i],lon[j],t, day, year, axial_tilt) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] + + return temperature_world, temperature_atmos + +def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): + # introduce temporary arrays to update velocity in the atmosphere + u_temp = np.zeros_like(u) + v_temp = np.zeros_like(v) + w_temp = np.zeros_like(u) + + nlat,nlon,nlevels = air_pressure.shape[:] + + # calculate acceleration of atmosphere using primitive equations on beta-plane + for i in np.arange(1,nlat-1): + for j in range(nlon): + for k in range(nlevels): + u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) + v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) + w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) + + u += u_temp + v += v_temp + w = w_temp + + # approximate friction + u *= 0.95 + v *= 0.95 + + return u,v,w \ No newline at end of file diff --git a/save_file.p b/save_file.p index b5e9d4a8d988bf7d000a31c2fdc0c36e69e57b3b..e401d1897f0d56f32d136c1b484fafb487d692c7 100644 GIT binary patch literal 3045547 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
UC(F(ys|VMZdxxaJZe64 zAAiADewykj>-F+Wv|hd``zq1=UQ6wJN$bU&%j*uUm!Z;G8Jb`2yOUj1PZN%^*wOsT zR>d{b_xDZc6OAH_S9y;;C(XxQiK~0)`NFt~%0u4DRhTtxkL?}IvjX#X6Z%E?Rp_UdsqkB#tT&u%OF4R3erjt+Nt)gQT|Tj4!A{OfcQ zyp=*mgH#V}Hof+z^G9W`R58^9)r?i4bpDvC`B6ai;H5z*6V2 zLX~C4fAIW#8uzNu@8Ou{UyfKz^RX+h+7Dic76Z>|c=|8Y_6TD>20yVDb-+vA>lqXX z?_YbC-*U`{$Q|9WoACHT5A3*v`F%aSSgF0 zJnx%2$0y*8Ono_S39nX`ZHoHEgZ^EzbRQt{$oLEOi~V1I>!g11ym9kM>K8wmb}R{j zH_`7Zk&5w_Mn;Cw@2QVHKk7&0-Td|F1dVrF`ORh;ud{KfHH|lsU)hSrJMwT>+5g|) zNv>-&UW3p%fe-M4lh35JV16_I{<@Wje9;}zPicPTtwjxKe%qdIj-~mXr*L@(&2Q%5 zmh&{f3g-J8soo28%-=-wyL#0n51QX+`A7CGM84@>-i0?Yzl}WoH>m%j#6D6T0PkVJ z8e{6egfn*rQU4{|rtViaJU7*CSE>KP&Xrb3{TCMgpKiJEx(qcxR3M*>*QQ^mk#AYg z1yNehpP~(4(0Nd6wfajs5B^-)b(_}noJMCEod;i^db)(xGy9{YeYBoGNhqD9^&B6w ze^mp#t9iE;T!80Q<~v6Bd6zp2!qnmY3u6wl3UME&f#;2(R9;Y~+e zuAuw8g86PCd*MYjGgQ8U=W4y=!f|*TIQ*`Cg%@G1ZASgDeZiUG)DPP~`#O;NVKa~Y z&)NKJ>Vv`$y{_<%%HGi1f#)|op%_d5{`a$H$#Uxdt+o>xIty>t z(#h61cvs%MyG#AQkjPh_)c@1%@0*H(=YL@AB=!FmmfQC|hj+Gxd;TV@zu~|jyHVtO z|1jp-81gC2fB4WGUW;|#RabcW!(FZP{Z$Y)Jwg5F#s0^WcfcE&ok(JY=U}bz=oGy0 z9Uq#gUcJc^W1xCv!_761>Q!m_#sI2UYdrH7Q@v{XP*g$nO8mtcZmL)7!?LZYUcER~ z(@gd1(I?4Cs#jufSFUM6z9Y8xl!Gx|UagpK)DQb~&0L%MVGX@;YSa&7DvG#8{V*;6 z9Y3ib#?+hfkosXvPYNTbALbi0Hbwm~_v~dONAUb&4y-*-=Rxn)Y^rn~To9+~K@a)9b~5Ja!;85Z!Ji86ZUrODb$C1R#OZ#ursIS!-LG=ImaV1xRm1hZ z-{^id+Qy`W?pJTVt&L(8!+WwY++73Sy2!aVQti0MbT7KMfd%X0_~Ff;gz$ULMb~wd z641wv4clh<8|Ul7%Nwq|*{{pTSUflJ4Sx@`<8xP~CHhy>ij1D3xJTD93%-r<{*d^5 zj2WKfZ_+QteFSOTWB0eLXx6htpMd@FrU1ul|Hrbiidy58fIH*D!Z@TgOe+^5J=YVoT+0 z#_z9MB1JpldF_0_#)o`8fyXcGKt7HKCsz%(;k%Z5IcXuhV=G7avf-)CYFn_v+wvi7 zpA5Xh6o*QG@>&k7en38{(MG=nc-KB~Ph3Dgi&5dpeB@JC$Y9b(zKjWb9!Gd}(OWft z!5i0%^)rGuZpSF>0Z%Tc@>v1A%cgfXa3kNppBb-u;F(+(u|xu%1b8wma_VF8`2UcoYop?GZ+kLFC(T*-?YeZ^ya+vM)zI?RW14w2?1qBEYK(URlwrAUWjY z(7zD886Ly+XumXgPYgHmj=?iL=+IpbuS=QjU;3`F&|o7ZF21JmR?M1kcKDa zFcex0Z^hzW%NN57et)b$3to%am*z-#B7EU}ZSd5bj(xlbZ+&m7q&?=t^GTNB8RSzO z?Xy>hXZ_s#xh1?O4@z@?z+)LvR9Oe_@5LACJK^54;YSf!As^_ zXtN5Q{qw&Gr{HbezRdnBJfX{Z8Q0*IE#AGB*7M=*#YME9w>V{K(|Z0GcH}Cp=ZkxF zm(qIPk!P}v*7N7mh6|ACsg)1&` zV7zX!rrNUbUeuI4D1mq51CN0Syn#8HR&99x?yAhu@UCaOFYSQ$&tZkt19*bb?XO(m zeJ*zFy9V$3i2D#DyhZ9gjmzNaMOD4ahbPh+m%#+F=)ENv=!c|(rw+eUbK#~ zc+h%b(&(?J^zk_`9x>N7{#CZJ{pW4X-ub*+W zP66JzpT9gy;W6+;HHgA%eq9!;3okA#GCKy|uG2G}-N?squFSIl-Z#(7s`ALEkv|^c zfP6Dz|0)#Vjc&CF*aWYQL-1QYJgJpiQdQxFP8c+9gC}R*b3Y4Sqq#)ZEWCV`-W^}y znH^T*XFjSrd3df`LEx!%OWwak3cR_`r_k{FsmD;SG5M@OGz4`l!IOUF5WJC%nj% zCtZq^FR&uY7~YX2v9bnu2eOQU)Zi&H-z>F*m)P($Ase2Qy6wd|97 zhF8-#-m3}k*g%4*BfM2Vt9f$Zg;sg3VS)F0pvJoiUhRm9+8oBKI~$1%)`54AUwZXNc#7$r3X1R&`_*)|z$;p@S1toyTzg{MIL5nr&BJ3A@bWtUo^k$f|uu&cK$v*LvhtwHss?w z7reCH)l+8WQWNo_>x#nxq16 zo9Kzglknnalad;c4|lY;GU4%lIVDg8uWp)6Ud51#ykU1wWy?P(RJCgWLjsAVWuyS8LA3eWP zp>^a%Ziw(9Z(r@f56j^huoTDX!@K&g`r1W!Yd%~X>4CRs-dXpT4^U&u_`s+y-@c ziGl2m@8G?)U(PBEZ;Us6$QWLe_U(aWc&w|v4-UbTZOk-%3D05O;0|ec74MeHdm&%= z3Ok`c$hYE8zB3QJ`kQ%%x8aFLsqA5cmsA*>xDuY@q<=`o9oKZLikL|fp z$!B=!lEJE}@HjUF1!cig-L!CPD?IBELwjzFckfQK2C6UeGMnP5zC1Jbnor*k#<`m% zR9{?O-+iI_QdQ;4N#75yz5$!Z@O)whc_!fbot-w4!}EL1()~~zUT~&g-a2@ae-FI< z0B_24^#^%)d$;n`o5QOu(|L0l-pxm&et+O?Y5bA>7M=u4yR{GAU!{6R(`0xIPYX6_ z!?US99AOL3!dI`b9bW%^3lUv--Npk~T;WArRJYB8cWF524m;johRLCu?eNB9^rJQ) zpQz-AF8cR437f}mP2u@%yubFHAUqfIxG%Zz*4So!=7jfm=hCH0@HPa>>UOzvjwx*@A@0P zxg!SeVtm0eA9yDYm0G@mx2EMtZZtgmt=*j^$aiq1;I%P$TNXc9DuD5FHTfP@f#;X8 z^4M#5S0rXWQazZGIhscGfN9;8TT~Bx-n29PhBrBD?o|=b*Y8p28E0p)z(=54DgnzxBf_lm+GMBJB9I{zgKFq1YVDxP{lrY+GD%F zzJwQ)s{JnvUNy6-)mG$N$|%Q5`_sX9ihi^|U0V@$nD(bv|8nO z`_t?i8(-R=N{X7Urv2&SZ7~OEf9k6zZoLlcC0wd%p(obMrr+xis9?O7>!RjN;k|#s zU*8BXMdLq??!%w!?~4O?q{zrhMoFZI>{%HhBO_&o?2-zpd=&~&DMFEoWQ2?~jLb@u znHDmllo=7B(&G0zzklHQIQM<;J@0eReftm(R)gnb)BVy8-jY45Zsfo_IvAM8fc26U zwMe-Go&$G$dlcfk+WwcT5%C56m)1|`g&6(?QS0CZ&8}NX_37f|`9eA`tnx@TrTX+x z*7n1Z@Ge?DKhuZ!_VtCw-Gj$rmi_(&;v4LI5u1VdmN?EzYQb}@-C?y0UfonC&mg?< zZWni5cta^{Kk0lq>QR_Q=gT=W&ZQiPPj zREg>9@RlzAE6I)cUK?eNQU72dD_dIv@rC`z$)^kNrLc}g3p~}ErONW~O3!BRvVeD9 zaj8Z+ycM?5?7!h1-hC(R1w3CF){IWXw=mM{-copv!?QP1es;dP&Xe+Ulo)Fe<>$+1 zf9I})*ClKiPx;wD&moTTv#7>8UdqqG=iT2tf#=luES3x2R<1`o>@Z#??vHts81KIJ z_q=qT5#q1T%7Qnk=HAZ)&&PJ4{v??~o175M}>x4(}0v!%s3We9i^Htp&^J{2+$Tb1;QSyN6Ev-NH z6JmmtpOq86>?l76@>o{U`nz}asV?Q`kxt%UwEnhOx|vXZ&Xf5fOZnMyQ@iJGcnNFo ztvL&CLOV!D4PLRLa2lPDT>SXFdf|mfRDP!Ok(zp?y)!)Tvxb6q;mNvwvSfy*cih|a z1H5G>Yh{2i9z8E!f$=(pUHeZDUYc`s zfFr!&p|74J@D~00e$@b8A>VQR{qXeEzYLec%S_mJlpEu%d#+~u1>XMIhmQFeuY1Cu z6LaXlFm|kQp#F>2J`q>yzbI|tR;K>T#66u~(-`luE~eYme_8fhP?P#Eau3~?Q~%}4 zY`Hu2UtaMD+!MlhfA4NMN#6@>4qn9rMfJ+6klCxT|UJpVBdO_;@f4j zOpW?OxhE_~DLxaY2SF5{cG*H(ich)s#{-JbyXuX&4W8cv-sJy6@%&7g^~e5yp1Ia+ zMg5nQ&8=2+o|a9V?xOQdtiw@#I!`O>aWm6-Ixq08I-RGBxV0A0dHUb+e@m#}WLTy# zCkBuE?4^Gqn2&qW&seD6RO}w?O8q8pPmv?kZ<4;0dxZK;oiA!VsNb|aUV@qWP0kaF zUDR)~%l;4`hWIumi>B^`=Vg84s}#I*X~jAE@TMOy*}R39ew;&83Es@yw2d{q-1=UH zOnCB{jY9w6P1Oi^yn&}Ezun+Fp5O9%kIP#yA9Gzx-_v>ywQcuhhPUL+epQ-7g6*hkcg@)w_F_rd7Ox*Q>ZX=PJC+ z7aLba7@c5e_iBiAwviH`yeeh!Kzk5-? z({rcB7$@d;XX)Wx)bBJNWZS3!Z^UQsKRTaVJiW~=3(sKgWHFu3w}l!E)A_u|*&&6_ z=k*FP{d7LxC$3XU=krpPAH{S&Uo+eCfX?TUm9jSf~Z~_KBC%2 z_1eOjuzIT31|0tiiNVV<)&ETOT4;OR4ApDzJ{y@+y(TrzT}|~Gn~UK~E5s-GZ@G2| z;`_CAUk0t`TU~5RX+1l*$_vtZextfNjn=bTh6XFG=X=}3n(2IA9OeF(&gVsoEQ{!T z9-H;+OC{DzzgF)R`h9-i8*B3@-(T2Lf0gom(_@zr%J+M&pGl;ApIhVQK>6PK;lLo} z``}TLx0LVecmDlE`Ti<%PzoQ$n?1jG$Pr%A5xvLM{|nz?A+i+l9bl1)p#I;^Q!|gK z|7SQe)z_oUYqacu%EvmC*Y04eb0w>yNXhxq#MRthLdZGoa)am=Co918bsNSe`4340BqkqaTf$EJ|)@x6x-cVoLxu8Cg?y$g9V*U795T1C(%OxuCf*GnU z>){nh6B>8S>DCBo;Y{eEtI1Bo+E)i zBXr+$?BkIpy6@>XP@iYRc%LjkB4dsDwT`hUoWOdC6b}$%hZnWM{9PuzBU@LkqIzxi zyO0vqYZ_@TSN!0`{)qYU9Gj&H`{}8 zc$0;p$IajgDRf;s4zE`3JFhal>)YfaX+CN{Y;B?WSh`o#eG|OSf%ICMkH4EjqG&#( zU$Yd@d~o^ZadgAGm)Yvujq%z!8?IlE@t(|eb{fQZ9qwfaF~S?mm-a}8mnEG4Mz9nw29@Fy*V$U7XtV{=GYxeuUn?9Wzba=>7Zq@^jPMh_B*&?3sV4 z4}!Rti&A~y+xAeB>VsvP7nrC%*gGlnoa&b=18;+PrxjZa(a)P&>dAZamJoBI0 zmWJ@|j^YXi-tP3vS!M9DWM$NNFkY4Swt8dmR$j?os)+cWc@5t=hWJF6G&KFhcvmh~ zo9BfmYnl~E=dA>ZACYw4(&h54mxebz&MQFYEzMt(cUll1o2kiuI&U$zNGfH(D@;D3 z^#R^I_tS1VF9?jgIZ;2y%EMWP`Z>3cC1=ukL1Fy34fS&(M@kP-KgZ<5x-2>`Xk`Vz zp?RR|P-mrkIca!kEpXH18V18BpyV^+WFGlHKIITbBwHvf){hh1+ewx|@-O>5BnastwErQUr{7mx z383?|%a!C+KM-H%n|=G&!z;=c521coPm62_^}}3N^W30*7+{Ji3?KyIp;Az+T2h)1~?=<5=TF+*= z0oBXkef?IdLF+j&>d_%u&vH%U_OzZm*NM#Mz|#<29UBdA^s8N36Fdts8y$LI){ib2 zqW%V_^gB;_U+Ppl{iFWI$E5me^uDxOm->+U8;`}#w^Dy&B;)XR>Tj%2+T=b3@6S7H zX8PXeL)B;z-PgW-*pB}gfqCV5^n>c>BiikZG~OqrU5jbFqtX_?sDAc;=9NPAGwZ^_ z#5#B<>T4_{F(1->%g1cs%>}W@(0$bG?BII?cokl0_U-V@-&YCKeU!dtsU6)%RZP_? z(0$a+(_h8tK5FyPO(iYx*h9mA$-&#xU)k*lFIcqb1>Mg$Wu81j^+KV{;TIs52gBV`f~gUs{fMxczme-dvWX3xEnlvQ785b@G=e@$yA5;U~9vy z1-wz2#2C6?copQ$NcRiYQu0A`zrdpurAqe;d*50I()~iQooH__ynGIo0P62*ofS%< z{%)^(WfJvwrT&a}P=8l?OZ_S8?}l;RN~Hd7z(=ds)Zb+|SGnh_&!T$2Q0vRNS~VS=SO_r=hsNneX{v&^CxtlEH2{D zMEA+wf+6pzA6xPf|I!6sS?k1hx=%I}lQMk-k3G_Vbs6G2`ap5r62$lANLcrK#OET+ z_v$y^m#McjworXP)f@i(JMyXS-@u~f@Gb?t)Ta8rLF3+fs_*y8wJ=kC?_qCsu>$e6 z@*MG+hPVAKa~s`9Ei>;^pz};#bAc9}XS)8gxI+Es(v@B=be@SnvdM?eGYd_UpV57k zf@~5OooBY3Vo0O=-xcTY2Gj57%-;XJn(lw^eojfI``>lZk1u7wYy5n+m+pTX!{3js zf!DII%98GX{fz5C1h@Z5ixkFHaf zk5RoVd&G8%?k`n~jV!3XlK99xO!e-^hG+w-ulOWeIjFuWRM{a%_0{sAtDaQvdb3~3 zxQF=uYhHV11o1JXiJYSSvD0e9qzpVw`FdO09|A3Mk44~p_&I%o_DAi*6&GoLFop7U zd`5f`nQ_Ub@D4xUI(H56H9WWEe1!Psl`F-m-Z(ayxQ6PDTUJ|VsXruh^qUyf8=aRL zTd6;!awOM}>WweacbTZ(c)xr3LaH|;4JTe#ufXrX{FoeKhj)LqefH;J-21F!St`VW zdRIiIMsOv*w~rkQ6-mT7;f6=J>o@%Usie@<+L!R6lHb)1;`bDUjwi7=qkj-_eIf$h z8p~pjPK;M~y2+#m-l$80=u&u$ejgri!uy`B@RSdpXy?oGw(#~2lq_2bZ^h#4w=3aQ z{bSAi0!;5@YTyGBV7t^0!OL%ji^u({id;ZVpk3GB(W#LJG5#JO)ugP|JViw+Z z2Ql6!8h4J<@8SItvsY-xcolqqYqG$*x6-SM72YEKm}xF}@&}WWE#Mv8>#M>K@8D^s z%o2F&V#_tZW4xS4EZ%-beDP;yLj@4uK<}?i3B)I`EUwiCo~YB-U#9R*S)P>GN#ku; z>TnsJ_@(a~cfpgs;ZgGoUjK4~d}GA7C%4SM2j0=?WFroE-YRVi*1}6!YG!B!uWNf$ zt1-M2fw4U1@OX~fY>b1a!mYo`2A+|XLBdaXr59EW8^S9X>n@ar$DZ-#n-|vKX}dDr zd5qV`yz9LjJVDOqYc{~sGktEM0MGqkUCmK=GuM0nsloebcPFS5-rKHkJ66N1TG_j1 z7rf-taXQq0-d@~W#e(=wh4?Mn2=6@ayLU?P7-CPqP>0uL`QO1Hc)kjQ7q#K>YdV;H zgm>m{(!&b|xJ zZWn;#y9WefR{I`f0!4Z&*t>?*6?ohY^fB4$9%e2s~ld}?c(TJtQTjWc8LS< z4lA8>e*~}Q&5Fsl@aiQN&ojg06?TrK^(P^^`U$N+Hr2^}wEh_Q9T;f+{m|RuL+kJA z)2!JUcug;+4jW>;H%i~Er2aiemZcm$zboM!2`ca!wFhV9;f<}`G^YaZ8q09xad@YN z1Iskv350q$((`MKER0x(@is6>+TTWekIhog<d(ZxP-7h|h3tmp320=#y`|`QWjL zEGu6D?`wcXrXxJY|7L~7;QhV-VyGHk?S|;Mh45Zj-&qUUgO;cu6~0wim#Q4YxV+72{ppn{X}--s-s{ zCG`6T+jgs6_yq5P%nLqKTCMh=b~8! z;NASo6j}<;s9VJP2jXLmx)R<5Z|j+yCi?rMy0q%BQFx-I6`d>KnRb?MT>|v(O!$-?Kz-33#6do!#o;wdAacW<`7xjVVp~m|ug`w&c_Bsu=kce6=65b+N{8mx<%^{+&F^vlFFZ8A9}f;l()=3N#H9toi>&QDUkvX& z|MW^OcpF^>S8su5Zg{3+BfQ{?j@Px|z1=^%`xLy0#%qW5;caQS<1_@1pM!l)0p5lM z|HLn0ypjxaPw0DwTZaYpK482H_o*{;!MnOt*qj@lz{G?(KfF;R-qm*SE~EtC5{CDT z1%HMPuitF0=pUY+&`40=cf^<3ZvATw_V2na3cI8b-;AcSj~%>II-1gy?^i3B7*W1o z%sF}P3Owg)`L2}jCErf|`2#Qe!KPDYh)*HbbJqys+kf+WwLHdKUjCK;8{&H|oTn%T zFS2AjWi`A@zZfOg!ApAUWa$Yntm)<54e&U{m%eI-$Cgv;#|=;Au<*u1wBJ_VQ^d->1IzYL7GN8@}K{eO}_LfYHA}Ki=FozWxN>6^8gR+8=l1HBQDNzBZ|i{`9?`Nsi&AWr#0l??$h!@c3@$ z`fI`~R+C$$3vc`M?(e7Jg-*ShH-e`pwu5yP-a#4uJXLrZ1>8|es1LFX6ZCguem#df zuc^V~dM2#q0ncJ-=r=ofvf9QKj_@A)t=yark6G)=_dW1DF4_z)Mt$JH)@63*WHtbcc^03KW})u-$xoL!sGQ9 zx!QvGrfyWc7J%pTEWznCy!Z$~7pnj4J&!5yAilc$9iqDMxTAy4ZHBk(ouKv>c<)}< zvxdWa^IwjTA-vBa0eqj~>G3CQP=>eaOTBjj<|8P-D}%llm5JRd(~J1l-jf=k{c$$u zGzSknzv#0p0`N)<1m4sB_$T4*x(c4B>Mpj&@M=$_<<4P$@GfcBV8HXUiTjx$i|2P) zB?1VSBW?a`Ao^Ve^>@|2@MU`&5;iWpnbIie${^q`B2ja7S zG0eFi@$t^a?R|*&RNmSa)B8yApM5R8kA|J=?C5>ec3|NpdLIq_EKsBO5tnw>o8|Dr zbLKVZee~92rkvhKlR@*&&*0UqTD_6__xuK`N+a-|i2S}x_3kUTK_wx0IpNY1RPPFM zn#@qWd)lSSbsaoezxQT!@J^rJAhQJVojxU+VvhN^&>DZ1z9(GudCAws7;kDd^Hw!@ zORo#MD8jqVZ{wr}ulq@z9JF2NhL>-oeCuijHnP92`rCEImW59yVjSw-~_yR2SWAiVtEJG~TN>Gb|9 zz3}Wd|8-aoPf&Jw8XG*f0ls(U@b;Ib?x*z}c=)L9dU)cS_QuhAHj9}YqxGDj`DC*X zJZqhxv$USK=y7$>dj6`uN=y)*$LC-!4tP3aI+AoB${%V}M&9#M+ZgiP80}lgvy}ZN zwE^CWUdgDYlseZZr;H3lAFSDmOUQqo~RZ*2k^~>7Dw-Ts+VF>w;lj@i1 zyp|5CUy@RSLa2Tb`}BL;EqHkypTE-iT(P*Rj`FG4dMmeO@YqIQ|E7F8r#kV0@@d-q zlgw8e!P9W`Tp0zgir1gd9G>_-Ba2CRqRyQ;TJSVh>B>1FKAT++BMK2;g<*?p zE8;skc|T$iJfYPN{w(k`!*)Mh3h&#OCfgnGUNE!$Tn5i6V5wy>ysSBM<0;IC#kT>2 z0eBBRnb&VXd|@oZjFa#(1zjXW;rTtj^GF2V!|+VAweZ4@)g0XikLg+78)ic6Q%_g5}@c@pdxuhjO4?HcgLKINsV!s8RVdtx&@e-mNp zV0f%kbw;}II6cc(^ut>nsNEq0kKKMj+;4bgGZj}Qv0lP{ob{pe;QqSaKspZ|d>Fy8 z177^d?KM{LdhcG|Pv^m!g16cZ@I>7WKhb$GU3^^@od@my9`JdM@pg6=OVaN@@2!@t z`-1UyG&gby!@K&l$YdovrpD_(MB#;cD6#B;XP#1jND^KfUX~5;;v@HbWP|rT`SL3f z#25U@em&hc2I_w+`wQEAdz2ao@Nqa>Z*IODq_rQv1top~$|Z+PIF6rJB% zgUa^N`E3tx{>Kh@LmM)qMBs6%#;dr1DJcX=@7Rm<)xXayy;HkJSpV7wiV}0DS;wsi()|xZp)IUgA zXJa;x{=x0O7S)CD!m>YPQU74oeiktkcx}5DzNY@cx9fWt?!ns>%5{eN2k*IGYHK0B zi`|E7Pa?j&KX=s^VtxhAt-P;<_}bs8?v|tYUNRq1hPP5o@w-1f`P?lMo8htlQmN{O zx5Pi_xH#fFk*)iv8D6%o@}hZoNy?^KqVW0(g;{sPJHc2kU<5DKd%3qMy!qy&@K|_q zgG#=Z@H7)y-^{=hj!$*n3eVci_C+4X%kgnwG3A%PuE!oxemT})vxD+Wg1h@u$}jTr zuIZFtJ`QtSp!|}4YIYIjmya8mUs660f4}f3<(IMjA4?Y_KHV)T9`yU2%f5Iz{)E@% zmak3qOX}E;vbFFQ7o8ELe7{#+*PZH@z(Cjg3h+ww*nYo(mnqc9LiNjrs~QXL!8?B@ ziERL$+KDQY6&UXh$B7YRc%7<(6T0viW7`iJ!jsvb#+2gxzN0$rN;dF@kqO?))Ux1JE6j84=_9@NVBfbK4CR3_+c~TaP??rqLZcB=&-i_vec#`VfJK943(%^Lk z=#^2u+nLUiL-p>j;jZOW@4h=%d`J=Toh%pZibQ-4ypLEZK6XdH(-a@qX@L(5;K@v$ zbf)+kWAk4a!BYy<45RowZ^Wcgd}*0woPBT*ev)fj_hw@+j@zb{`|Ly)Y%|-do-q}@? z^4~j`9Gz3!~fa^Vr$ze`01{?Yq9ezNCu5xliq7f;N?(-8lhI0*0CZ`PIk z@bu0$81Ta@Yo8PlhNlyn&h8A)A=fl)4LlvDTQ*POy?bBhu?U{EHLHXLp5Ls2Tx%?z z-};SLk5fIlD7~nW>RnCqC$FjAt$ZEzoa)^UPZM{lCuNAXCfA#w#RtS&p%iC|NoP#FiC8|cokPE)iJ?ycw*Md4DXAQ@hYk} zN~Fghn8Vxi<%bQ`8^x_J?i9fr?)Y)+8|EWbmU~4!;u9-a^tcJ}1&9Bz;X`~aNfT1~ z@V4u^^J~Fd@NT}G&X?))qnFRXOTUwRV;j7?Jj!?Ie7R$*PkY}v<9`AvvLP>ZBY`%^kfLFbfL01l*o@UIkSMavnn{8hP z@9M>dZ?u1fOd~5Cus;T#2p^~Y+c*}HT_YhOEPd~={?E0f5UU(-jRGwT1&x)nGgz~Ac>82&rFXlPdptS?u zxXd#z%BRyoWldf1p@wyPg%}m0P3qP!;h_ zeQl_bg_rP(slXB5sSDmU7Vt`|Jf7OX6Rh$POoA8sl<%`6ysXSqsq^qw_05Y}z^gaW zTHuWNI3#MSUxfXU6zLm7_368?$Awg%9%;XsMD^*7uyeh%UhH^Z1yOw}>yRtN2XEu) z)?-wk?yC_Fp!#%twrG~l`%mBL=+gPf<8hxpoo9A9&Wg}^CfeQRKRVCc|NiVXy)W;b zA6`Z0nRB8u`{_J0BYLBp&PS)}(*M%?vfcguBLR3!4LMZ~@M_${RR6$RvTfxLX?O<= z4Z9@aRT?mf$-+BhzbDui-mb}t8fADK%rDozh4;*Yi)SUgv#ikzw!<^9^x>rY>G=DV z33Oh~ZGZcf`q?L(%mirvy6>tKp#8f}N?tInL4+Nqzd%=PdzomXvAQs*V$Y3@2J z9|v#T#$cooUYb&$IPH(k`%`~Y|K)At?XT2-se5@gj`qji{UKhoKa#vM{-gcjB0U*S z`(q|=cq{FXJJs5|ss7`gdC6f7&#HhwgX+Kh*Zsa!|K%*xzeM$)oGSAG)qlrzYSpR! ziz+J)rTUMd(YcH2zlrao2dMr#a5U&&Bj(qdiD@VGJD-<|cu>Fd{(hlH)bHFdeprV3 zo%81eK2g7OtakC38$63kk8P;mc`>oxnEIXEY%2~?zcZ-+>;&aMmz}KVFT$&B-kU-B z@0HYoY07_D#xc|M{5B?U8>i=Y^L*zS%70f{-`t`6m*e-%jq=~f^5a5uo_2`Nxo3&^ zR?3evz}B@Ya5EZpb76qMwVeH zyh{gdoVUWucp9TO2=Bkfyaai~=fi1aQiJ&Zd>*ytfH!6uP)+xPIyM>-)GtXoa-c&H z-krwq1nQRzxtzF0{StMvnZ?vE`L4WXlI{nEqCY&K`@w+!^0rpM3zWs5g20Q@c)>ah zZ&vkphyc8*y_H7<;I(j7Y+eO#uwbvM3p|V7x*TzMp4T$ZK7-e-RWY&{UR9fi6ZI1t zHD4J~KXIe6tOT8Zi@PiusGpd-d`SSEf0r7sa;5X{j((x7bpHMHJhPhmiI4czL#UtF zrr*&({Y0}60X748g~hY!$?$~S95=m$_v2w$%mR4xyN>Hq|6m|rJD(Mv-`5AS)IT_; zU*5$9Pgt^mm-+`?v1)x|m=DdcUfBxFM?Z^({8xZE^>_-y-4@4CwvVQJ@$74c>yF`i=B{WBNKLOV6)V{o3zE@K(Iqu$Z3T zFOTpbdVVuDvp)3vwtFvAr{~v{nX5?8FW;3fi=Lmsg|;wye*K-j1N8isB`=N%L3}n1 zyo}}W#NHcAaU;IS{Zngn;JrE;R=5eCgjn7oZFn1k996^M=}ccSGJyBcCPiZy9!vWL z0VQ}tSM@4F;l;Qd;Gw@?$m8=kKwdxRb64_IE~O8V7m}`UlRP#56$i+}XDC7B8E76p zOrF4CqXT(-4*wV^A4GqgsHF4YDfO0E$_J^FCQg(OLK_oLQ9elVYj2}`a9KiaJ>>(H zWQ)U;56y^q z4CtlvrG?3C0i7@TxpjnTz0903N~ZH=M*D~ntrxanrQmz;QUkuOq4n}wz1dj?@ddgM z`uiZhb!}!TbRU|&Uqw|O@wtA~@uB-rv-&?tbRQ}iQpoNHZ)56j19f;mMc3BTedwz~ zh61_|ZFe6Ca)wv&xo`A3yuc^hcCuo;$9|Td+XPQCW}_(e69clpETMj4@lC&bC*a)^ z-tlG&ys+Zc*FI5v9DO6w@DyKG*EYcudUitNAG}9ZjT`B_+S254a|b-XV>_x1;S~hf z3D9}9O7883Sa?&9-G%79T6f#;IGtBzjNeb{!CSLiP(=-1)+If+WAIF->q{BnamhZ_ zP=u#tt+z%NUh=&RT_t#YWoI7$2TypIab_bthXmHJckl!xo(_n?`!6nH7tP1ZH?D>> zA6GpLd}%(O*PVJ!^TEr$Hl60fe9t#_nvce$%TY8R8^rgj(|pJauk)t)sA}D~l;*=J zjkUQO@wF~|euo|PMq7Ye58c-))rgBz|4)Z;^a1t%*gn7gz8xOxzOfb5|C3OaWuWtA zS+CYH>i-Se4nCp&pVdfy(=fc3p9Ew1;h9*odP%_JFwaV+`*^{%zniGOiW0f;o9Zj$ zcS16B9{lfSI6IvO!(N_K)xZ4z{OYp?oP=k0_4YOD7k@Gu-%I^sR)>xW>K7Y06nHSfb2|}hx((iA z)0z)I@cc^m2i8i!dsS((lg|4`TJArPLVW$b%>TULz20nOLg)SF%sZFpygznxGMpdY zox=(egYYyix=Hb2ym232c2hmMx%(71jdw1-#G1xyp8540jW_XAK^fJPWq;fgsh*tu znYoh2>%U=J7uAzb#P{V1!OOgv5bTKfd{ZB!Qaz;c@VdhWcq{k3mZkICqvMl)R1Ym$ zvAvb*q38?6%jx`f&nEZ;)k89uJwvG;62HwZ=mamgf+;r%-XF%Zi)ep*N=?_M{ZUbp z+OJIU#VWnr2ya({*%8_w?-sXTrv1@vTWCl7L(Szt677#lsk-+k;KglfxKsk~>J^)- zbbo2-y5S1lU%FW{Z>Icr_Q2aebbtA5adj11Z(AJyZEL0bOH00pr*waL_0WM}MR=Q3 zrx>aJvoqIUPW7L?dd5;3?;gv{S5*H!UDi`Z_20FmD~vSWKhY{qG~OnO;hR+dDNIc< z(RjuFYJOe;@6DD?>s_%wevI~QqTd%ya1Ui_gV(w|Pkb@F6)`t|Q@tyGI#GiY-bLn> z-Bj;NeE58v>Rrd4Rb5o?26FzGp?cS9>5m*n)Z?sdx?klmzn5()C1o()@Cd)PyW!QR zvj0c-J?8~fLg~Io(#xYD%N~9=`YtvpIN7J`;X)-_xO-nRf@{&5?NWwh!YC z_ISle{h?akxD4tK&51S_QGZBN+fI@CL;rPGN>YD_p(jwB`a=U>!tEyD3a)?!~1gRdy7&rZE5=6!ft%RkG{89^Y7-v3_*NfQc!!8=J#VTe?j6H`d5~> zFKe^m9OMxD=AsDd=aV1BR@}gItUlGN`vdolKjr-u+K~TV+8)gu_u8`E_}ApI12|W{ zU@nV-r*@<-TOZzHM*juirQyx`z` zHAi@N$|k~1;C&Dhva5oZxF}C93Eur%m;RkXe12;iS~cL^F_AtN2QNeWd!{@AL7!Jeu%U`5!BnhIjTATSN-HV$(nmUwE=dC!XAgmpRv^w-27Ja!z0} zyc*|39bI^#=>fhv7U2VCbrDb^IN_xNI^R3ZA3nCWiocF?MeGU*VnP zw(xC-w^8zB5f8jxQH#JFcoUz>4L-xW|G0fY6udJ*?ar^^adxCX+68Z2aP`b7c(3*< zcO8N^yECSH0A8ty(6>f-+eiMygwXsJHKc69cuVZweY*sYiT$5AJ->rHLZa#U$NVa>cP8p`q0Qhc_K3D0L+*tR?Hp3eU=jX`{+f`#*j zh%fKgKfwfeOIu4eY$k8F=!$4~(XwghY5m1N7MItCHxR4whSr~8sPuhWf4_wa*Bymt zZGT?#4m>m4Ox`{4TE)34uESGdet1p?-hk(re;mB*FJ_f1;f2;eJhc^`z|EJuG`}4j z4y$N>XXDbjXnq-9J8b=k@w#4=dJu^5^5zx?yodK)-6kUx-poW@O}_YH2)c$-dy*XF^q{m9$yit*lcDp#cO zR^_!Wrt$t>;J<{%>-Jh{CyiI5VmTj;S0&IPM-g83cdvU{@YaZVga^R8ee<0q55}u> z+~;)_yfD+7&IL4HlgH*Z@G3v|&1S$m@FlNE2Huh-&VAPK^cn2+w!#}+v8SgL-b}x1 z_Cnv z4ZP2)|B4de>E5-F+6(Wfnh`4__J?6&q(dU+qd~#s!2rCjc%91;@NNc+oqPe$fA;z} zYk2Kl7x+WqeHh_q@`hJ&>F3u^@br9G)a&4NatG&J#d!6%n!Q$s=UdG>{sP{UM?9s6 z;Wdo-a8<(dPAlWv3UBMsw-;XU%!;MH(t7@tFQWGf9s^UP9^ z)jZuIRtfJ&&5^s5|NfOqe4zZdA?lO83Ooy)>t&Sxx>b%WG==x0_)!n#KZ(V99hCoC zT_&QK;n^OmW2X8*U~>xBJ$O3?0|l($rMC77-Guim*LFY}p5vl%W-EB&HsU_I@D6SJ z`||<3n;){ZV&EA|jjsEL`B<=}_gX$YJ+p@Pe2T9r^7~GBGnoswr@`a6o3d64-gW&T zEem-3eUEduz>8cmDP9ckixTr#6g)S_sQ}8)f)}lKQ+_sO{A*A7dD43LJmr_k|04P* zzpUX5a-;mhy`=UJ<(E%imuFCZk*oZ6i1JHCA=fs_&qv2z)GA@Tb!?}kK9H9oa=r}S zxrj4zj_~wqYo6x9JG7cL{#LQdNASw3Z>+us&*P}}#m9&* z%u~AgC_LqRg@;n%N&nj-pbu}3>7RcBybGL786xl)_VS-Fgy-5)wMZ47acZe#E{*qR z^2AAa+^k_?weZ+JP76|fkZ|_oSQ@;V!!>6N;8}Ie=3Rle(RSy{)$rE*Y`9|tukaJM zvKqV;r#6>7c#DhwoCtv@y=GU)33%@Y(mLq(EbU6!jVV7ftRD?mgVz*Qx9I=RPw>=* zW$&AB9g?D{#MeJ#KLdt>O z>F|Cv89UJL!!eG8DpLLOlzaUOs$cXTZ#YQxi&XT@Dj|4-Onm`Vzc3lz=cfAQd|d(? z)i0`kybVrGq3(Qyh7fj=dtjvCS~n!gLlKcD0??Nt#2QG zoPo#l{NJmiG~OP?>Cf<1{Tx~M3SJY3bz~&s+n&OIWh>$y#Ff95*k3*RSf zF^KroT%JgsgO{cI{SW135@8HGWmOptCp4(5izt7-> zY%eG>gZGYULAF0Uw~jrx_rNo?<=fc>ui7M0yAs}@{O6uw%m=UAq(LI)V`*WDVGca2 zHx3DA@E-cFNJ)mr%2g1z4xaC_YYE%oy>L`y(}dUIKR)R@&Bsw$R}Y$xQZJEMnh%-SU4b+oI_~WIX+AE9__xx0 zh##BrTaWQRbs2imhWK8eOSCM3_wLC2(%^}8oc!~^NC06k4 z}s~ql)p?uX;Y*0PjOw<@f|V?Z$>(aq!MK z30!Q4=a-=U$O+z$5p}_H@az-K$Nqyi$GuSW3%u?uf$=x+4(m*8yoLFQx++pa=jmOJ zu^W@%8C&J@Z-J+HYeM@Hyhmp5qv`yy>N}^I9z2_p^L?~`9VZm~Y5xkIaSJ&P?}3to zSr^8eyPw0|5AnGle*dQ%Uet?z+O=BlFv}H|c$(x_k09 zy^q=i)g|jOANyXP{Nj%IObYk}J88U)%7H=fn!fEfehP0wm5tLBp64x{SwDCo5B4#* z!}I4cOYDFb@!=k4IXwOp)65*i*YU-8*ctJyas2g&)=THor&nmb;O{YS(|Ymp$^TC4 zCGOkqQd%#M4&|9peX3zsX-@U&RE~d^#zx7hd8{nHtJh8HEY2C|{ZX z+oSFauYBj1Mby7~`u2NZExZJF*5v*0>chJ?7sD&}ZS&WJ7nJR?*aO~Ezv_)v@N5%B zZ5!ZSp9;U31uyGQvfvP&->+u3JM{Z?Q5`(P+3yw=_r~J2p@2dgjzw~Ph zjVS+ZW(|0(0nhiRv>@fbhli|c&%!&qICkA8tUpiDlZMTRPl-Red=lP{QRkKM@D3V} zDR;m#|GCi78J=%l%R|ZsgYO7Log?-jHQ#E~k3K|8LX))mQ7)_dTY1L%`a~km`*!0|&jR-q_XnN}uYD!tt3l z6+A!twjq{}@B}Lve^dQ;`s9b}RR5*!;}pq**D4>LOZ6YGe*0gl|9;HHnHs|jV#(ou z3~w-U{}rnL@K>H5S@1adW{mVP-rOed53k{=XA4LA!7JmhIQ$5n(B$?#2Jn=Uilq+0 z8$P#Xt0TM!ulW2o@Ro1RIb8s+4gW4s2cEe>1LqgSS2HYfndN;!CT$zl`z$ zk5k|vy^pdjcO<@q$ECovi1I(U5nrl%JOlMNR$O#>LFd69yQlZ*Jg8^nG)?Ehy=iMJ={zXEGr^S3zt>L9?xOQ= z#cv%4I{%u#m2PmsczXv`7cwJ0Q?|qnHSnAlJUZk7FTKYhwgBFOd%Jo!!81EI>*Nm4 z^mk|CPIx90{^_;wN*6fE-Gui}&3(Wb@iDnE_X#7u9cyRTN5M-zP<&GXo@itc_ZfKY z@7Gpw!keFMQc;7)zU|=nT6jfyO49hgQPU zeI@WtO;5&tfj7jqQZfc!ikBEmE4;`O)}0RUdba<&dK%usu0MW9;JH7XxiAcG(d*Yv zFW? zhPOI$&X>uW7pS0S~<33+fZk;ISo)@lk$>e$mlX1aI`W(Gtop zu~N!c_QDe%ebZzK4?i$GP!F%?YY`Xam+pkS%B4D zX8(zT=&3xK#ePUjLwBLrdN-j%;r#yVie-Gx@_Z}OI7`$2C zSn&(+7{6-AE5du{EY(Bvt6zUToC{vr^4U3>-^(g4#p~eJ?X}vK2#;x@-HZM3&dcr( zrSCDVO7g_sV7zI+zkK)xZ@z3u+lBk*;UrU`|u-1 z&J12j-pX7$&v;I>{-*QHTmNUf&cL(T{$x=cyvv2QF7&-)?S+Ly)X%x46+KD)oa*&! zpHM%Cl|O#H0KC?KudUS2Da}(mO8uOz5BJ(qKc^xw=@0dDG%Vh)k->cAiY2Y>gt!0c zY2i|McGu3gP(As|?EZ}$cvj=HN{aA|rmceQ;eE9=ZlQW|qoT;AhwxTUD`s7Rhnlee z0zBnL6;|rEhu%(3c@EFg`(WrHcy)Wm70clXNPINVg}0&Q-}C`^|GEwf+QG}+ywUju zysowWtoiVM9(KBS1miuz$S^63_!vwi`iWHE-Pt z;SF_L=5K}<%-<`&2i~p#pZyl_{#ex>tAl57MHRoDfOC=BVKM5LY~p9lc|h^;GXK5{ zPer_$k@_Vp=Wei2zvRE4=`GYRc^%gD-4fp5QkC7*FFCN|_#pL5I)(Wps9&-waLpYx zc<1l$fA9%jv+-(Y+8?iZzWk;4QA2&ZFYS+_mik$GAB~MOY^VM4)v_y@_Q#gKhy%1g zS}Mlo>3#H}U~+l^*7N35lTOz#-n@*;=zW>&*ZGR_X;*S=0p-*7;<1<8;VHL< z7yZEV6RO9*Hh|~XvgENFyuM|ANAALN-}3pL8oZB&bA~SPE<`6rZHG5=qA#EZ-XAA< z=@fY52R|L9e%+FdF=^DVyW&;%iTZU*;&k(=UuUji!A$+Sxr_bm)US(=A9_apy8a3E zLF(6uJni2|{W=rZMi1)OslU#tDu!o#pi0#e-hxHF5^eCtCvpmo!D~_7Ec66kXW*Bg zM(|QEt$leIp5l9rkIwK^Srwex;LSy3O%=m?o~7SW4X@U9pMW#G_L}tX?eNS?Lfiu3 z9p!o8R0HqjWSo=Ubp z+b-Xkg6Dir?JwoOy`3hFl>a_U{u-eC7tkiRJrbU4$&wXxKA#q7a~+5G{@d~AZSan( z4V=?LeA&_sU+M2PTDn$tRKN>QY1m8s$&S-wY1E%wa4kZF>KFN2Z9&wZblG8BZvxLK z{C*1cCmmCD&ryG}b6GcY8uG!Xf~w`a;BAW=8>I7*g>Cj5Iv)jOYRFJOhgCB%occL3 zul8wBKj%ehe;b{T&hou!rt^`jf8`D_%PS>x4_>+od4J`d4(|601F>~?t9 zuJ^3E0k2*^m{S5C@5()V=I|I@6VB6lzsRa*l6l{x+U*ah!d*h4w$m(-66S5m*^xSqEk z^-Ervs(Dbq#7fcfAoWYu-1@l&o}Mhpnj}LLJ)@s;(NdC z;d9E*Ui}x$C_kI7;5tM3IeMBsfbz2f`}=Cj&lcCl3@AU39<7YA6puw1DlwX`#8l~Lfz2WA6N%L-RzL@v4r zk1;qPiTa5}2beo{!}DpjmN*NqJpao)^%Kh%+!Y@|d@2efd#Ru3IaXft8S{}E9?DPO z3urrxAE)(f>~-xKo!|NeMr!H&mi=D8oX&6hlY)=v{8pW^Rgu=SU|Q)#TF;UnBOGZx zccd4**oN_j-mI6Lg4g``)0Ri@+-!*O)0wH`h0@dmhQLO<^OZ1`>hp zEB{LH61v~|B)5*4?zdcaxVNV?0FF4s&{-yf`hjYn+bia_;Dr9#7-toQf4Od}4(s?ia zEkt}%N%7UA@Q&T&af^nhwM5&s1zsSB;XQkJeSNl5;qW38q~08cH=pyie+VAK$&iR< zcsp*%dk!GJil6M_R}kNZ|8aC5{#>_R9KdZM$w*en-ieG5l@LiHN~w&9QXwTIDMS$= zBSjP`r9>GGkyY6ZNyMG3LWoH8e9rR^ykF={`NwcJ_-Uytiw5SZF*- zmnqLv{>K>`I!F1RNYE=kx=(*OF5GY*p4;lceRQ9GCimv02KsMUeAn7ec-u9;Y^D3E z*_Yryj_|m(_><|qqPDtFmhyuThR$PjUmf6CT1)R0Pkh>A=)J;DZ>ldDUZX;2`7^|~ zu<6MndauAgbzV>R>9kc2!yDjDynk;)_h|u^^3!ymc4F7sLHFtRE$jc&f~U1dfQ9bU z3O9ehp!bT4I$Naz;YD7Id#D9ZVC$*6ICvjk$FS4;LfOK(t5NWt%Z|#?`@;E^IVJk= zc%MeP()&VwC5IfnFYMpInSB_ZsqMH3KgNS+iS|c&pOzWzaisl}Xd$%M6+X0| zp5G|Vf+D}g((_KLI=MxM3CQ}ffeqDXuR>ZfjZLJH{ z>jHhEc2m9X`i=V&7vVLA-L<9q+PNz$SgF1yd|4!u>UD40d19$vmlU)=lInF)k-H12 z-kE>tx9ls#Cwyi9U#fR*RPS`BdgrFD$uz2WX0?{rQN2^9@t+LUH=I^Y{-%28Gc68P zs&8rLG_5(JGVWl9`Pgm z->e2a;d3>tRF4Rfw;!YW-!J>;Ui4m}I9sVt?-h*fGIjJ`F)_cJi{2~pnH%oWdqt`F z@k)BHSeG)VPVW`RkJ!&rK2-R{)tufd?yoW*r}v5%k1G;A5ntVh-*@Tv=2|s`*2KUY zt%$m=3D0ytZ+Qf~z^Ds*dExEayrNqd-nng}3G(m`95Xe%0x!Z`bo>Ck1?uj$=7=x# zf*|)N#HaKvYKG$T*Q?f}_}K51zo+bMRYP z`W|FQa*eSk?azgO9xZ~$e*NYgoxcq^ylNisig)?5(|zAbVqlX2yn@$e@96x!@6W+S z_kCCHtKxLueAVzPJ={X)WypFlDLOBg^}qN-=cViZ9TIe2PQ;7vrSo#Fa>;o$#J93%RJb0bW z_MU$5DkE7q2M}NWg?Q1`@Rl%i?kT`{unVm<<$$+a%r-q5-o~~Arv%|?j?6bPz}q5g zc()1O^SIg2WO(|$VXk}O-PdC>X@GZpjiW>@Jl@+cH)$X~K5fAl^6+Y(xmDhV$IigH za0R^Vkg+r&c;&G!oCEL{^4O)_hu1JRyWs@9gWlN_KdApI?ES3ZmE;VUS0O%@4HKWZ z;r%gs_%9BgWsv>~5qP02g{~~{+&F&Ny@fY&&SrTUypgt_lCJQ)AIL9gg%{qeeajo; z@i@L+lj`IATnti{@aiqRFVw@cQa-)Q65ek%O%^S9j(cU7vtm3>O-<~rhxd1_-}Gf_ z@8zUwK8(lH*j1{#;05V~7nQ(UJj@ee2JhaegLECdRncQNH^NJ~H*#Plyptoy&VJlL{1>Sxfqk*t%&b{hSihJ z@R&I(_!{A9X&7X0hNsO~W2}w%2vnkK`W65~E1fcU;ui1}WE z7tt#=GYHRrG*{Uc-om%vOy0u#w6&kj23`$Y&lx><_%AUPobc2#PW^0wCnB`6I1Qe* zv7?{}yq}DFA`0MnElCt&$NJcsC%tGVye0OXpW5MVI$RdN9o{SEU;i1wTauf%eld-Q zH>XP*yd3voyG(d0>CT4B;dK;TU4I7sx5~Szb^`sk`^NON5WE&~!OS#x$F`}+NW-&p zn&ah$m!f%L^=I_od|LbW8}R&3o>=7tFInbOQYZRv@9_@H%ZSgY=EsR)w6|`_;eXWL zNY!17-@ywkKV3lW4J*=B(1%y*{`CMC;yeFhG`SVt?)8iJU4_@(cygTDn_)4~IfVGO zmHv8e15ff)%fS`!`~n$-3gA^mFV)k6=k?GiRUBT7!bug{UnWDB-F*bFYVY#MQ}Fn< zvk(75e2(j?E-XQOuZuqiQ+}@-9hayJPowKodnr7(GXiM_@Md`yypV-AC!-lM2`_3= zZs;jIlZ%#25%7-n9rc}um$9z3+ZkS64*P4`@9)1@JGBws>Q%eXzJkXvd9lG9-c~D* z^BVB3_{yd*p}oCd#JXO=W6iF2PJnl0=yd=O+IzTlb-X>=`+mwoydLA>C;BOc2cAbQ z|DAYv>c8hI5`}872d5Mv(fwDof&%E_7?G_1}VOz?@Lb3 z>b;sqeDikVckSVQ+Bus30bcDefBQCgvK{q?Yv8TZ+jNl|@p(pVe)JArt=8Z8ba=}G zR+cS8d|mg4S-v8^@;A#fHo+5JasR0*yf@9YLHFSq-Kyx)gx7HG+Qwz@W(8~B{y==i z&sS|Pg6FnCNg){CfxYc26NsrShax2SWJhXlosnXvs97wF!Vug3@lKYcLcmsa2y8Q5l@?vhx zVgGw_c(YeM`maJ)XHz1)FYkHy9O1RGZ|8c2@fe#;k2rw%Uh*~Hs6l-9?HpSy;F++d zn7@J7y}-(H6TE*)j&qub&w3g^tBv?x<<{7}fp=6T`&%Ns_|)9}yoj&oh2N+9h;PLE zKjmfczKcGokb>vSEBN;&yxDSTHadT~Bx@hh`D>)OVIiHrcaERTrSmtV&tWB>)(GPA_bQW)M6S*db5FJr9* ztscP3J{mPg=VdxWPS-Fz1MRGNx^E4xzwq`aJRdKQ*W2Jl#(T8Ve&yE3VrL6aboOBl z?N_g*l(`q8y&{T-bl<|8o~_`x2Jd=SK(#2^`=ZM#^#F=WzbY9+h_=_I;f-;p=h+qT2o&ZvK#^0mbp{~1!grv3e*2IXtg(mdxWUke!KlO9EU+$?`H zC|}Dc88}P%nzl-o>J;KrPkXnB+Uq%>c#(cT;%Z186Sa42WPBI3cUwwR6SbF5r7w=! zE3j7Q6ScS2DeEM)m(}dVgbzIPL%;ib;gvb+7O3b>V=Ck{>;GMV1Xm|`S zh~XB89=sag&+Db(={i3fABXoN`s=fiPdYpx)BP%a83(rT1do~vF%`2QWV1Spf z>B*2Nywbi_pLBR5Y`$k@;f4H+-opb=^^#s<7d*E!UyX9$&DXT09fp^C-6y9T-q)P0 z5?jOs4n#^23Y z5T09O)7DOS&iDTuzXdO7)_$QPyz4^2NAuwQius$!2+zIZ$cr8D`efVEKEm^M?GLwy z=XA-l%Mjk_wr(9Bc*b%ocYc7U));Pb9p0s&vtK31voHED2>tizto8gb_7|~%sw+$3 zsV1zpxdQL&MRrapcqLNj85Y8mV~t$if&SYv^5a7myrgw;f(PLx_rFs5jQ+DPZi!Yx zd>@J&W24c3ioe1H*T7r7N>1@Pyy$^agSGHJtXW{92=A^`tMCjwnY@(17x0eu*gc4X zr+S+~iW%|!r*wC46yE8zVo#0GUX8gPpZ)L(+beJN!P_az>gYo8xhZV7fOpnR@V5xs z+jCoYx(8n5qB-Nc@WzjCR$Kv3@~w`S58CT2U37|mU&X6$X4evU)0fj!Qs5PQ{HZ4i zZ;yV75hr=IKkeEPU$4ym#hLKVEVo?e3Garq;rn*9w{%$2sUKb=UrYl1Uao8s(_J-q z@3PaJ9>7byAD6KT-m!`xX3Aeat&mI@hF28hD?s_nwD^VZbY2Qe+>oXG<>N4SFE9f&dZAq?Q^bZ?`iq9o9VrF%}Vh=K6u#^JO?ks8$A**unb=P z(4~Lu@S57E*xS(Fk!xPPLLHoga>j64$@N+mIExhR%;abHkNK;n`b?Yt#90ZS5+Hv+%AT z7cKsU_?)AoRtm#=dt0TA^4+R`&$m*(n|(>akn-Ko=hg0%@4EUY3f+V!S(D>J`7XO= zZVTnR<38^X+rjf)Te;*7ynjkIJ1JkQ&)ayI@->)?^C5W;v^vPaZ?ftTnl!*mDUYKhb4Dj1J_7AK#$A-?(9rXH#v2)`|Fr}3zd z39X^=5c3b$5{LJBm7&D~c+q`_w$XT;9*PmjfahK~vuZy)HI?MmZHOJ zRAu4i?|N)`3tn+!z>EsKmmX!Qf{4#1^xf%;yyZF47sJyGbME*8uj}LCv$x=dJnb1g z0JPTUj3A{gZQwUy3YUellf10lAtF4&eiQMo0MfdZ6Lm@rX zfBwsN?xp+r%{8hbui*tQzWI;(&x-p{A>Gfr|8=p|!0Y$8yyYvM-0TI2bJ+tg^LyZYC%o#~t312l=?>X!FoqY+)mXxh z`ByyW*7yltMQdT#O?bZZfzM?TU(r^kf2HtBKJI&p)4g0Z?MWjbsyT>C2n(q_UDEu%P`sx zb}HBV(S8uP@!n6`pC@?2*=hYseGpkp>sRW@Y%}f8yzbhgv_Ic}Q_)TPv*oJz9u9cv z5^F=~_o=_0XqWysihS+6*YFv5x!!Wy7Qy=?F4Z@U@%`IUd8wAX|Ms4Wg}2FU*Rt&t zUrO_nN_Yq2mRi)JyV&QFmeqDhR@r4QVtT+QNKzy0_ zXLt??a^L7aczSfLOfx*jQV&uF|m0jdjH+>z9m){@x5PGQ|<;pG@#l@I<2 z^nJw9vu+YB@cgc-7Mz3UalUOkAG`;wim(4-{$(f@#JoX#j9Yn*B*1%c^`+V_cq}Ui z25T|CKfGTX@gu&-75pClXz!NG&Vp1Q5_qTOO!cAJ1TQVB59KhO*-iDKYoE7>P<<%w zqEiIbhwfIGr-j4&dSK(|96aZ_cY#;nWnC>&8HcAT#3*J5Zzk`6Cx&%Q{a`{fX? z2b%#rwwV1^bicIUHg7msw^;4R$j^6(w4w|T9=rSOLH zdD^IcIw)DWi1uf5r#r>8KL@c7-=qE6o@PF3NyQM_pI=AV zR8jqOI7@dw)$0!1Y1vY}?l_l&%?fxs1akh-e){=Dye!r0tb-iGX+I6978jy=om|FD zGVQ0?#`Z_4US};D(@Ohkj-FyU{e7}wLzycZ=8H$a%U1_@+gRocsNN|bWA07$&etvR z6;$u^JrpcS^Le`50RLMGzt14Vu1WJ*X2}>Y&F2`Ms@NvPx6oO|Xi<`?g6Sco6YDRr<+M0PhTcPLdLlh>z(} zUW*~(Q!78FNB58F^|iiq|JaqjcLm))Vi$i^wt(lYRQsClA8Q}E*VFwYZ&$e>-9PlZ z3r5utU+kZjdt!)>gLNd9zHhf#aYlt1p2g9jx(IkuSLG6U;kn!nSxEEQ;9}q#IxqVM z|K`WTJ1TbEV<$WzHMe0pFE=f>W260#%ei{L9NOE<67f?8UIB{>AMJl*i?`L${2dYif5(EfM*!44PN|JnsF%p9ZkZpdJ#{m-GP{o@q8Eyven?1sl`^>1z^ypHdi zV+!FdRNro?1Mk^gg)~WcVX|dVNCe%dtDb2drTg?gru=1+7~g>}8#mBOyOH{M=Q^x`^-h{`}W;eq=Bpz5f~7Tf<~MtcdvRS#MO+`75U=-$nC}_Y$k0D!lUW zki|=>|JEHn)`#|9tpV@n6@Otdcm;J1*S^D>{=Q145MGLs*7qQIY9EbK$KbKda>`1=iw@oU zh`vX%@BKDJ>#bva<`kVD21hTb()pnor<6(SP5k3yS2{l=f-jiR`LT?ppP9~&V7_gI zbbb_XU(K@v{kPLVp!*TxOFr57$rRqPlJt;Tc>OhhM5tcpzDoBS)rSr({WL)JA=a}A zn)JTaFMs&z*{T{7S?pz|Ja1|BqncvhF2zc&9=S{yh)R`Rf+(CGa-b zJPZ7X_y)$_ST!QP!WvhFBzQ+8isyI3^Z#<^)EmUN{{8!8x(~9H_*T$;uy31iE9HOJ zTh+@c|Lcw4wSw+%gCiR@Q2w`dc#9R~f6UsUi|GF5P+6u%_qS~68!PGl7I@Khpc3tM z&P=lXt*a@25xlVU0_882g|E%T;d#h69}I<8>u}gl58m5< zw{AXx*K{~Fr%}#QA4lf~w^ZYq@6GLWh4Dig0))^VW%ZLbZ zpucxHBYpMUI(SA}Rvwk`&KA@*8^i0K?|7;LZ{qPp&R=-D|2&*~39r5<#X1JwR~F_M z?C@s1m^U9r|NS|rc$>b@E^t2aKmgvQv8$2E@ZMLyd>{c&TcDwo1D<$qWBo^XX)bk< z*WvN2nLYA==Xqvait1O|M|xbf5TEOvyY5MdPi!gQ0lIH_rAE8ZeJeZjjM#d3J+=!3 zmEn!u{WD4Tt;cDnx6*xUDDZ3&-M9WW3B=HStGSxT*%I+xD@yOIM0{%8V;=NAt#apH zd>p)}38%Mozg)y}kCWb~+eBXeq5I{Z5v5wXU-rj;eo6OB*R0G-biaJ>GV^B}yhTij zcj@;MviF zKcA%fOY@sQ?HTYq@xw{{QS0NZqrU>e=Rd zw~yt*)4GxCO7(27#x`}TXQ!(rs!{#^YlBL9DZJ;hmd~hupYTOt2i5O;N4;BUKj>V< zlSK7i35nPiCw~d;_j)naa@K%B(-uT<|7m zRpKwgySMq0v=F?Xhm<{-;F&pSTeToQg`w>dsqmV9n=f*PSEc5&uL<#8%OB~Y`CPe{ zZIb45=5S{s&1WO7yq7eekB!yq(0q>kZ-F(<=U1u?LcigqI2nY{eD2To0K=-3j_lP%i zKl&Kru1fc#9A0?|x*tUB+_+`0e^!3d9r=-I1OuRC>JJ(TKo6`swl zwBLX9dGH_Y_eMpLKWV>T&G9pz_ItbcyWi1%&zTd$@)7avcKVfe5nj-Rnz?y+O#H4H z^q%7Xs#cNSQ;POHH>LNKV4)IedQZvT^mjYGrzBc$VWIbw+)vx~(0j_vQt=)1o)TdD zAco$jo3`Cgq4#P1LpQI}`?UV8sRVkTKBMuziQcC#akpvF`}8jt@o;*do=elaOYhS+ zeqD>A_vx0K#`*LC5I!+*fr<{aF8Eoy6|c z-`auqo<~1;2B+}%c`L4-|LKo;r~EiH4DqqwR$!p}D*OKHnS0=sM$|;9!b>agOlg9b zo!t{T4sUj(nnMBJ=$_YykHUMdk+gT=Z@f1;dY@T#0)H29XNT)Nyr{m2yH3atCUTQn zPrzFfyENPs-kLa(>|S^wGK!;YS?Is09m59j?g+RpjfCgn`=M|-JdYcrdAjhD)XS1` z;EfbDjW33$sTTRm4W96KnTS>J=1!Xgy@z+8Zq=G;#CIoFsz()`n%ixy0C;j;$L#sw z@h5kS$ikCVnew3b&@T!av$pVVWL|AKMxMy6TgLFN3kmE02T$tMniLkqC+xE*QV-t# ztj{Ik@U|vhUnc=CM>gQ17ChdFG&MTkO!EXg=zEazaOHD0@Foik=a<7PtB~uehR1y~ zTyzleF&;eQA`b7vlG^_~;r)nM6UGFuc{TIoVtCxYi#8g-6H5&|NZ&^+owz2p1>S;( z%umJP`J7%S@e_2ztdwNJcETH!6+D$T$Sukw*cr42ky)_XUG;MqN` zjULB*d3uD`&JdpZ4Y{}U{cgc$^9w@o?sjF~8(M_FH@aePoD46=S8D7DJe7=lQa@*L zUpESnHGt=>|H|SmyuBN&THe9awjHz6Kzp6sMqKFcQ~X{#&RD`T`0%$t4Dm^+9@t+2 z@9#8UT`xTOox#6^5#QCN#-VQT?uT!kpM#fZ@1?{S;AW{fY#<;%BR z;Av@VI<17){apQBE4=?bZb@^JqukeI2X50tiIYo;;jz@c?^=13!;a%6^y6+6n`|R?g>S%9>jrT%o z@6PRK2Y#^`QR14j(e$( z_Qr}xo~lLv?F?m}UkY#0mUcOsFaD?NT9V+|Fbkfg`NF(>u3!}HO)6u1tPk%$o07Ix zw71Ku+K}eU!uL9*K8SDKzs|94#Ak1}BV{MNRYuAW6cL}r$w`NLcvE?N`$pkS-@4Tz zgZKhdDviA1rB(?Gav(ktlead)h>yush>hym$(u{QP(F0jsYPf5ycu_8Jpp*XW%@Ui z!TZnQcV{QO)W(4?eDJbr@0{KPuk+ivms5x@)GKI?5guz+*@Z>$WS8vt8UgRFa^gl4 zc(;#@?pgw`w2o`_6L`v_mtJ?lJ6EpW$`6m}i>dcscww8qm;HukS{k9t4DY#Pd<82! zk#oxjPQg=S=XEoNSHxC$ksqG6(&3^~cwE81wo-gI2cxVhzAG`^e7;_ENs zHm3MWd39~+yp%WA+UbDx(HF+D)F0k)H`cBV@a&A!*M5c9DSiJkEA~IXg2W5@@J@Jp^-Y8VBtU#aq11 zO7KE*qAVNWaf&H!`3djjB9}^8c&c9SRej)@5BG6#!n@AXenAAD3eS=yA2I)q<}n9f$^B-l@vWK_-=CH;H`ft|TaLI4X zzYTA%uZTf>kKLa4%)qmFB^craZ@0;+tt;Tg1;`1tz}rz?^>+eZ(dx?)itrAkx%d0Q zOC31a%Z>OB9KY%#f%uwO9+g`mzWQ$cC-gp(;IoNOjN)4*!!?5S@h3=8_zJw_g; z!&~t8_c-k@ISOxwX@3#fw?XLx;#;XY67Ui6mBwdJEkt~L#$iXp5nuU8Z zhsPUy>KNr4<1T-8Qodnd6a0pd%Y{a2oceTP?Fdn|<;^RF%AV!1KA8^`QF zT!eRc>4!TC=)Z$^qt35Ge9JwwO@8W3|+Oqn>fJ|7|Hb zI!gQBko%HQ+W&U%4=bSkk8#|PNfO>a?vY^H|C-dFsnGs+#PkX;KjIsUUq3_V$C2^X zZuI*|<<~R0MB%Nx7rl5G<2xF|VM^zRZPw4Pbbg#z>bIQ6H{f`>IF0YJU3S~({7{w) z_N4PeBDb_&4e>QTm{Pfk_--?_YtwmoX^;1`DB_#u5qR?g-fVT8I-QrPVLKe?yc|<| zhbsjBUr}WLUOF!s@7(v`M0|S7-CD&k9-N(WTTWs;_E>Z{hQL$5F;!s+Pu(ZCZxEim zjUxL(j7Mukrp$VH>P2HlG4Pi5u4R`;ds9AW`5D2}IhJ1GhW6&RyJyh%Lr3aAGB1b6 z;S^puj`qGf?aG%9@1wEf`AWp6@W8uw3hiySSAMr1-u3~um7frw-|?g?ooMgo8f8Hy z#8;+nzF;5XOS!lxJpi7`KY24V#J8LO`o?eY#J^_7up_=*iRrOx5MSzWS25+2IuFh{ zNFhFtZ$D41Mtt1GCI4&@-@TmcA#^`7wiM7@2Ji6dTjHaL&tct0#x!`H2SP5DBfj>h zTiYiPAJ_M+79)68l>tlI5Z@zK|Lk_eC(Ll9<`Kr@xiaH3am44SFs0)OuOyt|h7RKU zCsHW#5uU@QzS=+V^mDy~)Dhpio#}N!@Q#}`&I=&Ee?QEE6%b$l*?XUNBEBouvt?fq zpLbgFU2%Bt_BKcSM0`K@l&D{Y7tt73`~u#+8$N84h;Of$&+J-wk9JIK{D}Axud%Ck zAU^-k%zr%K^)^ml_zBPM{cI79$L)->2Pfd|IaGC>#$z;hyTD6$J4>JV{D$}FPXAtG zcrL}36*L|RqFZgc;Q7rZ_<6!x!)ZKAp62DPP2@!$yb(s8iN)w6@=DY@6v!Jec@{xl z%+Gs%hx96jLw2zWdhpQ2QIi*DtWw)&icZ+rtTMc+rPg zAF$JWeyCM+AD(>Vo9l1kg^#tlE`aCYvr=jsJjsxrML*!Nms#)nh4?CGq*t9rd_wHK zOX>S7{-=XQyWt6l{=KCF@8>q9PmS>6tj;u#!TTcf$5I~N=UDzCUwFfxo6@;3zH_Z( z(PD_t(W)@wJ-i1QjhFN>U#OJO{5Kw9A0*tNnF{1?avyt9ys(II% z_ERxCjdQf0J{ruv!v!yTip$~_`S4&EVu_8CKX>QUx={g}@uA8q2I z-y>UjOuE4UUe5Ng4czdaxYX<~g16=B$`v2cUXvlcMcnYh{5;Edz}tDpxAiB+_tjxf zuRoa2QN~@7B53bPTiu#V@WQw7e>Q`sq|4Q^6yA8F$fjrTWUsET?}nHAdR6xlcnRvK zPB_C8|Hk@m2HtF7ST8H$v-0@nNAC-vOSd=D_wqY>A}6=QGkbSZg~nIwOqxE8ug<0u z_B6hNU%iW^;Bl!1Dbx6}XkGZphW4Ig|C1yLkKxK=VS9Mpn16KsW}K?arStc1{6jVw zcz?a}66ySHObV%@^H;qje+iwx##3^a==^Pce|asPzjM30mFWDPb8p+`2k!)vkTv~% zz@0CR@-$y2yqH(he5vSJ-$3^TwW#K|G@oTU`8Uvf(SH5?0nL}wn@7*nd|`6G+E4cd zZexqzMHmkjCbnoTc#B?*EYN`0_j%<%CV0kN0Wb349hkMOZ-U3`((2CwZ`JWN>#X6a ze0ab;fc`6*c(HC2<59=DX5(AL7u=;Bxf=7uyH_jr2)xsGH{M?Z@0!&{P1+B9+EZ zm-ijSwCR3%S@69Z-7j?uY^LabStEF?p6-_{{ar`te#!o+#f|QlPt2d$B_Y1ki6_+Q zJv1%e`8eID*IwSRlJ3*oyRz@n{c`Mmbr{{J{T9tHrTg?rZ5KbfPcJgEI7Rnq?`M~S z=ss=hm{KE%^U+v+ zS|95U@0*r|H+scXl-7s6@+y;^h>z2dG3O21tC*sE(GK2#UuX}_m(m3bHrK&>QLN9egqRh9{)C=C~D7RUfFR`sPLIUvqXz4wn^C;&T(|0?l; zN7uHrve9|uFLrAuok#PV%i`!f(((8uMCZ}%F2fsi9;plaThMt_S7W#T8pdNa<0m;u zc}!!it}kaa<4xAMB~w<#dMefp3}$H^_K9o`~^m6JW4~3G7e!p zLU;4T2_QZnPv)KUJ@r6xT!JaQfaiJ1f{1UFjnDWgJVR;c`Y-SrV^@3f$#?Lq zu4TO7fX7=Q8DvNOcZK=rFuaYcKT1v^zOc(%xhfDJr(o)|0>*dg<8L<(!jlW!GQJvK z?)K4zpWrdxD8KU;-j7>fJT>6id8HNv!xP?<`&$s>;d@nsK^gJ=)MOeihbPl@?Uy{f zkIH-9$?M*7y_mef_a{5r;VE;y3nZ`ZX@f3#2f6q{$@^LnQ%&AS{e3T#;O%Vv@_hrm zc$ZDa^!JDXTPuHC!}~3=HdGQGm$LM=DtJ}z5BB!MD||dAy$s%u>!r6m;CYWv8ZyFr zo>61Z1J6gMy>lb_Z|ZxGE7gZ?T0d?4e|_lH(GOG~k`!9Hg!21%(a<8w?~N3CevVCCcv)l)Sn13i0_A?|iL}_OeZ<2OmOw<(=}6^%0-uRBluU zJb_)sqVw=PVhg@%BEHmXYvn`WO`3QI2qC^DUEl>JK*(;5B)q2Pqg-4Db)`?56&;A`a#Hlj3=mmuvK~GA*vt9?mLl2^#fz2WM!%! z1Unuq(S|2hu|mER{g*yk%&`;WF&=s$PY>RsUt9)U@Ei-*6+DE;oS+l&0qyPDy=WH~ zJn`imyxZY%hX@OfQvY?H*PcfI)ow`BevJ6ai#|(9AigYSUTez7*?s0qDId>@buFd^%ME<_N}q)qx!DJs=k|4-wjFK z>1GQrS9NgHcl4jXDVysA`Y*}Z;!+{J7n>$b>Hix9@iIMK3D4Q1=@Ff8&$@4(q4Uio z**T8Rx1WQ@_2_&%EFa54=bM>2XH!4Cy-d?%Bk(qJzRQb(hb&W{-dEk6_dij97ci|a z@dxXp^R2n*O?cS@t7GcmSv}NWIEVGI>vHnYMtG|u7Y262TQ#1O_6?qb8biV@cwZ;D zTvEoG0s!4uDa zZ1Mx1(&t-!w4a)YW#`g8ejSL6TLLP?6pH?G`?JcoVE1#Gu$uCW+UP4GQH|}23~@>PWl#j z`doLn{D60=Uwro>c%^ZpksIK>s5o^k7M=v>u@j2$_Wg2=TMut=>}5k0+B?1Iyo(CF z2#yk8FL)x?5{vcVHKfQF(*FFY@%^Sbv{y^#?IPM=VojcGI|Z-s;gai1;q?dI|3Le* z*6ythT=0^1MY@Hd|I8$^3#i_-JNwrgs-N;2KP{(vQ;!#;9o3uUmNq(2y=jh7cZTYx z(SPTSsNQti_iq~2n{FQe@3{`f_apP-k1w&GKC$>KN%i8n{u$dr%onLJ2}!CK#~vO0 zPzLYHr+h}L7grD8W~X{_io!!_su$bpo^^PO@vVRG){X9~TKrwZbYG2Bk*lZs>ag{- zP`a-g2)h>2eRZ3(s~p`|8@RQ@=)PM0N!6F`tKRiW@94hzLuSVTy03c1>|fCcPmpD& zuO-^M{_hGu9e6{PDM|~_-oo)9(FgEscK5K*d8w1Q?KRym|9cmGj_#M@X6O9re#y#l zxts2nyPZ8_TH#q;j`XyK*MH*RK01FV=c{<={N1e>|Czk?ii|JFi~cYcMdz=rCASHk zzxu^$`gHyt34Y!_3Gb)sDO;+K-_QxUO!aa09VgGw{Vn_8)-<}mRgbxDq2QF;oWfhUav)GTG|Km#j1K$$w_$S*(nAV z@V=&X)bzu1x+g!)f%&&cWp=?@csa60N*Cb$RWRt5fv5fS^kV~f-+Fncmc!Hc`Z#kM z-kykL|I_f!DP3>c4DUcm&#NJL_N(@MrFxU`M{zc)|5a=r7pMAP+J;lZRBt*ZdLVTz zyx0b|d$d0XE{Xj?`}0dv{}|ezFU>eH(0>0a{O%>%pEc%1jA?&1d2(!m_GcY?>GiZf zOTC{wO8c|!kK^^UKS#KEret6|met$HNTL5G0$qJn;hC{Nzef356@NNUF1*Iw8M^iG z#@dt{DPQvu9?qnEtzF5)x)A!}k-l;6HK!DaSw^xrMt>43POBreXrdc^pQ@ztL!+0GxJmL5gDu>~H zA2`lJ<8fzD@sc?_k^24GG#;`&ie5AxDoL3EM)1nE1ztT5&;EGlW*QHZS0aD);U%e` zU}A@7eY)VZ2fX0QuXh9C1&5q4-w01}k-1bKJocsWP7C0%TBq+fgr{0{GA0Th>s|qE zX?V_}jmdiOSo^luFbiRywuli8M*lH<M1^IU9KBa`uX^W5?-kn?@yt;@g6ZFt z8LCIjGWK7kdPJSk-j7s|XyajSrFz6>ar<%uc!I4OZS)@c=7p#>y@yt0Z+l1ic;?~f znv{=g3#&&^KHghs^^EfI>ff9ul#h=zy=iqZVJ>FDfGLzopN0_EQ(0hDBQie)8+N%&Z-%j_B5Pw~1n$J9W%C^ZBD}+G3i|zdR4B(tLi^$B=Oh-dTNp_P^*q zpEYN_WZ<=}Tg*)TSN*5C={mf7Es`44e)_@5 zx}QSzPL}HUc&c~GE@#_I>%$=Ylo_oLFX7Lev_3)(8Yk2GI1zI}pVo&jgRBp&kMEXG zPSN^Exfz~G>x1(?pDnGA!L+ALv|pWm*X&`A_-?!K{zv(J_x6+@l;4j>{2ZtJK5Xq$ zRm$(rMZJ7O`TezkhYP5F|FBSsjq3OMOBU%%rxT0X(sF#hAD4dx%SHW83%>CB^czwF%>CEUqu|2hp^!^*5@cZ&}#FzYCW1}Iw5;kFxRq!eU8K>#}$o0c( z&wKFPPM!2A_^8QrJ(7whJdMf2~3 ziS;D)U(>?K1)mXL_r$4X!iaB5Wy8rh#8-Q0K8EUR2EMToR9~x*bXZ9BHRpvsu~c8f zkBw(ieJ$pFpB~lMJntV)r25($y{H7LuN7_gFQt0Z@#p{9QoV`)U-m5JMB!6BU$?JGHDnMEUry`bure$1MfEFj2j!@bQc$)tfpG8768XzJn=~XLI2x z1XQls3~%v1{R#TsVrsc-I(=`Uzr$gU-jBSeIF&`+UCWYB%4aEXEw)$bRVfA^;PeSi4ny;Q$< z*~Pn@@~a+e`EI(;NQ6FoP4}6{A}3iWzhW`#n5jm4H?%G|s*3%@>zNBJ&K56>yecb#k3t*3l<$@P?Tl<(eqkou1D-7tYTVY*N2ei}G=5b>SSQ*t*$ zeB(i>g5Ths?OJ3T2=9PPps|_^^4zhcMmOv)?rmeIp2DkHT$8@)Gyb2U#sD|pH0rxf zKQ%G~khhcs1gODd7_pk?fv4C%JKY9vd6{$TA$aH4^^{4&`&Dm~x(i+p%M9m3cw3|` zH!8tnmkV-chj(;NGA#k#sdU%WZg_v1EXwKk3OvI@jOXDo7Vfc$ho^nTGiW_LF7tTz z0C+7A&0?G3y-GTHd?UPStHkqi@bcqiES|t)ypbrHgZ?|4$RO&5{_~vOU8*pF@0J(D zy)J{d&oe!7A3T|8Cf_UY_B!2j8;7@8XV0)Fyn(>s+oL zcuM8MBUC@_2}&!z2ydCSMS=#r+eX}KRq);$H3oaZtNWTJmIY5v#L?&vy!FgqANat_ z%DXMP72bL0mmy>DSXJDWXn$E$$MUNc{U>kRBf$pmV{&kFDm;0Pb8j}nn-+f_76Px& zg8l6WcrPBt^;T~aT* zJZh%#^~m|=4$ok6*SBTx3}5^jvxBG6|7Go6c*QM|7iHirE)_e$2ygH6X8ve+?FFnp zw0@Oq*Tm5K{>b?o8~=mX5_TuYAKt&ET}&$Q^3CcqT;b(Be7?R6-m=6V4-I%S$O_;naX+Kt;t#OHw#`gcUrhLJdu_M zjOXB`Etn4Of*0P>zQ!Kj{CHs1DtMkYDjp5+?rc>1U4{0tChFcwfmh@H)Mgs(-PO~S z8x8O7tkB~%@H|@n)%d~V-MQuM8+iGzyK9Z%UGQJ{XgNG-a|x+O@Jc0)r5M56v(5Ls z1iZ`@inlu8m0Cw`^MSWYKH2Y+^V2YDZ`7m0WNL3W(}mmAUZHEU zkEp$lY76gBdzXGON}~2Y7VP^|1aDcv=-V-P;_9LMD&VP1<@{zueC}-GpDx2o7w_~l zfw%ri@WzwySTg(1yoJa2vDSGLyp8vzFDk;T_If5+4liCmZ*M-@yLa`?t6o?i%^sGg zmEbv^lsfqo9;f6uqdUC*F|K!M@M0vjnkV3m9PhI|2=B$E*HISmwit9TAB49cXum7f z+n))hKBm7fdsSW7Jc{-v#XpV?gXe!|uv;6R_=7I_!|$~vk-P?I3;RP6{4>G|k-D2MT4&Ii!;;sYmR=?9XTn?|W*FoI@-d1sqg!}Lc zKL)kQ!^{6~?`IZxT&Cm1WexaKm!rMjW_|w(;Z+-Db?kxn zrNFW;5#9yKf#M(V@?|r(?1QJ?sJY1)UX~5}z!!Mu*Pgw52wsHv*^ZU)G|u=Zi^1z> zJ*0OZ-Vm4fhn?`+<^~up!E1PsR5k$bNniYKCwRQOcIq0z^YR)i{sixM=9<-)(O%0n zk(P(hUgs)jo)NUy!s0;p8F(p1JSVi^aV}JT?FH|T^?~e{@QfDl7U;t}>@v4g7~WCQ z^&xlQtw}f$p#ZOZiFq<7yvCa;1s~vX>sws$g4b#~RwxB;;K!LOJK+U)aVp^~c`B^O+S}AdC2XS1mutj`);Wc8tA8e3yQ( zd_4${Cpb!&;*-7E%|h|*c5C%|08dZgalQh)sr2MBR(Ol*E}gyv&puzUY7@K{YfF-q z;H`Ea*w6(p*6>g3QF!CxCtfMQOBNXjaf0{oUoKBEyh^#ZhAZG*$u-4~0XRIrHypW%-9W+FBiWO={P|Xnp*r z8hC)#$Eb~z53P?scheL_;T7EXtf%!6#4w)o51#qF>39RY<=2k>WWjhyEit>F0x#=y zdz%@&>HR4wr{K9r==8jYC%n+3bThoHeFihi@IL&ftVR3PCtcO0rSP6#z0wr}kF!R% zdJ^&d4f?wJJiLPX^|$rm?R)P0+7}+5eDLd6@Yww8tJc9&)-cSJfH$$Gy~RhH0iIm)xN0Ii1!l2@8{pO4{%%8p)y9LzIDF-*}r?=z3ZN{&t7Zqv+v8>_qOz(KJeZ|B#BA^&o6w7NjdQT$Z*M# z_dO?!T_?%+;com))sY9DahmL}r@(VLpL^2sn^GSVrs)xQ>0=#p> z12doDKdb8KqgUa-htnGyl;J-SHXfaqz~j@rzRUx7nj+n4w}Cfrq2Sv;z?;>x&}0Jd zi=jdJUf@0FzSS`aJe8H5&uQQtko2}!0p4l;p)Vv}_#TM)JOG|%ds8oom-jJ0*<*m` zcVn=c#EXH_xPuMw{J2f@Dd1^ch+O&sc)A~)-(AOi)9Le^gm2NxCq)V0W^>Bg3E$Q( z`6){HR()v9f$&XuYKbA?n^PIT8R6TJj~5pZzWp?bxkdO^ro;KJ2IGs3I(M7Ii%P&F zc@i(vcO(W$yo@Y96HDS{>yYPm5-)p(UhgOI(h~Eafy7HAcl!nsFQJbYagum3;B~Nl zMb=~S>CCGbUxLZd&RLAl%jwGHOTc6OYJXY_c>5n|2b~07$rF+II^f+^4-eS^ysw%+ ze8hk!dU@UILg2NXV!PD}yt5-MwHd(kol_kA4ZLyXy-P0x@8!;~2^8?0esf2k0$z`^ zUv53{Dt7!$(FLA@W_qeP@VJUc+lzo#=U^7og8B9elp951zU9}G3Q2vRF`H*X>U(WU zDuvYd-tmH}q`v3A=zoaR_pS2_>qvbc`qfUA)c2Ds58Nj8{SFVAWM|-=e9t2#2RvW@ z4Ubm>FX~OYeJ=2NyG+DLzU1vWV0IaJ!rpD1Bwvc?)@2_7UYql~b6UW&Ej-uI0X%cM z?-FOrXz@M<-aeAFFwMug-eUOSx%l8^3vKI=;I(LbRe zNs^DG7!nsrKKfU3?phT57rL=hiF}_`CA8xG2>e&$rc!bac=o5|1C)SQqB7NS9C-PE zPTa2o9<$?3xjOK)TizZK0v=W2uMQ#t-H+XX$9eK?(sSU=+y4572JkZbLidvT%2xbUX%_ID z)=D=F18@JAy`!bTd!Fl>P4qO+%IP}M(>FgmU5K7aa1`kJ0`I}4?>uy?HTCD_?kI>TrLEj@#l+9|1e+Yw$fv< zz;p2(chCVI^{`W)=)IyeyLS`tSU29YB6@$)NZorq@Tz{+dY1w3OGoS|`99`01-_*_ zfhSm6e6bIBZ=9>^P6KaVlV!6k@cz1uA0_>R8!cIjh@SFwmu({bgA-jkSC#;;E$K&E z8t_*6jn$L=<*BEwkz{{4s5#G=>@PLDRrZtp@N$~`}C3hr89j|P6XpC3V&ro`r{4y7Tl!Xt+uG*C-v@aX~!5*;Kg2j zdvQPTDtfaAbAfmINt+z0cOP8eE=TI!wbpM#qJS4zHg=Buf1E!F&F%XzzOnmn<0UXY z{eu;CkAXMVzi+WE@H#i<%u50uxBI^S@4!>w5n?(4Z`DlAMP1-!eR{Q^4|q{)Th&ND zzb$OGgXHtKI-f^Ky~{S(8cy=LuL{>nqR-MkwmKxAZ=mn~CH!p)=u0E{eCAB&8IsRs zbx-n8z!HV={drTrlrH`#AFKFC}^OlnR z)=tmcL!^H3T*AMR?6<;rzn&!Zi+QqF>>l8`|C)1Oj`7KgFS1+)Jkix_ciaP>MuKyr z1@Q8F)5Icx_ip8}ieBKczxVPu1ib4VI&0N|r*C{hqXl?-zrUPXj`c{cJ{<9TFZusM ztYUAm9`nu`C_4l1)cVG@HNaE8&(gXNcs84ZHj(w%<5zr25_nRL@}8`~i!0e~V@$HAnp2zYD7Ocp5suY764kww6Jn!Y~pD)9KC zH)8G zh2?%YqyoG>N9wLR2eNn(O z9X{tl*5kQVrwdsRBQ4tyvK|XhnlZ_GxKBPlMb^WtK;RBpk4NcTM@fIu!dGd4^e1`S z0w+j4sU{%vhSZa`jedoso>X4BB%aihCbHK!@_@HB>5mTSPu_gSd6@JkOD0dolX^1I z!vAF*{1E~?GPL(D7oX@N6ok%~Y zV=h{k^mA_C;$e_}PTZF1KNY}h(5X1D2)vT9rO^Vw)65rL)PeCS`oz9>2cA*ASF$+p zDttISt$-KytCBe29q9Y9=>g(ppq(3w_z|u+jLmN$uFOvQctNx9?DsR*jq);qS7t8uo9y?^ofkYH`~AIB zV-(r%XLCn;ko~?!O;SGD@2^?VWJC7*DvCU-$$pD^>HdoBw_1M~Wsv>WZt1`O@3-up zJa|m@Tj#$kZzKDy+_W9zq(1O-ef$4@YjO3xK(gQZcXFVH?6-s~1$>A;Pw%;#PV{-d znA89IEZ_E>o9Od5w)QBZ2b{MR{@3TRd8hx^XYPze|Lb%6wD14=96Z0Ff#?BWoT>xa ze@F%LX_5U0#{exv_8;>zxtd5l8GVE`fYg)EjAP^of1@0{car@_>h;(%QcoV$6j@IA zJGXIkl+=^up=z&)9?bhtqfYeT?ualq(F0a4i^oI{*lhWNUf`78_EpeNs((bO__y ze9}B@Eyh>qA5$WP@fny6hi3tAX{%A$KHvq%@A*ge3nGyrclybE9hA%t18-kn&QcBF z8TrdTeh0j?-akC&faiQri`D@ik7D*yQQ*0ZrEDhs#D$d^a-^SltSD29^b=61O!`vdRV8y)rSz`MF(R-NEYaH{9!0k2TOuj(-H z{3qYF#sV*3{@1i&;F;ek*h=tN|Cq@UJPDJnXS#rAx6$A+iNBFt&5tDhCT>QJkbLBG z-Df$8zss7=DJ1?TwLRiUKFYW-^^oKv%{aH~Bp;ctP`E|%QTu@BM-qP*awoR02HwKA zhjy?4uWv!LAIXPCs@r~rmlAN;7BwxCU7U__D`Azt9D9M*Muc?NUe0gt9 zxXUrlJ^T-rbq9Q_X}R3Q&r^sg7BJ&f8_l_Q`?JB@_u15=ouS%zuWTiDEuFA)174_x zd?+OS7vtYii9`3)}Hcn6Kx? z&^P4&uQvOdn34G&{Sg;O=3CusB1h)ix_pK-M)lifhv;dyCDyJ)%Z}FOt zpLM`fRveEc|38$g$V7y^@7|uzwR;-l<6p49Gz@tC-^`b30B_Y_0VNuEaTYJnFM z(6&h%c=K02TPzAZ=?^Ij@`0y6wK`e_cs1^9lo0Uj*!PVR|5@Z6y6*uz|N2rR((k;o zvuZWzcP=ceOwI>h+wI(D;=jWD>>1*}QMvpZ@xWW^;gaWs`EovHcPHO>6eU{bJrjV#B0g{JiLhDCrl!eigt&`o%I@S7_2N_NqBvK>EcqBEe5d zzgW}S{vzoYyY+66Ex`C@XGCfl7++?8-n0zHH|;;!T@E}I-4r<|;7J~L{z>xNDEH-G zB)?@Z{ORKgylP*M5<}o6Xt$>i0Z+Bk&w#}96BAYr63@{~^skcjUG`#GCt2TG!6Ij} zzM0;cUqHQ+@;gX8AK1XLi}WK>+SUv>0dI}Abq(o9 zd{xW8OZpK*F7BSBAF*O6<2C6=*tEV*BmIb79A@`PKcXq|(;m`~&~`kyk@O>yQVstv2x0I}Jccr~CS>Meg%TAE> z{p0v_g7CvUe%gK+=KI=wd-7-CEpS=bvH2*q+)Vaw{_of9 zBK;hb#kUj4{_RntqB7~{II2wak^S55%F8Ka|E5DACnjF^afcNpc zfwVC2W(*ipMDODls|fA~o+iEx9tpgrsAqqP-UsbHb&u%%Yta{OMDM#c4N12FFLlvR zDPG{UC7#>z9`k)Q($>Zayu`on=qtd>wtK(P0C&1$UH6HSqqdV&^LY-scd0=aU$pKYMumM&Mmvwa>c(cpH97<&ya0ALXF00k5iD z{PYy?Opl@q3%oNL_qQ4W&*-nG!7%U=#=aKs#rjsXZEIG*_^gtD{`!RVoeGO$o&?@i zKYeMk-_qFfzQqQ39L!g)WWP1aT#+OXywV%b`gwu3`Dn?&72q8g%x$}k@o@%xoV3IE z{w9~wQJX`__YZ=_@~!NFSD4eZmGn2*A8e8%{S77gGlkB;o3@J!Ks{mi%ozUlZA%DMf|BKU?*8p#MNy%c8-`2=QtC9S6M`pb#$!|S|+`=TkDF;{< z*aA=NZ^EtZz$;yIsqQ22&g^Px+mHGFd0BO83+6lC6d}-q`IfT$4j}u>OA9=BWPqoV zH~#_IUyf~1+FcC1yF)x)WPhn)IaEvbm-)q!JlB9X9Vh(bE%37Tecnd)Z>J>+!brZf zSgc$^_HX+Ry)`8HvTB*$E|M?XVrK0~zMLxBZA$WGn8@Y5Bwto5F7PJ#GSD$`%>m4J zNeuU9^8X>2+r2iDdPCUdG#iOOg(I>Cq~55XS9F=w8=DLClu7)(&`|nJ`jh5$+-amg z`H23yj?^1Xu~&q|fhXX9iTgXo=eT;+i-o}BEuNH21Kx=GB{5^*8R!Q;334Gkmrd3=_e+z-kT-w8yBoF*C+kNAA5Fkm=nAk3ClMF?_q)s z583axuT%~q@%Kl?dkcxbx{S0Q5`R2Lx=xe$TkXZ2PU3H+;+hE(f8)C4GbH}vcaPlF z#e9#Im%1&2|MXo{)~v!8x%%>druGszX^z*+AyiO-$o`3$@&`-4vp0MEc! z-a!?3Mf<*RGy^aCTxc8le$(9>rgPUYzNeelCd^`dPe%AYl74%gO*=zg_OpmNL?Bf110)ll0q_4z}052i{M0Ip1vH@fljNk@qQkcgc#8 z_bEL&t9;4(6sLa*?%u%jXdJuT06hDUNgqAnozU;OAOXA;LeBq+fmdDA_cI0a6*sk- zJBay?iW-_rV!q4f?>t`wJc$~^yQE+DdHPEn>DO(IS##zG@V@6NavuX;iSl!CJ>Z#q zk!m3Qx^u61hnX1PVKw(@6O3<I4MIGLrp{P z3vtI5U(~Mbn>X*_f};n7(izl_GaiYD?=q;V6*i$&utt#vO^dS`)Ys@AV>4L{YVbrG zr+g-Z;>&p5Q30##&Ut4vhe5qw9#tfX>lU)zZR35wpdKuE&VDYRL2XNt?Aevapgzf~ z)#*NBPQW$CvdF0X&Hy`eFoKEdTA;I<6C^<*V^kCw`Hvzk97uv zvW@adU4eO-Ge-XWN@Gx4ts6sRt}!Ty@Zq}$QyA1q!{^T(;u%!5j#x`U9D`bs&H3zm zB!g0xbFw!f)+M_5Tr`6cVF~=J32Qv5-0pLkLET~-S7ycWK{LJ4fGFHA;aO35i9zYj zExx0G&Q0*gqm|jdU+*xef+E*U9;~15 zOc`Gbtc0BY(LmUvQq}IpSjVN0Pd_@43)}~ekHd2q)YYrZmJHavk1s^+A%1TXKK=+c zJZM@g3+wD7CuQ{ww&~oR{l-||s*Q1p`B?8iwPFg@IB$?#jK+FdNWME=f_3097@F^b^|ci&e7GF;rrWxwmat}Lz1Uab z^X{zW3Q?CB)cP9^q8G8gCQEM1`2&Z}_c(C^b|>SQauCiR+nst@0{5}M`F?90w!GeO zXd)K#+c%GO80#k{AS$bb@dfR1NRo$*Ske1?BkaBgKKBlM-t>(M*G*>mP%+S)y&`IKMCV?%qwM3@UH+P~tc_U!J*mKaQ{d91YSfgkKC7cLib` zqJ!tN>kucyHCryTV%#4)w*Sn-y!P_dOUq-PlN*gqnTYE^HmhH=Sa1KvcDtwW$LH@_ zSsSk+u3x&yFNFV2HYjwo!>`}8E>Aze@w^8&4x8e0CyxA2{qXY@r4N&b5g&FtGIE7+ z+~&X9V;1(GOP+)x)=Pv>Q#v2EGhXe@>KFzUH)!VC1%&8|TB8UR9XJx_)f?oUzZo|F z6dOw*bndrz+U_ri2kYo6<{@HtFuM2qoQe*M8br}CWZd>_E949o^TZG~B<=65amSMh%y(&qzn19`t z-{M;ETW!Rz>6Q^^D8rL#U{KErv=P*+z@T))gis<8h&c+Io1 zNd`7{(w6lyKL323&aaB+75h*F!HTf2%bLgPUwI44En!h@OtZ0 z=vw@xYjV{%mQiEhhx3hHqO09->?9QYF!DKcHL%y(7dH2zvIPGN5=YUoYPfHmb@>8b zTohP~(kq65v_?_){ zx?nBh&9(7lmotm8(&5j{AhRfy~E=zLrhgyWXL+IC0W|1$ZEJi*aQ6c*6H`7vYXm(jSt zvg>kDK92KwPwP?Ou~UAwKOe^Dz4XMRYRrdi8GaK8^LX(k(s&rxPgo4;1;U;U+a^_l z>%8QQtz%$k_jB?6CVH{{>B>A|E!;NsS3tT&HQv+3%~5ts$rdmA6&Cr9@In6BKk6vS`ohkMg3cMpbnCG z?I>G`^S2%z{;ChF*Qst$hdg=XMAFO@@?UFOikxOR^50h3ANRqNh{D$0`QVLLTAFX; zc|6y6_2wEs=%-T4bS>;vO)kHMKG07I_DYUZs82e5JHC6No=La4OYA$hOP?+9`Jva_ zuSdWZpHuef^=43|ggb=J;J+YG?#gLLrAgYZj}%Deal@Lz2>8&@aRr_1A*SqS`mSNhP= zQ;63^KCRzV5U2iL2j8wjzWtX_)_WLno$48_m5g{7PH4LD8TF7xL^e0!?RweC!_Kg5 z?)9(J9-|&=`_bH@T&Fl zW4AigU5j+-+&2u$LprtQ@@v%9S(je1)gnKq{+gS@am9Hl-*q@%v3;Y_Vpz7;gF%wG zFJ0rjViZ1az83TDB<{cXuhdlw_{ujroWFth6L&wq5Qjc|yHZ=FhVis%_axg^Feo{% zE&C=g&Q*!u?lCa_kSjm*2El8g-J{lfpi}?O3hmnsUSIFD4e`MIA4$FaQ=ZMh-@M@% zF1w3*Fit>&4d=NozWx^uy(@|tyH^3fCCDd~JV5-~xtv&J0zK?Ms@16q|29;3?xEoC zUpe1*O~Za)_TB; zJ?~MCJaM%2RPbZ)r>mPsR|ucS{OWfXfL*!zkmzb$_sF>C@ogNBDyh26!IqckzYD^B zIa>uhej_d=WqalnVDHzg3Oo>web(v;$AB>8nd3(aa}nRMwi2PNi0`#GTf0vOgP#=t z-K;?9XP9NLK0cqH7o2$~fI*$v?eBW&4A$ZB!1Q_WQYptqg96W(ovH^zz{BTp3|@Z* zbY+K6dXqcqxPR*os~$&Q$_$w|;)43^yLK!E>wYdPKHLHI6?Nq8Q5+ZFc-UG4>*w{* zIM|gz#Xqzu(Zqe5w+7 zRkLrT;RN*N$mG)nr@(h*`KYTtsQ-;r6xq*W-{7Zm+!*sp?G`;Bf%%^5;A_{1{xmrK zTSe-F+S^ZJ_Q5~F57V>9B9L!gLciUCKMyR7^$WnddZs3_=U~00f}P*pM||9lPDnb7 zcvJnlSb+<1Xc@BpT|W4H@AIoseZ=ju=XQP(;IDY|8y}l|jKA>lKTh!YVa)@NUB!sg zsP})JN|7hO>=2GANB;0|-TCSX=6jSfS^pCIv(vvgqG63@e@ri|N4>5(`aAwL_7Ufc zGKIjq!G>G<`x~*o-kX=KfTbtGwK#CynbGGW}$*4gujND8-jH;36UZ`~? zLRWNSzSK2f+==S?(T14Et~rC_iwjYow*T9F6Z0H+!oRx^eAbW{y37LW7w~@6@&Rxb zZBt&F%b?Oq&$maxKXoUalbXR}#l`VE^ug~BjFFbb@MG7T76Bpf`Sf)o&S2y@ky+yx zT*yam_2b8sz@vebt=F0Gf6dopPi?^4%-Jn>f^ptomcP3N{PvY~$mfHV6Vmwc4Lm!g z8OQq(>o&u;Y19Yn*_g|&{uS#fKYd~DIF83p#)Yi~Unt`*@!qf}t?8x?)RREr9MK%Q485^>GI1Y#oO9av%?h^e8~=%ddAG_>8=x`r%oR72@=w zheZGn^5N4jf~AMSyX&lHylN58=HqJ@T|s<{DvsssIEl|AerUGS*mso$w)Nxq+V=B8 z>fmFapPxSi=Z`hF4PFO1qq7NXBUhkIjv_!odyPN;be#~DR#a~WFa?zBRldc`O& z!1d#z^DNbYli0y>`1N7vbo3pEQ^4CJJ;L|z2;xDGKDr*CmpwW?H6PE7sx+i!9iVGA z<7=8=cVEceWr}e%bBQ-pxq}zHzUS^TQJ3VqEPIIgcfVL9cnW>)cbjOvKMb z80-EH#992?i5Z^T4C>X59~w>>;QihapQ23EA1%Z4iV?T%k)P9|5yuMpY6gx)4C;9N zTgULn7~g8y&tyM4cIt23k7t9U_Jcd_E8n3`S^I0H5$yUY zwJYyoUlpu>a0}O6E}W9?!?Bb{&oDdgUtF|b#UA$w^}5#+{zoJZ7Zq3uPb=`F*=|k4|&dr%7PB2yW&qJ)MthRxP1O{^yF{JSg3m4@uaB)imj*r086N$y9#({( z>&FSi!^7rJt?lIac&bV>c$eI>yHX6i^DEQO;|suZyPwSr_@Z7Z{CZp-@s-if-}(jd z#wxo+c0c&0Agktd6!}gee3kfF*mrgQ`^>$t?(V;Mrx2eh?+PEgfN%dktgm98z`jRT zWpOX8{nN9|4{p#$*Ww=eW61Z3jh9sr-{pF=SSsRuQE~g^j6LF%E2v`??3CJus1h6W z8*V9XxeUGxR3{0|Sz$jX5_XjheBxo*#FexUe7Gb?KQM>wnK~!Bhe4_RRkq7D!9MG8 z{Sh@|)OYN2sfBvTzweDM>A?>D_Kn-L6a4%&m(T`V-EWsrg7fF*1@L7XLNDYN4!Rfs zC#~XP9dPuyr~{?D!HYFrGpm80yxU218g^eV_44vwj4SHI{_C(xEFU%QVmu-f9z(Az z85BCWX@uV$B2k$u?HE+y2jvF_n6G~eYwlX``CgRr32P7N&<%TMH~24#uXcqS{9Lvy z)p6#O?-JA>ibpoZ8eAwb=QRI z7Q{<@{~>eIpPiSJq4WuHC!ivAbRF_>nfvg;%UKw|skYq7`>5mHMjPVuF<-a*k!z39 z*Q(#~q#N=7Ct=fo7kI(4p-WvIJSpj}m_1R8e$zc}0oFRyNzFS0|G}=D|M%t_@T+Cd zMzt#B(+mL?js_fW+k0S7J@`1aQaYFL@=c>eLi}6I+w{se{Z_>5o@Yy=-{bz=(CDME z%%ej3c^!C8@~-@WHjFcb-;MA*KI(n^8Q}JOTFssK1~{=2)~jDZuNNhM(y75d?zOyS z0mdh4WS!a${?60=>3FFeoWN^U zuTJ6K2RQ!gduSpDbwrBN^1t`MtMJYGHtERoo$ha5!GFOYe=j@(U2HcI8xMwGXF7x= z6_VknLWQIoDd53a!LqPKTz~qFQ!Mydq_y_3LIUc*54*eaV&PYjsxP^bsAswFN`%A8 z7PHK62T$Lp4c3Z+hp|UgK7PUa=3i1V{sR5>7}h?U1s=|4$hfaU9(-FfY_uG4a9XUu zumd*Tv^R_syi_;1&CKzEZj{xt1tNa7vfRm}PQvf4JEPe>u`VThPCr6?#m&CD67GU% zOn#~>>4bT^WDL)Nf6Nfx1@ey2(N~>Uyudf}&EmHLU;~tsgESGhbb@Tf8f)zHc06ob z4&FWQT|D&l0CXbg@$8TNsL!4$aC9Q>gR-hPxy+Cs2et0r247zJ9zCB0zGSjepErYl zr~S2+0>LZ&iNUOB@apiPm`5*nAm2_W$?(8V9+l&mrvpE7>r%Fw;LYzB`Db98i|1k< zs)5I5_3ONq;GbHN&;_tY44al!il}2(DNS`NK=0{eYd0!m9-?or*y8%IWp_*ts-u39 z@~B&)0lwdgeyR*SHFxQqnOgAo7Zsna+fZLgjQF?1Zr{AUEgH}Ne0r|Jei!sCW#iQm zjB}Y!-BlUP=T;}nJ<0<9=++z5Jcv3y_;U0I=+e72p8ONY+Y>#3wF&U&8;L;t{y6ff zeBt*p2J&m(ae-8tOK+-pB#zEofxKVK-1dye|8a^y-J@~^w4^?e=iXtHeGZ~}Pc{6jZvQxnGJ zdQNb8EA;#9KBrh%$tnfDsCLAmX{zWj?9kbJY}2rbi)VkXf;CIYZ|?8JeBG><>Awdb z?&cq5!X7y(EtU2WdD5=(_&@MiJ&LXA^E>GNU8AX&&;dXG;)Qz~7}VqO6*sTfBOmGr zUb*uUdh|4WXnPgbd563PsjKa{E~;2!{FP3v@s}~5Z2>6_3$iw2QESnYzpG|x5g{d#yq zFZfz|#nb8o{2e4(bBqQ4j?^>TXNdC*iQJ~$ao8VmruSDzVH|5*6>G6hcaJ`57YxJx zf8!8q80ssbv5#A?o<|-y9C1_}d~Kh)pf@+qzuSYj;n0s9;BdwLN=5e_z{`DH;_`C#&_U1f*2m!E zNYG37$A?iLT6{A6bP##9qh&+^F%AUrH}7 z@z#fB8xD&bS4Z6Je-QL}E9#c{52Bb`fV;3v&p-+55PQ6&Mjrf-Qn}P9i}?KK=I}uV z@s=>(^q?f_m)RV5cX9Mv<@|G$*Mqml=ILTM4&KP`RJjgucHp_Ys1*ABdYQ*$U_EkE zv*mDq2ImnCwT-9;Y{Zy}u(EaAJUbOo*L5k}-n<#{WYEbagmEwqIJ&-uUGyNhq#NU$ z-=TM<5j>|H?wDI3zXv+ZjpNiyNB@ zw%xRY-!Io26TR#lA1YPGxZM0c zS@a<4;^k}V@gt~IN0uA!j|uFvq}b=tGgz(f!vvxJAHj^D^?@>oby63?w1 zck$8Gk`G?K9gAsdH|O*7`({@c!zpx&q?4FZT=wojFp7e4YI-zgf()1nmlrWE!KIY?a@r9%r zY{dHJYnqs+`HzWhIRn`5zdErcpdY+t<@3wxMjduHVs^(T#M8;%vTdD+H-Ul7aQJOx zW75o-M&$P+t=XP+=%;WATjbP0cMYz6$c1&>^~W$CemA-Od&#>O*q4TKl;=YCcB`c? zQhb8`-J_%H_Ljh}rWK!si{R&>c*o>?^ug@7q(<|wZxVl5@--K_A<-K70s0|Yd2)1p z2J*Hw>t@kA7_U-C#&g(%WBY23q$6*uYt+t%9y4pSw!=C<7cjVE6r!vW~ zd&@7VcDQ0bnVzCbE_lxobFx3g5&g6ft4)Ql$8%Lw1?*9OQ_OwqY!OeVWGVuoC*6Y& z7rBB5XKwzeWd$!1K@j$Arkkg5jW4E#tCwta1eJ zF@;|mo7;o>?djz%4RiDpW`3imvKc<)Nx<^z4Y8nXOvCZ2cm+1eUvVE47^SqMM@xmgBlzg)-IP8C$T+R%!6-?7Y9?7ZLyM+pXk-!HaO))Y)ar zX^OLG_TzOSnp$*Fz?olyriPoWQ zwr3*nC;U^YB6%wkdb02|=fy1OO_r_L(rd5_7pF0Qv(uE9xV>gAD@~2qH$0A=PgByB z-Jy@5E7sqKWDWjd9R)pVpJN@;g7lu0Pea!)J;@N6MBd4Y$xnqY*6AcnM?y~|4#Y+3 z4&wdfDFcn{FVJtXYi_qbBVR1x33K>}K227IM8yXN#hqbC6+?G_eJlB-&_Ve9=AJ-1 z;#MxX`Zo00*{_pT{w;X$g^?fAfcReZrGlpxx^-xin^`sLgW;Tjr&Y*HiszO;Mw|>$ z$JaEVJ~`fbGrSzSk|CyEd>l4u*O{8eLhO?mMlwmT4GoSi1rPB)V2ib)(0%AY>T3S$ zsNc5s=O1cLN8gjR=jPixsLyx&Tvd1j@4r~S>{tZbcPZB};u_xD(q&wEu&R6`Wv@`5 zhz{FX+)u=FW=HJ1V^A-fub#VycsF-C|5YLi@1wST^S%K--1+=7WhxXr@;Veg0G<@2 ztH~EZPX=G~Zfre=JYUGs5C>fmObqxq0sFFBHA)WG@$NZhnHLCsH8WfM2sqMJA^{!Y zsB=BJdEbCvobh!>g`jJ;hRLm0VJ+rGT^hslFKuGPt^nWO200w|!Z^(-o1jRHyRdKa zr~>BsqH&j7ANV%i_x2(${INh#kZyep{Sy-BvVcBEg*`j)6?I?m>1PbD8uX8+rbFkD zKO3%;sJy|t%=C}cCStuzOjo_#{SkfpTVGt5Sno^b@jmI_Q0L58tbK(1Q)evnpi>Ea zEq}sv-%3;0gshLg+)h(c%9Z^si2oi##+ygr4TJkQwbqQL>dzNzAKgz=<~NPHg%8ry z@0_Q4X4W+2IQ+UT&XLAY|;{=fSfyzGoGBeBc~SrEJ@Fvi3YpeT_Q4>lExZ;ZJ9>U`u-{|5gOi z)Pp@KANoR|E2XR1B`(qw%cOQxJI?<(qO0{i0M8Abw^I{%zhxGhhWXP}*WD_UFWxkz zAec5;%%G_&I>mxQ7+2lFb62*x&{R&ijgGQCO>L^&V_;@OQw5*Z^=}=bsiW5|xP~#W zw_|4|mmQ|5Y9G4-Tg>;c#Kofey) zhd=Mn^255!Nc}Q~ex2Pdcr!_brk+P-YDuc1{>TX3x&}HT)a}JytVmN8&s7xPLr;{N z<$uO+q^W-`$jO}yoC|%>)5QzjEw3MY4m~lTeuzhMLdOhWJio|BQ*T~1S_RL? zef2L@CVoTzx29`G&LU4aFJR?>ZWM|}HoJX?-d{RnaBB>G`PelUtvEKe>-@TS6!9Zi zx=sSRBEESbxd`>ixRQzT1oXst&64?a5BToC<>gbvpQD)DsUF1Rk&Qm7$6KKbAO5)e zAWmHbSw@yNqW(U<NO{e9oXu zcklLdt3auIwp z56t@Y1<&uizD6tw<4Q9L-2J)^b-3W?leg=!zx;Q$>N@5(zdOFV8S`cw`=$09{@5xJ z9pgI!o|ZVI6vB_b7ytUL2LBS47Vkau7vGC0{M+&r`o1`j@oXjP)9-D?wz^oiZ8JlI zy9IH~GW&28>+Sxeb9_7EVE50P8$=N&QI$syTR73wJh6L4ZLT!cXI+-=;7L;@v4Us2 zz&HA`diQbgqWYBZRrX+-@(y3!ZW%^Xo8$ahoG#N8_u-AtKg811!^YYBpHgVbo}1Gq zB#owqW^cc>y#qeV-28Gglcv)3TVA}skNmi!@Q&O==s@)O7UKe%YWWteeh7BKV$Gx6 zk7>#>uX1it2~8QDsJ=2&jQn(dXZRbO|7(?dN(ARw>}OUQ!nzE)DtVRDRMVC2!6san z%Eo6ghwEgou*W78g0Ev^*5!CkOO=1>ziiae+LFGkS@6fgoN$wyH07TnC?s$l`PA?L z%cf+E&wt*4eIiXgXqB1H#)Zf8zJ;J}=#wZF zz5qQLc=D(hy5q%tv0$kmO(iV05~yU-)CZo{tw}UZ34b-Z(C2~i_N)+Og*Q1*|`23^uk+i;q9$B7MXoQl~d4VZR0VS?KGA2 z(R+iJI!$HsvfTNqLLtJanmp>dLWZW+=@vFzm&E>K!G&>WF`D}H zD)t8ZYMM$r{;Jwq6m^Ow%gmcqG*x?*|Gok0Fb^J9@pq`pe&Btdj>^M7r^qS6$uZ4SC53HLz_NfKNPzDx+!$#YSUy0a^Q@Q%fB4m#U1Te{g306H*W5+|)jAfI8{H!qXAT zzks_Y=fRgh$j9}zhIOd7F6eF8$-59be7;s|G59CzYs$8AB~8VQF5kQs`b$5Qxg{oz zIt~2MBa`fZoPAF+)zrzdg&KzW!|ExUoM7wrK!;;xoq+6G^L@|eO3JvO?9u4 zSfl+JamX^vcfA*R?Lb_X)gVoEG|gmK4A9iFO|fw`!^j85eizwBFus*TW-|C(R>JGw z`XR)<@!mrrIIj`e*c3AgeBE%TvhOq%Z`kPk2vs5YcV!vs;6qs!s+jMr@dov4n17bNeynUhP3_=PGl+yvY?+vAy8wT6(80Y4 z>BysR&&+nGfmcGITLrE`-+WWSI?I3!PxEOOtxC4eQx-_h`gcYFR=@^q0G*r>%xwC5Z`^ z2&3+4vl?kx23=jqzw9F)#uu)0d_Jt-)(b#w!(?X2bS|Z->DXO0%fLI`m!Xzc%W3M6 zbQsG!=+)BAU7hSJP=CE~QOjI|_5Kxm_}e->FPtah0LHJm+dIGo^Nh%KXWiy$z)FXtZzC0-KZa}=)-;Wu}t;D|1X;DdCE%Hw7uFi}m zni72VE>H#hbG7j?*!YpA8lHP)h<-wT?3n)jy&w5%M9u9h__mp{pZ9JY{$ba!7MR7l zUTaHRH;+jzu-X)zNzL-f3-9Gtwa0!#zV`s(KC%~kR-H_J&0qc9Jr1jD= zCN+9yL~oxk6Te+(5cPT`liGRhP!0PECROkHd+{L=CZ+g>%To*I2NknUsN%Tzv2P>}~u^s=Z^NRfL;Kv0P8+n!kWaZT_c` z%3xzsf=qLmN0|FLIVpIDB3?A?5Z4Et7!_Xj!yR$` zSY7i9FKqRim7yzP4}|0x6MfhoX|kKt6^~`g&b-%#t|Up<32&pRkQLUeGSyH&F#N0f zp%Z?Cv;8BA=$rVD-?**-ePI=@;gF-LeqsHP>zhzF96yHt#)N*(5%n~Ce17_YsP}Cp zoSopG_T0!0CiJN;A!u#FPUynTMK7G7XHQ*} zS;R5U35^)L8<@xPt5v&CgO8`=^|#Dn{-0l%%+@*4RN3vlgKeIOr>)zrxx$|sK@a~t z_J>}d4Drbe2LJPPZZ5}qND1E;H@%Gd(C)GqG^Ogv-cJI{3z?=W4f&N!g7T9FN(~r1~>+rdDY)DgTrAo~^<0!QMMJ9`9sQDrG8Z*03fT zWuY3dQeU#)-O^`Lr301EDqw>iO_;AVAUyrP^OYVG|5x)aIyrG8206Ky==h{hau`arChF zd?qz9Vq?4h7vdwkCDU&j`_m7U^#|zNhi}Hu`k{9^KO%!uU_18Z3gv&LDb|MXJUm0- zN9^~H^#e4%x6`t|pbPrE_VVp+ScfY;yrv!Cp=IZt*%s6pe{Ze5-GI2VoD@`nF0iz} z*z@ECKA)}JPzzm{-YcN(30-J982)@RxCkiXxYvM4DB4X=Gefu2-Z-`cfb*5Q~9&*2#&>h{&K;l`&u|Y z0}pvlUn;9R1|9H~&60OU-z2H&tu*wCYrB3yFvcBG?H%Zhd8{aCF@A8CrVIm(o^ybg z4Yn!43ofDVWl6jpk%)bl!UX=l1Jl)aa>cLx)H6YEGa z1ANkIc3P}$%A{CFFZuQyWKxa?7rmJ~!lZ;kK5eqJVN%W~o2~EIBhQwtdt&Coq$(YM zFVJ^nQs!@ddk#1=sYZo>QCeaVBIPnT+=wtq>`Uh7g%{PsTbZUmvua$3w=R* zQcfVx_c<1&xH73P1@Z#FU@u6Se!Y+TQmJK`I>6J9W&cnYI6+r!u7@ewF%(8+P^lP zsU=LRs9Z^+8TClvL-!lc_?Xl;^I-Ggg}|+l&@f-X#BWI7YvyBRQeJH*%ojrsl#_2B z=lO#=%1iCbwpsAYX?o0Kg78}B{xEb`@kHK#6kT^bmTeR!vipdNl$A|XLZR|XWbZAT zqN4Ch$QETsDw~iQMaYP^i5a=4{Wz*$GO#mPgL|i7z6(c<=KvYz<;-%FI5FB_f}`MZn-OAU(PGd zAF!Re4_=&q1>N7WQuly9jPV}7^#*b2P972W6?{;v5JI^I9a(*^!YG9JJwcPh77l%p z7ySLEDGvQP&9;R!ST(oJrP+tBgr}t>!u{Zbzl*f7o6sYpekFy$d%)phq|EPNoHzV? zoZmA5c_f{6(9#{`1zUE0|MG@gr#8m_y1Nqc8m2f4ZXu7CwQYO|e5DFlCToEgeigd? zCv+434Ew5_;0C^UL>3!|-dF?y`)_!9WrIV&h<=?9!YouPgjf_%rkiX{V< zJ9tey4dXD7ouNO1aoLL8)`^Y9e!~8`PGdfnRhwgunCIK7tdD${zam?(li~~L?I(wM z=GV~Cq|>+R-(r3G9wmskB5(QYo!8Kb`c|8DaaTX`uq(WrC&1T6skdwXd_n$@z3EI3 zzCZ7g%OZnyf0mv{oPa(U|CX(z-i>%(A~@VSj<_@YGUx-HI%Yuc9D(?~k^gw*5#qXu zXms@$;yjYA=9ZQ&bWY4{>a-D&5E2$vNef&?XFc3YY6Bd+O8fiGkw}Q0woz6f5(zX! zv(7SaA|Z2nzG5eUNH`>RcJvjj@Q-IUw)cnx67k?Chr*$=Z?3u%Ly=z(5A@!QAQIYd z_ERuK5eX{&Ec3syoo+1hpYj7DfvJ&BGZ@y5i>~=w43Y4vda`d1Y{qhYRBkMh@Wj8* z&i=~g#u7`V*$A|Ie>YHo*}lQwTjeUEzX&k^$&@WG9H z%U||^2jX)&ikoYp_c~Pc!qqs>@lncr3b>!~Z{@jKhPwQ*yo4jR?N8-h{Z}uHzACs` zh`7JEE8DLXeDGuFrs~IB)CV_&3;K~KI5YoV^Grwn|8z{OG6mnej~rP9ej1I7i%%mj zn0S4AO&L7E*towaDb^M5T1Z(;i-aD({WF&y1)jNMNB#$V!4)|0-|xrB7uar`{FMOw zRo=Q@kNq8~9r@A@OVLs(%aw(Cr`b2#0>|AEw$m-iLH{s0SN#gc75#nGQWN9V8MkK{ z#XQ6nUwTm0pbybs5t-2f|1NH&@^qulrC)!pIEente$CT+#*u%7Qop}61%7)|=^+UJ zPyR64rN4ypBSNH0AFxg*j(P?i2Y(0738-HNuaBo@noKhh@$O0&8hg}_5+p}Fi=h|A z*Dg^?s1peV4PPS;K%e5|rhoGxeodc}L@U}83DUm~vz&!ac6hmdJM2s(@Gd50_InWt zTa-)FL?0r7QL@ughk-#jKBX*oo~M{)sYlRV&QkgXx20OK<>Y$}2M=uallRRkW8V##(c1P_qP zkv%9O5+?Y>NE2TnpO;UeJP7Oj*~EaBF-1Qj zLG}7_m#PPm&`fe~;DtMI*Q34vl`D}jwa(G>!V&p}+678h2O{C8amI&}@Yi?#3%g{@ zf%~9`+pMNU!d}5J2^;v8s`S>)Kk&0a#Y=`&4dgMggsTtLpv%(V^c`W@9iO~c1pa#z z9o+B8VVhI8$^$$QG5M2t9Qn@LtDaeaL5cSbAswBNEJ3&(5gP zA@68w>Mlf`WZly$-iEko+B4*#y@PlcR%6p&L!a!Gqt`pwEak%&JJ!)}QZLITTR}hk zOQ-J1MdXc7zqYvp|5fQDY6pI}5@bR{xvIXSuOLBxvhZJ?r(eEN1N@(9s@@$w1bqHh z7EABJdB@Dm$Yj`>O+%LxUC5hx$}Zb?ARlm*NV^XFpL784aFh4S)bb$_?;hcLa0PgnAlY}>2>2Kcy=BmmMI^{Nc?WE~ zgkJxh92f%LdhgnJhSy*`yw*dxZxJtFzRQ1xJtyPg2m^cgCsq6O{8b;+|4t%_te!-Ii`!PGD-XJCVN_y}*I_mnFazYjs@n`N5s^Xm}_|MOC3S1w|)do2@m+{;X2_UC-RIZH=3q^^C+)w^4H85{{z7iUIy?{ z^~vxaM&t?P9`xt2?UEIjnSi(p>`+~}K}94~UlBiGMoA^8WJgRk;eleXuo~$QbnKkAY(5Z{+_+>svqE zLH>A!{L!b_G34>RYYD@n(DlKWhijo@l_d2avwM-hpDwzc2i*S`@kjID`Glw6THRHk zd(WE6n)OgO-W-#Xqyye)=|~H`khg|i@D9HTD;$;C!{3N}HTd@9KH!k4*2P*H|9?N7 zYU%+#(SJH1D&OZycvTQTS_!`KI#+pB61e2D-k1zS{-HEEQzn7@WN18HE(+s5+jh6p z`4@QR?(-QI;Pl&}VZ*Y&*e|C@e-8XHZ{<58N(aBGA8pGx0KR<2(=o*cUJX1|GQo>} z(avVvH>?L=o!J426Ifp_ZzV_Y_M|dLoDSC2MD0S|Hx=|(;>c=6jDW*QpP(fxtpA?n zO?lwd!|CnFn|sjH?N*k~aO8U#=Ep=3zZPXT4IZQt3Cx@2PK#-XlgYIJ?_AV-nt|rT zV#J-UN?(0Ba9*Bi%vpzekyM5zvXzKu)wK$%wG#>TH%D#m_Cjx{s%A#|i3I<77K{E7 zB4PLl?-
gY@c`pi#60=JvPH1lWZ?2*+ewn^-lu6;rq_IjcR2?K1E-M+owr(k=j zXlZ{SKO8TXH~5O}PZ}W{l@IfL$zCcxZ95_GEe1cY^ z1AftS99nBe-Tqf3-vhXA`yFZRT8(<3Zl7fw_~zEnjBEPrqOug_7C{tnjd?0Y*ucho2K1gkXQUjK}w(NW<3 z!ho>j+%@Ro$>Y8%Sg-UJiO-FusQ=I1ohUNFdi;qQ7uG@Ebg`s6TNmqe_KQci29eNs zh1Rb@6Zu4Bxpk5%kzl-ezQIZv$MbJjJVQXf#ro|l4{W8BOvyR$x%VhdxC!vRC>Y9H z4qf+fJWT0v6gurXU3nhyWk=ANrvc8#9hzjDjDEmN4I!FC zsCyRV#t*R&2|PvO=WLl!pY3LF;oXD&$`Y;?2fnMnujcWWRKoF@?^rT?}t&0Nw^CH6Jkm?=(?=?N)*JnQ)h+*Vq=-?b8$+ z27gcn_YVS(oGV*l3c%y2^5pXd)DPkw!-0ok6B+zAz96446w(#DJcIGkyZty1J=GfC zifqBSZf6drM`PS7V#L!tB#2+Jnf`1F)Ola&c~Zc01v@1#eu4+BxefeV;m6t6HJurP zSZ@WTo5t|B^l|UFb- z|G!e`mm<|JVZ{Bjw;aEP8<3A`&j*$@0Uu!%CK7$f#|3|%&m02&LaW+4J zx1V@pWy3EVzui#a=py1m`Z7Um33YLW=O;s0p#yPqSMhn=5?9{RGU9$W8SUl@tOk2< zC2aFhp~CbAbeN^4+XD6!uh$3{?4SWDS-@}fmAl4k=GLIQoh|B`_`PEk#V$r1Z>h6| zQ}8?d#%$J7Hvt`qx+|;)zBm?ZTDbsR_b%z?dwhW2{p$U*g?YSXycbi3dF@Cj`%~0| zXL1Gy@@v6o&(+mPU?ZZo_jFbealT$MxAGRKAkG38&@XdA9NiM||ezS>J?Y@cpXFh>V9P9XyCcft971SAJ$K3>M zfeTI521eMYrXeOhX2?&3wzsn{p^x_8XTzh0M8cJ#MY#|itV`f>fC_M45X_yoPX)Z* zs@^?y0d>&*hl3Yj6K*{clRZNubgDF-h=YEUwp!M|gWa7+evaW3{C9HgJnsqgJ z3q-+xvk5uRgi#NOi=?#hgWoh?oKNH-68@;TX63V^u6TBk+KUzW)kU&10sGKzk>32J z#E7~e+Q3?Z9(|O>82@nCv04pV3TpHh^?BKnXuvl)#;pCodk;xLG&Az~S@#0&RoH8} zxl#wA@8VmvYVOc=t39M|egaoa*W2}b=5YOsXfU-8@>e6X(l1WHIf3X}!wk#!acN~6 zcn>G$S~3HVM*?R<#_{_IL60Cc z3%sn^^-o7H+SHO`eZGG>two3Pn*4N=HUGipKeyQekL_Jr7o7yZsRy*|jR#&iLO7rXl^>R5-|*f8fex>(0=WOrAvPE?kU_ujBT{PO9{eZcza zuMDh}WBr3q8Gm~S-Y3QVq%|SXt>is+AJS3RwqC#9kc!9cDpOQa;y90$-n&(;VGlzky3c$Qxye>|<)dM}Y7}MW=4?Zi+xO=({Jai|3NdP!MM!#=C7kFkG z+P-8^jq^!wn~EHPYnhzeUDSoppKEf&ggoH-&3EZV_;tUK!SDHG;JUtHVgvqm=p#KX z0-Td-*~gttf?n=7PdyS3UW&-4xe0t*4HRs2T;fB$FsP6D`AWjrg-?Sy<=H(6cm8u|hz*(aT^LI+U1Um3hwPdD$Z0G>87i50$x zyrt@%ttz&?PaVFza1QZIiXxvTN*ucnT!#$n zL>=WtTu>_>Tj4@}ts(!RnGL*DnOk*rjMxpc?Na5)YJW{ov;z6Iow2iPoUiptpYx04OZK$@c#hAqFfJB=nTi7_Vd{9 z=k^(cP8^T86uwRdoL*~Enf;dsD{~H#|F<9Wnb2a`I*9X?v=-(fm`~iV&7Wy}M1rT+ z;xj$)o6X%d#pzS1ANQGhjLSoZYA+7^Dxp4X{rrnr5B- zx-I%ZZBL(AVm)7vUB7hrHjb;-ylLo*>lb2eyRc_|LMVy5;iw(B` zw_n~erI8~J!-{Bj_Sd1WQ#BTS3UT}Bzx~r$o#5|~7xCMJ|IYXHyc9gBF*!ib>@a1x(r)bM5td85_u=5N4L_;`ZY81SX(n>bLcgo6t}g32 z_%ok|qctD?KJvxGISc*jrh=vO+0dH=zbswgy3M{#syr3^<{ufEf%Tcvei=vt-3~Hc zKB^XtKIEsC(JR2S_VeMHqyY3OT8cMl?=L8tu3 ztQ&aZ-NJ<@E|{l3(O~U5k??n2=fIpD@+#JK>uvEy)a!4{keyHjmg0EP`{gi z`5DBIVv`5iN#t3D(qUT1(T^DP()%rfdQc)zWCeIOjzrW8V18CJUag3G#^0>W}jslhh~|6UuQgsv&~ zu9QL-*)$5Ae{H)GR(^N&^+7kKH`2Xhq1USYiX_Kif0y;m{)LX#WL}S91x{Dpa`(?s zA)aSUQzL26pN%_VqwpX4EeucIk;6&M5&&mb5+VL&B*b2JIWX!U>Oy@@6kMhjP z0nVh$PGmpW??y0F{AkI$&yC-hY0svI^q z!iRt!{T)^}!U+G*GE!JWsb}|pFuM_^=rTG|@&7{R5>+4Iy~FT#p)7E0&^q@Y5quH1 z*_tDX@sx@VaPtArk(9B2>Q*s73&lsq^T-RNnORz<5Ldrz76qZpE-iYsmf$7*^+xr= z&&X3_B|fl@0;dXQ#5DLJtESldY(L`i(`Gj{aLjR*EQhBJI5FA1ex?ES;5+ZpQ23L? zkUnM1mJ%*^4RK`B4Kre2l?^yYZ$uGi4Tvw!`it%1XYfm|hK;P~0*(XZ*0$cw1&o(d*Kz3+bDpcia~Fvq7e&~HIC za;t$o$m>16_|kw6WCrZAxq;K@Vhg$y*uTfRk7Y0u39PfMq|Y&0qe-Ea%4{H9^$~IkmmG5@Lk(0 z58*`Q+qFr%d=V#Y(-$rIONoS-PfXPeZ?V47o44elyWh5JDn53gKCGX16zzlmZfA2Z zd_?=|oJz?p%Ah3sG8R{nk~ZwT<$82QvH?jZ2%+sN+E;zp=W&k^v!=h8DT zl^wCog_Q^uZrAu$#?=8#-I)<8Jv0TYzukgR^(`E(2#<6bIsdAiro`v{3+l zQ!UTAHGW6D^z3xGd`6wH+rz&V^S-gB!ZkCD^;Vy<3mU+6U92y(ZuBDG{nDE!2Y+=| znzMPre|m?1ekg+_|9q5_x(fB4E0d~a8R~4RcS{woP^Z5!IrRlNHqrRcASNHYNflk7 z1^m9auiR#r37zk|8Wa2!dGCjUp9=|CPn!%5^*G?dAw`ut7V8nd^yES$`oFs~xO(q{ zkAHG0H3s4Oup_rq)dIk;p{^4_SbvLP?Wx^9=!;o7M;Un`&m3qyyyA+y&$ZO_4)E*P zZxQHv4R~TsAjzyG922h}SEccc(B< zC;v>=W9Z9Ye!RX097_hLymCE?c{Ysbt^fyV56@rS7J^^NSZ=jI*A92==C|e|;{N+* zd=VVrorvDf(nG*OXmVHOe&nHcW)JllfPJ^=lZrfJRvKU4%}U;lT$Ra&AW zf0hlu*NNNcz&M^C*i`u?0RC!jNT$d5gE-e6sKns+JAzl6!B@9yqyG$G{u!e^5oBu6 zalLNGAMju2A-S-8bM(2cZT1r`BOmhNIw0?aI?FYPS>_hzbA0F!5$i;Df4{qeKm4Jo z&;05h)?M;Z-7MCfLhZsvV>0rT-W2;H#0z`tx~EAAaL)ZTPy~80r+)l?32@BkJut-H z3covPrggu^dJFfA=>xyq%9;H9v^nx5n&L>c}HM4lK-+-us^$p>JJ9AOZT=a5V2w67bs*f1KL_mg|wv@G$hY^he?Y zRp3@vZ+~T7x`}-5~dHIq<8fBSi-N-CHF(apnbZE7VNajcrNiORp~# zL8p#voV}Tie7v=5c={Rg6p2 zTd|jzs|EZ%auA4s4!^MomJd}%Kc%5HU<5W^l9j_u9ymLA;7dGk`}K7XB`@NduX2Z? z{3PnRM|sLs$fI3KXI^<8hkw~ey~=^x(UncBi@>cBZ<_!aKlEmgmxdDXOVNKlR2;bJ zQ@PC?3fyuge%9q=1#Zi?m(!Ure{#9`IpEga5v znT#CzFL*C_3ZKu^E?gOb)fF`uJV6hg9=!Uilo5QkJ1}028NB^nKWRVgnwGlhejJaz zUH)4Xc;ln4;8AN%oCmP7T+86W`0f~!D+>|{27`WK?wHTtUwdL^r7$jbm;HM#U_KOl zr1q*<=dQy_3A%`z4u=ydm(b5ES&o;qLVj(uc;(wQT&GK7EOncR@$a&HVTpCRaNO_O zF7R+i=)&vK5Y)qjzFj{aB2U_XJ7X>t``wWw+96Jk)Us@wAfEgJKF>BmAIx4GjXMIr zd$wKA-)#DK{muu$EX3t9eGE6D7x5rGb{ z4t-`}KrV;x+WnN3#isNjR?Bp>c4>+Z2{=tG>ov-$(`x~gXO!1ojQsPs2oXFy*`a8HSi0; zn$9b(1GozLJ#5|x|9-h!5DXrS8T)AHQvtkGn&%e*r#YqV`uxwKyCybQ>T-z$^OS8J zzI^z9V47wo2mQU~TrPub^m`oIR2`lIS1086y?lcDF0Wuw8@M(3676(768ROUK#_I? z)?dtNW&eHT&70vzwz1Ack)Dzj;5A1*$ztc5j zTvu>}&Lj?mFkHiV_)uDBGkfSM?e|P6;Ps9CiJS5!$n$g=_DL86M;%#*c68v6LwiP^ zBmUAvW;R{ak#{_3FKN)g@87NF_CR;ZJyK0L5wDu-F30x(x4x9}@4X19^IJsTkps7B zSN%CyC4t}h4+W=A!rs2zmnV#TmWrRN40z?fqA#@oJ!{GIOm^eN^+U>1vDbjxdA(rn zy}<2hKvk( zxt)N=cM{~u0bS9%U}bw&y56B4o|>MHAEbakNH@1yX^@Ww?dS{a0nUExX4=O7Xv3z{ z7MQ?Wf1IuFL6_-11Usp+0GH}wZ0R^YO#&a;#UtPq>!bVjVw|^(Vv4meAKr4NtWnG} znECnA%`=#PttuZc_{=2u+6_N#Rrj@&SWejgI1iv^B9=VjiYalrjL7l`_C5XH`8E z^Pt}?6rbbDFn{s>J)VfehTFRNt@X%{Hdb~WZw4=sK9CA|4?p-U6zBGXw}mWIs}bkZ z*DhS@`i}W!hiFU8U|lN2oP(F}|IZvxSb>`}77l59U>&D#Rh>p1nxkIVcL%t7lYFql z75bQ3o_^Q@{U-7kw_fH`BR}pM{!@s2mt$qq)D-%C-B$i>An^UcPGNR8>gXTwAN=|7 zxdek2&lUWS%rsz}AF#l4?cX60smZd4BZa04K72Vg?1)d&Z?0(jc z{*J}~)6oXheLBZZpM-ycC)l+gy#^k1K3>`?LH?%rORf~SrB=+LUML_EPB)BN+r!`2 zC(F{@)3ENLpIqbMcfpWSq7t@$>^vAbos9bOZ3%lmaJx`(DxxF?<5Fw25RO7V8{KA; z1-zd4Jmh*M5c$Kih7QF$$S?8o=9SyXZ*v1}bX`#wA3W`0=mK8o2^;zYeT_;DKX4d$ z71MgzSr44nIbN(;u|vKme3w_)8hAG;HDI^E`Skl*1W(}gV)dbCp8CimWU7rUfYS?4 zwrflff5$Fsa$UWM?_KDln-#E*#;x-KutIWYNNvv}ekNKfZ=FLu+cmj0A%(oH+1LD> z1oE@=7uH|JkXQ06_40|JE*#~!C@6@y>vHkV2QEWT_Bia~2A`M*vOBY*?mDko+Q$aG zI2a3CutKNJ&RXWNU_3KAj8B21BBPvcS>UU6<8H!U;ML>Ke@9ZN(4V7 zd=5C}c1jzX#dRZ}zg)geh5oWX+p&~voDa&5;5KkT-#O2z&HM&JI0$j5yO{FDOfeUT~@nJ-IY0KKN^GqYZEnt1b{4`VBf@bw)hx?uA$X@+z58QQ*{5l7S~9AAY1t$fC?fJnik}l1#^X zJ#3WbNWpoTA6tf`~F=iQt_--05 zIEVF`HR5>E=8b&tmI&pP2lC8IS#$@Z zKaU~b!`nA$kK^;?xaBE9=%+@pQyJoVTmC`;IT!fl_q*4rZ19JRL*lo6h+pjog~j_3 z_klW={(JxRBT^I%nXq1R^Fa%H&`--SIS~f@j8<6$%mAky@&3C`k;DJ=Ul>}Tqa4+h zWdH74ou_{3SB2}I)XKHL3E(^~Jw-I_F`Os*RmCu0g!95LghM|2<9zRd)w6XwIN!U@ z923`#&sQkxb@Ol?Ms;d$ay)ST-tR7x1p3xXN_@2EaXv|W=J6IYaLxPEV#2Z} zU=qexvo|I@4*bfsJGB>h4Ebqx;^{r`bB*NJ?{|SKvivOV0Q8+t1%Dxf-vxG4n|ueq zZv1&l)9eMDef%k*>-I0-=1LcJMc-!n8u`pk{O@(}^EEr@_ICpwa~srM975?&%)kR> z)BC4^M_$6rm3BkK1)XMu3G6khT((+0;4?5wdrJfPfP3=n55x;Kx4CT|bRe)c`;MhN z{7mMa_V2nMx4_(hap2HlrGQ3D0^?RWnx%CDcyD8H+Yel(<-0^gi=Z#OWz+gs0QKzX z&4oX(w@p>Te;`iRtyqP3A#Qzo^bai@f({UlE(AfJw8ze9${?<7UqnjtAkH0Lq>(?O zMI9-iMl!e?`FHo)Knf-LrHYP5*4U=r*%Ar@F5ULKu@nP8MJz{1UqUB+uLWeLKtDT8 zzERQvXCrF06F_z0rkJ@uwU=}cx4x^o{g9*VB#ve|p;3X9=83r%=!}VgEGO zj;)K~{PBMzaf2qnx!k~h`G0zTVr5fr7URnH?u;5BMPICHGWg$hS3)%Z-R=PoQPy97 zv5NU;^_3l$;6R<#@y;a*eD?5{grXJj{OqmlT>|(|^-|czCGg_G*5$B?i->E99%eBu zc#5F1RBA+=_1UMV(T1W9J4C$QjCj1WEAqA~;!{yGuMJ5~hR@7C6S5nPe z(7*X)e&-x;b&-qD(4-6X0pIsUUs(NZ%GQ79otfNTv=gyy8YZtj@d5LYv0qLGKZtp@ zQ}yHf{?>!nY_Y#Ly;3rC*pC!>gvcb0r$6GIv+)KzU)q|tUJl-#iaz?U?;AY!?%~Jh zIR7vj9fq$*25Bk!Y0*@t1_Kv{k;OzHUZEalV z&T{izB=ES#WPBk+4Rv!w_WdX4p=%cd9;_n{&J-7r-IGHd^xt-yCbnNZ%CS>8i+ahQ zv?^B;ydwEw%HRZ!92B%SFF&*Nve@68?C3x|#cjk98 zoCo)`q%4A-9T`2%o(?=-bM(<~Lj2E--SpmsPM%(f4HAWISs7Qz#r2UFY!^%ifgje` z*!07=p7;k_cJV{tif`~CdEq3khdv-1q6vI%u$BwTj^la_Ee>C|0X$FO!N_9sAnv1b z*o@oifxfCrxK+Q${ZA*|2~D`J`ReTdv+614MdH&}zi2Dyj zj!}+IV?RT~^o+g3z<=i}T0_{A?DZ_if&bkWKh9(T|69A=-p=FrC*o?h$8cR`Z(Y-J z55|36IJ`dy^C(gBRi(mwW9`ix9LW)ndOSWfdyv0IHh8YVZ^>N#^UUn%Q{~?}W6Fm( zs@|V|QV4jxaO8d@cycR2=r4~n`YqZCS!D!VA6KSwXiX9MhZt+=5iRg4UG4Kc#KYw9 z4-*37=Ema{l3@eHt5{xpIdJYXrB1ho`1wRhJbDSZj;9Q#y6BAf-#f$Z?GC(%Z~3)BTvfb%IOUm9xIBi=DpCyS8p^3;wQ6e6E}qI7ZM1;+8MZO<0Aw_P3??*bph&i;~e zEQKCw35nAKe*=`26W-88rxd9?BEILfb}o8@|LGpB5tq#ee?0j6b657i>q%ZaEoVSi z7flr|0hb%`QY*y|p(CTdlMa!{dyb@9afRV}0jZ#3fqUp56kO?^!hB5Z|KpqUgZnw#8HrPhABb-`U4x zsUm+RPuCg{M;y0nR)??Pz66y|9j3<+=fU)^gw~;V&FKQ>#lT^!(|%fZ=-_Rya=$fL z)yn6-G{8%Un~|<8u3P5r7f31qo-UWM5)^P>PdLl9^Q^$#mG=i3DuKiBt&r_5+@~;0 z_Cs{G4*2xc(e8PJ=OuX89&>t)>m2`liPx$C{^raR2g~q#*PmVQN^rkFLuvcVSJ3y) zGlx0w{ZQ&ts)S11CwSi3YZ&)8&Hak{nhI+ftEolRjQbwL?CU97F<#kQNw0Aq6l?C| z=cd3txnCD^F>rscsLiCHAJ=oqi?B_7!gCnXWCz}2o}?%4U9QIb#Txa=EBv-UeL^)@%1!DgJ1F=-LCBP(4xP zFW-jL%EeK?1ab3jAT9!%L~5dyptGlJBL2hYB?lhA>H$yRpxk|tQUN?bwOZQ20uHy6 zdttu;PdgF+N5 zy;bqR-{{gVwFWEX9T)7y%z(obUy6ta(8K&08@tO!xc;MC{(d6xcsiP*BpP@O-|hOC zSru{qK=haq{3reQ<)g-P$UiGS2=RkY(|_KSs)L{R)o}ggg$|Z){u&?=L*BCMzS9NZ zutFwd{y1 z++{#MG)F;GL4*0$5VhiA`xD-h53u*bFjv@r0NqscGc3>>_({VF<% z`+mgu4<($cMf_6_k{tu?F18nWFjeEaWBZnC!q^sJ7jqy54&@CM7Q%tERF$*LH-J0d zyyMCnFQIoqQ-n#}2Uxc?lQo}>`w#d}a<*sTc@<~kw~wV@ywByjyOO{Ug700!l9B(u z*LL{#+z{tojb@ecxIX$~Y=jEFe|6O<{6Gethhi)hKY;z%Fytok!d}(4yU>>l9x2j4 zXoUL^d0m{YHWcBx3BS(FEr16K1r(TAf&0aV$L-Elz`vtxlKWd%LQ?k0o+r5P>Fra+ zqldsdf>-zEw80<3akq>=;XXgqRwkcB1>NzJJ9McPai2KYqBvlI>wq*ynEa3@b_?f~tzJPs5#h>B zc@_2T9#761Y|o{NII3g2CCXSP%pQC~?Rt9VI?jJxwaq6uqCPy?U|Dh#byug#!~{N9 zc=@c<7x?q}75!huHRxhmllw>DaLahuTORyEp}Bsw33)|SNeKff#&gW~BuSeN@V46D zr>l-}hh|nRUW)R6NkTM!^5y-(H!7-KLMRwJ;}8WKYa+l&Pxuy)GB6YVuyb%$jilP5956O%tC(+^e*^6QOkbt?DxZz zYKy=fIU_6i2(}fcTS+d1hk0cCws*s(d4CS;r-ANrS%hz39sj&L;YpQT7S<=`BhJmBQAZt$4j3_sNa(K8!mLyp0aiH&1t>9`tS-5QpB}@}8}H zUyuBB-`TZ5#O0-xm&$K|ySL$N!b$ z`zIIdxC(Ipyx;HD3E*wE?eO(U;DddRGhO2;?(@5HVZu2TxR|xkn*+`&g?}cN!Aj8g zb$ch^z5%;5>V3eQ+~#RD)`zG!e+(A(#zLogYos*7aNjW7X&L`e=;E-zy(dAq?^paN zWn=*SkxD6k&jw5Lzb9%Z>fdf1S8!9*Ml+-udo*IDRq7DRaIU@Qz<-Og#7?dTnGaE)n`m z{bsE@9Xu6rsxSq(XOX_#rU$&gsmb`v55Lgap1kZ1KYkyG_xaw8ygPmMiuHR}f~)UQ z_D{X|K3{@X4S9&wki2=-B=Uyb#=t|rFkXwNK7&}_95+hte>guLaDl!8dC`lQ|2jo4!WG9@}zyr&j_8ncM=%X=a3rrx6(rDL1gy?`Xk~dK~!27ph zp8ektheV|(i=?QJqN7akpPY>MVLQ9S@$ne&_MZJpEV~%`b0i&Y zg3vi}8l9aOLFCQ(CgC4Ze^i=D6Fq=8$Hz1ZiohGM^0_J$#6`@IigZ=4a+qs4r? zxOC$F-S-;Jef3Hda8}XDl=BKW^H&^vl>t9qSRcLMPJ;Of@bq_VLr;#J>~TY%<>@P@ zBOK_1x)ztjwnNvbO)TV(qu*k*`?=0AaJDQ+?ZX6oF_D@%E`pa|QoJk7$NIT<%bV}7n=uzrM(tF@bM5UFt6?Xkr)|416n_yFR2 zX@{YH2=PsEU+u*Z;{FeVqW9bTh)aUSo|O*-h{~RQbVC0dw51UwN$X~X!akMgxwKeTu8%l4ln#pIqn4ixF#$4 z!qPaDbHrj?*1Gu8K&WAP>EHbG>szlMe+0f^IeydN5MBa-c*c;w``o}k^|qDM2>0S13v_YOP=_r3-4BwX)`uZhftKt`G6;+gCm{) zU1wT^7Zf~4ysN4OuboBwlkSojsi24c()Ua%0~b%v4^2OY9(i75I{gH^@U1C_>CQgn z+viXJtptABrB^ur1D=8|wq!KGx+&2FryoEc)V4#;3%`?^2^imp-<4fE7|nBlf5nc<7wn=Hl=s>Zg!BP2dV1?!&XpSlHq<=voFPKJ*8o*n(jFb03Nw?*6mzT!XaI^G8!^~xN4 z90*)FckGkmgB^-1wEfzO_-Pi)HUf^=pZxB8h;WKClxjAjb%i&SoQ+m+(^*Y~g;Dx9OiCg}dxBhKgQ%&Gs z|IpIP1^8`u`kR%%UU-g&lC8SDFY+bxh<&Q?zmmautKNUMh>4pq8uf_r@h;+Htb1{i z#3p#N{K3c}39NUOQ`D_v#dt1OQ@w*)1>)`E3a=G@-yOx~5uE_O)zQr&A`XiDypHhT z_bld~x|KP&e|qZNB1;ka@6o4h&zFK<@@`r?;{O6)Ii~5WabL7@;swzrU9OIxp4rcH;rl1l`xByh>)xk!+3tn+PBbZ9M|e$Tksn2rMvZ1PY1ZVdoMaTxDkH6?z~a;7X6LQ zJy+>rAN=6Zxmkth84bS9tty93{`T3I0IOpVQtDQMKFlL$rFZb3{>4nqkV4#__PjG@ z7yMHnJ#V)Ie|gzV-x)z3rPtIaW158Lq^i5+N5HRSLUB(VITME#dFa?B0(EC1=EZ=erlUmB=O9nml0H;A!wz;mn*GtQ9PW8CV6JFAGR zl8TKlq87Mcj;Bd2*%;4{_$ExuFa+;Q#C3kq#q)!k|13?YLx-*0Qn^%tZ)?2{eZ=h< zeO~GgW!xWsSSv{gcq)#hm7_zP2M68Rql-BAtbDNZFaDi$nkr<@0Kb+iU(W+C9DGHU zT_@mQXL-5Zz|*IFk$RU!kiWYcN=hCDU(|i8kK|3Oi=D8+^6i_&-*Egu2zD&{=e#`tz~EYp+-;JHD6*>&T@ zFn{`Bmw(T-waz$ue1L$sJQu2>0{?BjDd94NKlj%Cww2NT_uN0p>XVnC=O_6G_F_F$ zjyuyox{T)#drOP)T?g(yBy9i0x*iy!36KN+dAq4Z-}>YK`&ecOq2TdIo9A|B$RE7c z^558Ey^`kN&s;^`Ci~dE25~SLwLbiN^Zf9?Z~*#k$;m8oTiXex0_SZ$}&t{W=zQHVx~@q$gm9_;z_7(KDNk zI&Oq?P&OAlHcQ`_4(ryMHK3G-`s)H?&1Kl9B`qOd`QTr2Wt|{wZ+OaOa~EJ8cq?zN zfltaiUXZZkdzraPvv>IZHOWjd=`-L?!jJQ+u3`q#i5d1zw`qABJDB zM0`GG=nKU<+2i!t9;}<)MkGh5Ip$&2w|L12em@vE?x_zunC<%(>w8wP=&qm^e(z{# zW~&6;?A!N?O%d_0Q7RfE2i#kgd%gos7On?=S2>I09bGxEdk#9gp(k7l9eTz@wpt1N zP~On=&jW5$zFoFkIDzNa#gve@0YBqkjb1-R+|3pbHr(O{Z^Vw=bl^cB=SSh$1~&A! zMA|KGBYuUG=>7W+Lbn-DJKeyxvaVz43uff4roU7?5a)+f_qeO?1-?GlkyZg0%zF{hgSp_e&c;kmTq@;<9!DS78C;q@!kd6qoTEHuv10pdKd6s1csl-C;9Q7gmi6- z&Jesmfzd^ z@0-5hePwlanT@c#PLBt+vA?qU)Tqdx7*E5<_nv9IcdY&O_Yk~yXzkN@kSyMRBK9RT zbq()@;M^9Uiop17E^0lA!?;hlkc;+^K%ZFh#M>}$2{}f$v+#>mvD(5O_)n8RxnBtU z^LhU_HA61&!t)C97Wltud}5pgJQl1zR1+_bx>i~Pb-*JCC zaeo-u)nC!mfPcO}t=Xu9zqHZ%bh2O5iy^=k=XKfa&;`z6a`4d*LkhqhC~;{Mi)m&D)GvGqF$a*vZ)2*!QDOA(dk|KbshLwzT5B z6klpmxV#hJJF>kpmXCP#uIpdeqK-Is7b-0vj%ZL=w_O?MO=d2vO%~%HJ-Rmls}_|^ z=aDznZKGGRaBj|w`k8^VUeq!Ue z0OF~B$k!6*<5%xm`9V(1rzI<`!G-(C?T_b84!p;xmljUoy!e@%k$T07`!;#Nj)J0S%d}wbE4_q~cz9D}8p8n_$A``fkzXyFu25Yz3tD$~t`hrBZpg+mw zk2M}ofk)V50-O6$w~yW*>BV`eRw!#^;=Jtid;jwZ`je~{l&MJRMqd+`jsYj&OI|a# z#ZL4qY;(o;i_v#bc-ASY9sTkOK3Z9$Z`Yn*C%*?aqQB>tu}pdc`t2%k^$G)n^o(6q zfm!!-6vCgP56b=1A!AiISHUHPODfSnO-*CZpEC4WeavIwj6Oz()28KpfdLz`qvp}y z=s!(2n~ogxfx9%@Sdopsi*@_~=d%9w8QR9)lj%yre(P99qQBZw@ilx83S3Dn(d1Ww z{eGDtsY3J_6N(%AUWdL&qFlz>%P^0aXIjn}=I#6`W-s>y{lU)<>Sv%IQ}8Q)o@VrW zdvWVVDJ%AK^DNgQUkBpwfR8)vCHk(Mc9LtueQ}ZSocV@$mAtOH`W^R!kDK|*VB8Ct zGd8=caX)L?(8%;OnXhH6h?ib#xg#DTL$GO0+T$pEm4F3JaS(rY! zpCT9aYL?-g3~6PpaTCRJ<5s}J2fQa`oxIz(D2V$fRL-SyIo?y;j|Z*Cewutz*mQyP z`m+9;h~ND3>ak9olOG1l7b|ft5=(WiyW?C?_r9Y%MO@Yo6nRh(C#&sh_zP}4SJW~u ztVTZWupi({LtK;M`ELp$Uo0(S2k+rrtO>Gt*axoFY^8H|0DVDAa=Av3U;A%I7Jj0C zj}APIA#M}$)bu< zaeE-{2gPqI(*1C+uy%%9UP4@Wcm3Uc0euZan2i?RxHl61r1^TG|M2m3__Gf5>w7Fj z{pN~3oq2ABgXa*B9rkj^JkU4wP@DYa^EjV|>mH2x;9QPwI3Rfi{mlwvPpHFh@zt1$ z&*08Gz1?14#XO%2(rhsQF8+n```7W_@UpDt2G%V)5NMPKywO|U(1L!6PTHCi3Ni4% zq@>9^5&g+kM~nLFf)k&g@AeP1f` z(2r7-C#xHI+%@VERa1`s*|&|tj^X~(zdD?_3HOfO>Enm)qCS*&^Gs;L|0_o`Gw$bz zzgK!{80xD!yWLs&J^IYrO+4U4{i)4WG(Se4D5WRLLNUOO@TE5*2GQp-Q19?j)Ng{e zpZr?fOLgxu4@BWUVUa$u#shV3lDG`*tqacS#3LTK41KH5EQuhw~uL>b7+Yo)6vj&NZP}hrIOR+oP}17rW;CHU2K# zgZJVE_F>(>_V=E{@6?k#4I_1B)c>pR4pU*k|3drjN#i+CJyMa-3)I+P=klZu{nD+I zilVB~pELJF`29-sd!5@#3&*|8WodiuUtc@3KEm^{G-mndqPQZEH$`fDT5Z&M?-bxRnYTYBvE>rgkw4UFVdsQaJ`)=is2a83n3Tx1PKoOk^V``7=Q zDsfh1wLkh2i@2TMjJn_cx#6<%WyI;#6Sm=t&=<42Q;7N@KQ<^g+pN9QSE~`{pZin}c7UK!YGk8B(WK4)taj)^QXO|+5RLfAa zG2A1US~khlj;o*C%YwX-ilT43Zz9i!On2|T101yze-VxI zY5n8_ZzAUZxyAJ3Y4kmvvbY_J_|FP0&s*Yxd;h43P7@9L>@LgRh5Wr#l=!LWfjWAl z_>vp*L_Fs0=>rz+RaO(ny(D5@W4j>;>kkR2{EIqTG|Rpjh`LG(cO`)-w}X%w7BxYR~$HTv0sekATaBW7?1l?dD)>S;D+)WQlfxz){%Y>q3>hkcu*Yo-T_IznU$E&iy_)Ef%)I{ zr*iZIg}01aN#R~+t^T-RZRb(iGixXA_J{cTBqe4`(pi?=t9Y{$O#<(_Ji zz&^Q>r5*qC#XYdzlY96A^6nU+^%L>PI}s_;jQDRiXj`@p^}eqpi{l6b_e|W}OJT&Z zUSEpiyA$HqtRnmh_1x&3y%36c4|wE18neeedZdx%f*m+ZUgHPUIi*L`+`<~?eIq3# z!4mJQ>kPJUM}153>}c{a|JMh8zK?>s5!Y|}@C-Qg#C#+j^^`SPbm@Z$>UfV>&jVxh zi**h*RYhGVUOFe>1kRlEJ5Sf@q7zz_7#xB z`)R(8*Bfcn6<^KJ4&XuIGLs20)U%17waQvo;u-W>K6V}IM0$lJ$7-B2nWTv(A@rm7 z9%^6!IX#*ycLJBP%?B(M#JGy5REYrMac=s()H2*RZ$4!t@Zo*)pnjPaC!V+24U})SEU;)DZCWte`<4y3;c>`AGG#^-?6y^Im@}Rj;yio?!e1l)i%$70gYvhr~G*D zmVC-9i*=53yvP&-uD)~r(+*MGud6P7N)tz)clBCN9vS4H%+J_uLj4MvPZ%OzW!~jC zbP!)7?zIcr+YtY#rtZ(UZ^ScieWoKn3Qip_9wL7~2Lj#S;r`HHYR=ZS7xzl-MDB_s zuH-{RWzSP9JXgY!Sd2u_UsXU~d^zIEVb1u|f_eEvZXKw>yq;V3%)OVz&l#!T&u)>& z`-4~5#n+qhyqc9^&)f3v=MsTUiCbMs-?oe(U(7FQIT%eN*r&_i(+OBd$ZGcYby&xW zu}IkztYf&TV~I4@k+DNJuZ2HD#h=-wX81W^`1FabxG&cS zY!zNG#Qj$uV$6 z5B2LP0ktqcZB2&pfMCfeY_pC%35lWygN`4BOjKe>15!j#@4< zN#FQs=NmxRfX~l%vf$riBzmvppl<6j1XKc0w|w{SPO;1|iIUgojQk%a(OGh2`9+{o zUxB*RD3io*?LHF$j5W3i{WZ)a7acf+%79-yBW*K@%D3F-p3>b!90PUpP1xoeJX#@dnS?ps>G86e3N)R$+(+IX0Gqpr~Zmbd}Bpk z$Gl*Y1>4B=OMrnYIk5#DOwyKFWI+Xg8oQ>}|2g!Fp6A|eVG_1mqcQ7&!HUX5*$qr` zJ;CjQO+6Fe+1QfuvSC!n@65oQkq0_>tYg4f1A4Ow@lJpyoPjq zWa97atKZclKKe&5scb|XP3zbkXy35zd=g}H=#+W3BtMA~--%K)PH*#bMb<%#X%HY3g)S0TqrLn(E{QL3uFq>H> zS^kq+?Tk8mC!cS31NHUwntfF#@M@S{I30C&$l+q3JMK$mk|dLYeX#~yx%L8en)P2e zJ0IklLchod_$l6IWN`_8YO=IPE=)1WgP0HVHkhAPo;O|xc=oV~s>nE#SX6qJW+Q$J zA9hf@C=cgh zM7j9TBPL;CVXv>vWD<|K(eP~sWh z=?%mA4dr1wbc;#0lz$&AyTK$wu3OW@t}_WGb{Vreh)JH@?rfV3W)cn6Y0=aG)a$Lq zepi3^H{%UfX2ZWq2@&?Qn7;!;MKg&Hk&ZcZK|(f1^ATeraE4u7e+Qb2RZjhw)oySIR@L zc!g@jbNFFp`4%wd%|xFBFR>Bu57BF+$}mqACxg=q__Ve9&Zf(_Z*Q0+nPwVit%zX~RoV_q6~ygx)*|0b<)Okw+%sI|vcG+C zUvY_dmKb7RTGsR?d3W4%&3kfOu>J!+vV(W9UQN4#P3DMW<%`{~gn)wI`klHF-=-0Y zrUlkHpL_7}4&W)%pU(23OcIf1U9A_vB%zyBb=$CBtFp^^bmTucd$NBE*4>u;UVlC6 zKz4tJv`IY9`MK1Eo7e{*$L7o%iA-|o>Yau{>}RdzyP35~OtMVHHX{}2y>9NqPsm** z%8nmKo$ZP|(xHg`P8dkKq=OGRvD{3ApXT7(MaO_0y1QSE!2dy?^yEFLuM_EIHKAC? z7q)Ii0j%$)A8&QQJ>;|RLVVO6)PJPFgE*|8zo9`q3~^s*4M`tDy&VXU6RN=e8Z!K! z>;YFk{OsK7K%5)f@m?FCaxJ5f9rdL%Uhr}83X^2!c-L_tzm~$GY}vkuC%doR7a!!O z%gX7T7n8g-UJ#T)oL9*2yV;HUSe>SNsvPw*8bH-#hkRd<{`P6)!zt$C@ID&ur-?VJ z1ju=&EaT@{Cdr%m7Mgnob+tt6SE4COLV3K5eZ9?tMzW{nf)va_d*X=IDb= zvNT;_-h4lvr}jB(mhHv8Ebntx3s^j0^Sp8olguuSxZ`&eWkP|X8H#v5K0P~e z5a@O_3?EL!JzvHVH6@F>V4K~$8n`p1qmNGx`Bl|X?PI%e=Vul%p`M@v%Mm~kBya-0#zp2ds|y1 z5~#lR+K+iPCJ|X}ootEqrmR~nB8L5)GSDA5t%Ew;BYU*TfJwqE; zFCpm4iAx9Y98cap&VC5_caajha1`gXJu*@rdC9%lue)f?BzA7G(~ZcVWa+ICGY32m zc$fOPyWsxa?DqOL1?wC+ptxET>ppEdp0OU!_u#GSLSp#&V3&XKGVJ$JtfuaB>~n%A zwj>GrJbk}TN=Y8}iEDQyE8+QEt;IivcxIn8`EnBb*wvk<{(T$PQ8d`%yc73j#?qyG zw3tMoQ|jnN?CV`z=knIuVNJYEXu;NA5kN{>nIrRG%i6DEl zzHMa4@f=*Ws#x>}c=@Kh<}M@TS-m6WJNSIuMA}X8k93a+8E}f@zF-UZGY^hmLr479 z)yADagt}3?`pdi;>$x&(P@M);8$N%>RRibqWigu@&|X6LI6*!*d+ul_VL!jTRZe<> z|7S6_j}LicDVQ+Wg8hEwInA4hyuPm$@hd~V$C69mTtI!Cqbtb@BR(a&`DK@*K4eIy z#xZf^J&N=F(+zmPZ1^I^j`-$`|JhmxE|L{LqlUPjxm=rYLj?EO_ho_M!1dmP57q!r zOl)eb7Q*vMbAg-!UY_CDthoYtaaB`az8v}HuF11shUc_ZZ$T6v&QY4_k$f&D`SVqI zewGvaGjF>x!oeh7iqX#$xUr6F`cuB_I4>_&=KflW^FHErKX?iD-x%nUHP0Z;{+;tH z78oQ+%dB<99D}F_@@^fQVUS#(-rahC7$mei(tE`;gY1nPS@8?pC^t8`9XOSILDlCs zgNUj5-(UqceAygE8D|jw2Z|-rBMjnt!#7akJA)*uNax88GYDfbQ_}JqgM4-CFxof3 zAfi?eMkEFqWU)^2PgfscyARYDzX9W8hL~DHBSpxeMV{xNAz`n1awG-DF zV-R|`|DW=o3^H)!TlOg8G#?tdxH!om#&?XW7_$u0)g@%nNaLKU~S@JUrqyqRMD(&L^U%APkdC7QycPBER!|=AGpWN-RS2Gvh5{( zlN;hv@gQ)`8^lFn=kC|s?-=M~-Fa^V;w|y@=N1XXBfx6grL*7{ZH20mfm_*JDX)N! z=_{R-5GNMpsk|SEla4FzlNRvqy2k7T#3?;v(gQA^zUCK*^)|3`iPEr- z)N4+%iP(qHNy=GHaH}8X9$&G~m1VEJ7_AH<+-R&*j{S>{1M;z)#s+Pm(GaUh(NgC1Fk zR}Ik>$z~9JmrkZR_%7R|+^KX1DU$zVzB!XYma>d%2?3+s?VestW{^^%v0o$=^_sF< zpB3D<-*Ln31O|~>n2k(&$RK(PcHBQ6ARnS8ZFRsaL0g4?-)E3BwjmBbqZuUINZFqS z@>91|3Ns^-cbm`;V-bkMz@doVFw~9g^FG77uw!pq;(r@)+`Ubs{uYCHh@XHBgVZ&x z&I-7}AiFiJwW+|SGwvOBA@CzsSVaxSx+4sVR$gZi<#pW~`vR~}e#d410R>+?Q?LVS z*ekI9ca=c`e_xdoy2K!bch~kkzQ`byhNRPez>y!{4nsCsS=?`>FL&*C zWRNmH_s9hbu(F&(h`}J$x1SVc0ArSH&0Xe-{2Q-zKLMOJqi6V@Lmhane)AUCvgKY} znj7xfP33Zn;C>s(tQv4SU(rd}1LwW#lhg=!jJL)ScktXi(_60Y403Sb`owwICC)Hw zMu5lmC5Qfn|BjefG4_~OlJWCaCmrM875Cdy8RURvyT7dy1OM;%acd{=iJsY`UabEe zzn#*}Gq`u&v}Arbjr*ZaS}h;wsVyq}5&L|2FUjVR9fRg!?D{IhFgHe(MyQo0gTVj3;f!T`*m>3!){aDQ}nARw(n(-$oowcesHdmi0em< za6ir&>WUkpegmgYRTwY`ZTh~(eaI^#Qr0EUlZ7@!XSh5@wwc}xECm6wGNwcpRDBm zepit}-adR7lp)U`y6dI6<-oh;^%f6p!u+WcZN&z=8`=GG}El9wlmWMVdh- zTP%i}C2+6qQON56YW?7Jx**OV+cysisRIow(@d{!z9q3 z0UCW!HMS5#9Ohsoj1I1-vgf`}=odzijf~7x@q6RxxJUXe>s zmu;n~+$@Nn{H4Mzz-5Ql`+dRqCD*ArBQ^%Pz!Ispe<_35S{Km zR(<)P;X56FXSSj%30P}+U-$qpgt|Gf7TD{?jM&#tCx6zeee1-&*}cyf{`o>DBhlKQ zQa;d$mgX0Bz0Y*A+0;@e?k$~g^v2GryhB{SQjV*?q?7vnA7oh(SHt7KzdUcJ6O%7% zvc5itJ$3VUImDf7a<0m~jZXN=i@wFQ!jITxF^4)jQF5?e)N7=ZNiOd-NzdrS>_qF~ z%o;j5P$HpS`GigaDuuc@D(U3YRHcGiF`dj(t(QlX(8+Ik+0^5Oh)0*G(|*WvytJ~m z<*H^m##bn?7(>cQv(Iw69N(;ZQCqWN3Rx%D2Mto>U^ zW`Gy!Yq@+v5r^8o@hf-fWY>9Dg|ZuTB3QXYXA_WBPS;pFkWSbhu#1!dCpxRg?0}U& z#24QOK>rj=`?f1|a?C?OD-SrTq|NsB0-fBI9f=h7p_5o);k*D3I@zM5=h)#!CtFR9 zinF>RE<(Zw_?dKKEN)a11^LZD)5$yrot&t3H@3(4=DiN??dRx(S~YWZIKX4nO>6R&t(B9Iv7unlGKOXsuTa!@Ni9g!#lV@8#Q%7>a&$a@}t1+X}3! z@bH5$U4O)3ar}s22%Vf>RQ37qCY`+Smv$LM9C*3jUaLlYs?TZE2_arRD=k)P#-r{m z@7MoEyu*eAEE3b`M0|Z?XFl=}Gf}hR^CLQG)~CKaP(&vW&VR5dD5I0)mWt%5YC5@J z`bpzyBm5t-PM+wYk){*fJY9V>!Y?N)DKkvN@1H6KKmI`@qoHcm;o~$?@Mf>$@=+RT z9qApp`in+<8D?e!lQa_I>Kq3XU=oa(a4i_>CD=B8llXNgnd~`C#wu*>gzb@ zgn#svz!M%i5tg3sSqEOVJRm%TpH9-{15<3c>14joWN#agXci?r<3l{lo+~I|e52-I zYXC3m@hS6a@e0^^ItCaC&`A@!`o(1M=$v(D0|e=${f1_(J>=d)>d|*F&$WG$1RuX4 zzPA;J7BQcv6oc^|>q$J8I%>IuPK-D=GbzBTx~`RURysL!%%q@hmPS@jl-O2I)9~+3 z{9jFgZu|W{R{$*x4&4>RetnHaI|Z=cS!dabh=1JF&hq|m8j;gK5-SFLvQ2U}_8W~f zZ_vE;caTPmmNF}jgF7^jZhhWMBg0`n4@w~S;;cHC0z5VvZ5{-9oR3^S$5$G$7wvt& z4f)Vc-Eh_G3yqvtdw;3%Jq_O>2pv)ArV(yw9qWxCdi=u4;VOn*ruDmhon zErF**1-nZ+X=M9iL&?t$8ksUbB}{ukBggl&JN35Eh}4AYD&J-r`RFP8nE})_5bJDi zq>=jyx#l|0XoT;$;MQaH$n&WJ^Kfv9cgB=+)imOB_4dyBDy*CNcv;yW83=_JonV`UC+{JMB3o?>ZU9jabD`6y*8ajMy$fLnv!Y6`}Sw= z7b!GSr#GRoK9NRR^2AfE;%G#3&6%3V@rYMT7Q09cjr6fECX@lUYRHG~!T)Hc=pL9f zxkn=_J$&bqB5C9VAKT|5$kkM{Yk2M>pKp7tF2>TxPC=t%v#`^=c4EiTfBr5V=T!oV zEz8%`$2@{@hEZ=4Xe95`x%}c(8X-BR+>=<(X>K1!f2><-PT62{CXHOO^;SyEp%D$m zB#F^N?3eGbTYWK&+#F~ZI8s3)p}ED?=7?|ZuIzP{z`#dgHFs-i#M<-iyXVNqwP_(YZ}W{xyg3fc z+73{ORB32M`zV#@TCJlm{-BaM*Jteu<5ZH$(Ea)RH`wqsl?!%iLGE}iWmgrr{wYtvK^_`e5qH<45|}0PI ztTsa>w&z~Gh{t*(y&iK_fjfM9J{dbpCFu$I)9F)G;^GqOs|XCX`&zp2he`~T^(A@! zQc26_+6ZOrdpW)I`6I-|`j_v2%YISGRRxU$+2A54CI-_GKm8ZyMt=`ci9*^2=|hO) znd@)OREDW!X#Uv!2FUjwJRh9|uDWa;ZztmZ`&o9LqTAJ_MS@m&i$Er-AyHb zn--pHK>zWdGk?Cn!TMV=_V~TRddE8~u6I$%h1h#JZs40nIlFFkBL6KX18Fa)WKiDE zX?+`&xL;#)7;LAK#={4~!&<0h7td%jy&3tR63qJ4NF}w0-mhV{Qc30TQSrU?RD3T{ zOVSkb2VI<%|AG7NX^%{QM#b*|YyIa~OC^^kn+go7sbrgD^*OI9Dp|UwS1P{@@!!zX zwHmysE$Tew36;>s#NXAHQb~BNyi4+dw5_ z!E=$>h|{*H{%aQySE0*AHt=cQAkG%2fW^D>VeqVDw z*kAzQwI;Brql zyyODTJhQMA9;c9eq1E1x!Pmqd3OEA0Jh3vj#!(94)i&Xf1Exkj{P-5~;`QU({)3)U zY3z}o@W;E>$BloOLT)rg3ua+mXG)7la#n%k!3@i?jHY`Vbe_^ z52ig{CV*dG79L&%th1o_TD+x@`sg9@rHeuq{j_CO5$A}rq)4ica_=$IOHEE%cb28~|%fK_wU!KjX zrx5cGqHuogJi`pDoZ;He3nXRS39GU~TSLk0Xra@~DNaM7>( z#RjSnci!Vxu9XzR!;uv|^^`(9>lan_R3knbBL1@#6tXIJ&7Lh~6k@)T)wP=yauMz6{R{aN^7zQs_=+3~xp!^R!5e&- zE4}Uw#)D?=0{2y5sG3GDac#k>YxZ%XY7DCDGxO-mQX zMK|qSY6SUXOHPI~)|r@ndKDFXL4)sNB=}KH;fzJBTQ4B@_8IJZ$E{{zS;QqqywQCZ z;w00gmMij%LN;3*(N}4pkfI^wm>o^XQ}bY{A@VVm?-z3o`LQACVv~?hC<)Mc+hMo7 zo^lg-WnE8ZC+Z-PLul`tEEm$ZN2+y6o(s96Zu$07t_$%pUB%O%<3b7#MjUE<ZOCc80Ueg#?9e zdFNm5LWEfU7UhCpai3~4E_ESGA6;H0^2CLt?>fC}6gX#N=6M);|FKHO>i`?s@&d-7 zf8%|Svpw+mSWUqg?4t9cujZ7vpzmXQK~jYakr=(aQxLds(PC;Z>=J(eh*!gS-==A{ zCD6a2I`h{XxQn|o>j~s6$K?ly!DAe~E;<3fhg5xfg!QVO)HtYv@tu<~qlpDBBUZ6-~SKkwo{u?jevx;~kK_`3G5*r5W{VVxhVf!@AyiQg-- zUC7YR4ykLvEgZsk4rIEJhp$sBsp&4{Z=TJW?T}OdTsFx99({Pv_dN3V*Yu%JO_~c? z{~-Ur3&5tEnP-kcfAy-t#y;@HE!j2!DTtrrMs;rRNZnHt2UA^$Xkxorg* z4BH>Bx(}H8>p-*&#-+l)pG3JO~s^XmykRJKrw`CmS8x*nT#6uTim33HC1$H^T7p$y-k5UU) zkq0isQPSa#6~>>Oxx<$V4Bxy%+aL0rhPFRWK&^Af4)sR45dHmO8+pKg$%$;b15VjA z(KHw7LX@3c<@QIokhe;`OSS?Fnj|>eG0yGOYu60C=dn6<&wZ@(znnHsaL3zhkp|FX ziLmi*jdmf1th%md@SAA5^Zf_twMuzUdIPg9&420uPkl0#@$+4ORE zZ^Zd?KdY%1;%8*caQm09^@)08b{N-6t&z_L|C#+{$P0NsUA*T%cjVn~*Qjbtd-9M#8gzhwkn$6a|J)3p%^!JCpyeQS3~?^|gEJOu&`x91eeY8B83TW@)g+`q@57)>q%!QXOQeey!PD3Fv4vw?*TQ1W)dFX-qWak8 z*BGz8Hu!uHNHw`4GYP#Y>*{VHa5ZhEnM~*%OIVP32|Itb_iSe{{$s9cX$jEDxKqs! z#r_&puJk1Wn-D1xi9P&BX}5mK{M;hzxaMEvne#hI{af!vZ=tXMtu|K zBaGi)csBI|<2$bG%N5IpJXfrs8hSpDLxWnNC+63Xa1FRHoT0f3eqUah+vpE|`qUbe zb+DsK%)XI?U7qIPQzh^!wX>QE7$0*Ah4fCZy-n_|0;&7HT$#o1Bn9g)2W?uF&Dv-a)R?16-oN}LLt`5ICg46bYzyrKe z4iv)w`Q#0oOdXN?7%!|h z(7X-#*KaQ_D8p{4lg3~f=38PKrtmLryc^YHHQ?WBU9!7hhBJ9}=Rc0S(0g5G&3+Yj z^M^LYtOKt+D*IFe`mf(uDt?DvqPF3!6X5I@W6p2>H~&4u3zg7MO|V&z0N0}Ij4KCU znX@n24faAkH#hymCtr@06l1>lz?%nKfeS~*1UjK-ca6`Sj`4!ytyODbKkxiSd^O^k zVq&%N5%!@gqBh_UTrgmGoWi^zTmx>OFy2w=e(WIRzv^4JWPq2gru78+ZpDJf>!82Up!ZG*_)+$xmLTv&73XWKqOi}?UNdUp&Ln91 zk)k8)_z%|Y4}l-YHiLFy=pX-6m|PBd&Gei_3hXpSVs&CL&e}pv=ZpoBaK`Uw|iP-+Y__yZGt3%wX^&)!yy4n722meX9uMwfZFi zC*Utr_{`-g*nP42YPcT${Q7=>d;|G#97Ff~KffZsw>CmwcC^QP9C|%kYe$lSX8Uvn zy)k~ce|tzA#*prpg)u4!Adg2FFtr0CysTDf0J~62;9)2`$q}( zPpuV(++g27Ch7FAUVPQm18l&Taj?zUV|?8Fz=j;y9}{)VDga*aT)+Ay^en5x17ATe zqn?A-hj~o5p1Y|G{iCV(O->>XQtCP9vY@X%Wwx^wdav9LsYe5UI~*2Q1zx$hs^Bcp z^kLZkZSYt3Mquq{=-=4AW7R*u+8O?>;qaG{t|Qh9dCc73{6X5T>meyi~MP2kl6E0#;cj^Z-=Sr+pC2B%YJu@3%B zh30J-KQn&tKrQ5IVfh?k;Nhdk7(T$C5g!GL;rEMl1M5@p!e?g`2jIsipQJ88UtBWl z#3XR-IvIfl$hlsmpAZ6e?zLF|0vMZNP;eCX@1L)cy8tfwaP8sSK&{=0cCE16cI0G3 zJjOX9&+T{*|BD;kGoNC-YeA1=0C9=7N?_%{_}Bc7skOkEY3{Nl$e*WhtBygh*edSx z5!j6z8tw^#Kij)vaSPy6mropf4m@4BG9&5VeC`KX`eARpR(SJ4pt8@}CkBuk^6ve> z2D=n`O3xFZe4JX4J^WWFxs-Lm-XJ!(E(17O>#9Bp`A+K->Y}j!uqCZZ2k~3k%j%;8 z`LVppMRDL04ykN)fwJ?OJ|{^`~MztMJC`U3diuC+(%!OecnG-<+4arps*{qPsh71L{l zd1Loqee4H4no(O}IpiY~l22m5t9<wbz*QI~?;p^Jr-3~vcajbhDV*cio-#I&>zwu5>OUS=<51bAR zhdf6;H%uIQ!2?nE)Pd=>2G7fZd<=nxTmRO3&$lxNdaA8vN#9_%DR1u5bI5CKa%olEM<>&DD3v%3{n9V%Dz3sWE!^PC zI>-Z#JY3ZX|G6?TTi7vv_T~BFGZ??W`@_o_a7OddKr`qav*ArEhdk%^%QMc{&qlgY zg%!p_%z{tFLVomnkh~o9?*3+S4!|GhjvvN_m_I7+&dVgoFP&1lA_zS{+r}nC;QY(S zIvap{=S|O_grEKeSH06f&X>9uPr*+Ap68u^aZ#Kz;`z5f+091bhk-rco8s0$9+P}L zJ_35DLtMJ2AV2x2WYiq~e$RdNd4+L_qxIpnkT)qd#)rdi)lZk6OyG?#Yt?8#bv}u| zhOp;5?9}iTJpFBXj}`3hc_ew-!cMYch72p)mA`}(m1Lo za4Os2eHub=-;`5gFW6Nbe@j8DDE-Wm+#zQfzM7dR9)x%3$Hie-OrDq!As zPoidnAlH2RxhNENyH@G6h5_q^n^UNmr>%V9z$$Q+<64GhugdYr;hLJsir==HT%z8DXm35p!Tyc2=dE82m1=lQPtLw{so@R2pf z&#FE@Uq?ZSFkQu^5zH5Dxo_3iieTj8neTPwHacH4|^uDd2e( z4O@7i?_Yf8^8ozqP21PD5_0KwpT#=xm%+mu+JFj8C*-0aU);nOs||m;cJ57m@bBWb z(QpLgzwGGmMZoXQsaY(A9`$Ev!93=%5KZF@h5n8tTP`8Y!>MO(t^n>h<1KL-<1ZGs zoVyOYo*spLSHXKu4c`cbeFLxi&>Z}(8x-w&1$k`Kr!YnEJ(&YF{?NBRBBb{UdRxAz zJ`w~!a`*V}N$5>`Zl7@chjXL3+o9hoE36`cc|(}jWiMggJwg|)^C3U6>Z#aX=ymkn z4Ksm#i`3E+HjvX7RouToK3c7Dc@X;Ioc>Gy`O9?|LZc znGU})Zv{$vAuliZ*!&lE>;E*>`+@t_*EIFQZezqAg&&Y}Bo>!tg1293(fg+WeA?=^IcI3d{*y-$#>YDzc}4^4E|@D>?Xbg)84jr?T1`DM?an$ z`zrf#Ch|5DKaU7Ka`|u$^Ie&l9A@Boelu@0laBf`V7)Ab@e!h0&L{VaH25VDuM$^5?#vcY>Z8yId*_<9w}R_aZRP_j{3D5pwFHLoO?@=Q?kb zAaK-X%^fe;O_v<6cnv)h!}BQvm@iJ4lc5az9D0bdIrNG%eynJKeCbQ=h63nKUDTuA z#rTelwuCy!8>G$M+rclCUHf(i+)(tKbTsr%NDCW`!~X9z-)&cchrKF%PhdP+C!tyq z<9%Px@oBm_lgQ7u*#vTdH>x|l;m61QtM?x0Z?NaTtPFH2x1C&vaT^65(a*rGpSCG6 zfPd$%kV&k6nN04h)$qgJqZcU-`Bi_zXer==?U`eHfj3h7nN#p1*SR=p1pRT1&cvmd zN0)PdNeae&vYytzf&6c0ZPa1lDi)z<23TLR_hFNN>)}~qFxmwB$u{op44`3`zuS7) ziQfu8ssw%A3j%WOkYD>TUd{&nm7+rQ%dj8tz7??wa(_$vlhMGJQ_WM7kpK9UvRn%5 zWxY7G+6DH;MGCJ*Vdu!_FMbqyJbZWE+2CKWl6mPM#_w&~ZRm&bOy>ZjI~X^9={vdu zJYX!zW*hwQJZ?LD5_*F^%DF6%mmD6nNCKX&7G)U(YBHryIKZEy_Nwpxu)i6mW@HBa zN1-hxV&Dp50k<~6j}2vfffxEd3(*QPZ;o);|r-|>5FzLKH$FD`l{2w7K+!&?a+6QE4*m}&e?lOsR#PU zb~5<>0OMIR)>iymUjm8G!+77ety*=E?-^wl^Mikv)m*p)WZzcaH~?H#df_EM#v>xE z$5#P21#BGNfpuiP+s2~+KPlhW8{7hR`G5ZI2>GYL)=vr8Pg0=Uq%`=Sqrrh3;7=V? z9NH+TyA^T^{WQGC87GCx!>-jqppL+Aie8TeJNWXGX@B-(e4D((18Jb#mNw_Fu+vZ# z{qM4iGhtp266J+_ChGTlVc0d(s-ho4eksL+-4l9s3%)OTA*ZZ7_sju$f%X!A&STuy z+IF%KTx3{+JC=%i@+_*(0*(mmI2;bl++4e673P2H#qXd8d;R9ruo~#AYMzY~#kg#o z?7Dey{&eQuZ1`KYl^d0f(Mm zulo&Lhq-4}rQ&A1M~%lS9o;@yo8fbWA= znNKwN`b8>O#NFWL17Ea9G37Bn)~zu~Db~$IhL9+f>JoAD2uK zG8L6lA~YD2Oh;6Piy|Qz%8;>0=2>PH(KVG6k+F;sDPwe{Or=aEgcQjT$?$#M&-(li z-?cvL(JyD6bN1Q$y&v!Q-sj%yx#|#)cU`ye_^NmuGe_IMx2imGM~Nt?@H! z#$)BK-5XDd$9WwFf3iA0f8(tF!+Xc}MW!G4@`HH%z3NjH#>IYa{kvF~nel%1Cr4NA z9OD>pOS$(_-5=Z2GLa@;AA9hdLs{an^WYB0mc)3s_nrGwllXj}hV`Bp6_0rjtv;7J zp1YEs&pkAb*J}KQkEX=yzkIc|Q2lsZ+40t4kH%xVb)ViiHulrz%g#R*j{R&)+|@aM zY+t+F&PMmd=O=EhfBN@$eQVN&T7%;C0$b;n${mm2{eJb`9WkEe?J{*w-Cz4A4I8Ge z|4}9KEXfz|pB-Fo{MYe3+f6ywKOdieqG>_quCCQrF%1iFH@M z8lM|5>g?V+sr%WH;YzCGl<&`N9UPC3{;(;jMeHx<CWBW?-`$)cH*o3 zAH@6XE`2@c*?9lcfnU@s8J}BN_SN_PjrVVR>gRN+pUc0pQSOehUHLY(}f?t z|J~KtKF6FNhU|*Zm)J0Q*SOd&nYPJoah&!RT_a-@GL+ z*PI*Mzxm~Oa~<){Yx;{68})NZ&lj+?ep^C}O<>v`54%yegLSEyj8 z`Khia8rOO{bv#=ZRsShx?0@(jbzV{*xj8d`-aS6Q`-U4v z^^4b=?^yiM6R~~T-@Yt-G~Vx&d%-<9Vn6rXS2O>o@q9srAE*Bk&rgkSa>t<9et+eP z1-8fM8!g&){m=1!)0){kl#AE*O}cmW-gsP`3je{>t=!mUD|f(lhO=JZkKUHa{c5YN!KM+O6rxAc|>x%?4zm<`YThKcc!HN zcQ%o!(!0;RKmS%;xP{nYn|?@K=)`1#7u zlYV~o`-0z({C?^8X@5WP_Y!|^^7l1=PxSXwe=qj;cK^QM-&6eik$->l?~VR_)xRhE z_jCP$-a=oZr_m$nuk>d6Iz6GDP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L 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 MH(jO2%yC?GwMnIpr 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
    YB@c;QuTnyYIrI~XdYaKC&e_pbQkr0^Lf~7 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 zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0?Ec^|9=Q$I*n=6{Lbddt0o&X zrujWX#?%~>x9S~LOIPhyHPw(Y&C?Al-}ldyya*5=K!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U 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 zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D z>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|f zp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu< z6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@Mst zJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q z)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|} zLOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={Jy zC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCP zdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7r zs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@| zgnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZ zPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3LP*12Q)D!9n z^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_3H5|}LOr3L zP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+o={JyC)5+_ z3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D>IwCPdO|&+ zo={JyC)5+_3H5|}LOr3LP*12Q)D!9n^@MstJ)xdZPpBu<6Y2@|gnB|fp`K7rs3+7D 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 diff --git a/toy_model.py b/toy_model.py index f775f49..57bad23 100644 --- a/toy_model.py +++ b/toy_model.py @@ -6,6 +6,8 @@ import numpy as np import matplotlib.pyplot as plt import time, sys, pickle +import claude_low_level_library as low_level +import claude_top_level_library as top_level ######## CONTROL ######## @@ -19,16 +21,21 @@ gravity = 9.81 # define surface gravity for planet (m s^-2) axial_tilt = -23.5 # tilt of rotational axis w.r.t. solar plane year = 365*day # length of year (s) +dt_spinup = 60*137 +dt_main = 60*9 +spinup_length = 0*day + ### advection = True # if you want to include advection set this to be True -advection_boundary = 4 # how many gridpoints away from poles to apply advection +advection_boundary = 8 # how many gridpoints away from poles to apply advection -save = True -load = False +save = False # save current state to file? +load = False # load initial state from file? -plot = False -level_plots = False +plot = True # display plots of output? +level_plots = True # display plots of output on vertical levels? +nplots = 5 # how many levels you want to see plots of (evenly distributed through column) ########################### @@ -42,19 +49,16 @@ heights = np.arange(0,top,top/nlevels) heights_plot, lat_z_plot = np.meshgrid(lat,heights) # initialise arrays for various physical fields -temperature_planet = np.zeros((nlat,nlon)) + 290 -temperature_atmosp = np.zeros((nlat,nlon,nlevels)) -air_pressure = np.zeros_like(temperature_atmosp) -u = np.zeros_like(temperature_atmosp) -v = np.zeros_like(temperature_atmosp) -w = np.zeros_like(temperature_atmosp) -air_density = np.zeros_like(temperature_atmosp) +temperature_world = np.zeros((nlat,nlon)) + 290 +temperature_atmos = np.zeros((nlat,nlon,nlevels)) +air_pressure = np.zeros_like(temperature_atmos) +u = np.zeros_like(temperature_atmos) +v = np.zeros_like(temperature_atmos) +w = np.zeros_like(temperature_atmos) +air_density = np.zeros_like(temperature_atmos) # ####################### -def profile(a): - return np.mean(np.mean(a,axis=0),axis=0) - # read temperature and density in from standard atmosphere f = open("standard_atmosphere.txt", "r") standard_height = [] @@ -71,7 +75,7 @@ density_profile = np.interp(x=heights/1E3,xp=standard_height,fp=standard_density temp_profile = np.interp(x=heights/1E3,xp=standard_height,fp=standard_temp) for k in range(nlevels): air_density[:,:,k] = density_profile[k] - temperature_atmosp[:,:,k] = temp_profile[k] + temperature_atmos[:,:,k] = temp_profile[k] ########################### @@ -84,8 +88,8 @@ for k in range(nlevels): ########################### -albedo = np.zeros_like(temperature_planet) + 0.2 -heat_capacity_earth = np.zeros_like(temperature_planet) + 1E6 +albedo = np.zeros_like(temperature_world) + 0.2 +heat_capacity_earth = np.zeros_like(temperature_world) + 1E6 albedo_variance = 0.001 for i in range(nlat): @@ -96,7 +100,7 @@ specific_gas = 287 thermal_diffusivity_roc = 1.5E-6 sigma = 5.67E-8 -air_pressure = air_density*specific_gas*temperature_atmosp +air_pressure = air_density*specific_gas*temperature_atmos # define planet size and various geometric constants circumference = 2*np.pi*planet_radius @@ -115,136 +119,32 @@ dz = np.zeros(nlevels) for k in range(nlevels-1): dz[k] = heights[k+1] - heights[k] dz[-1] = dz[-2] -###################### FUNCTIONS ###################### - -# define various useful differential functions: -# gradient of scalar field a in the local x direction at point i,j -def scalar_gradient_x(a,i,j,k=999): - if k == 999: - return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] - else: - return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - -# gradient of scalar field a in the local y direction at point i,j -def scalar_gradient_y(a,i,j,k=999): - if k == 999: - if i == 0: - return 2*(a[i+1,j]-a[i,j])/dy - elif i == nlat-1: - return 2*(a[i,j]-a[i-1,j])/dy - else: - return (a[i+1,j]-a[i-1,j])/dy - else: - if i == 0: - return 2*(a[i+1,j,k]-a[i,j,k])/dy - elif i == nlat-1: - return 2*(a[i,j,k]-a[i-1,j,k])/dy - else: - return (a[i+1,j,k]-a[i-1,j,k])/dy - -def scalar_gradient_z(a,i,j,k): - output = np.zeros_like(a) - if output.ndim == 1: - if k == 0: - return (a[k+1]-a[k])/dz[k] - elif k == nlevels-1: - return (a[k]-a[k-1])/dz[k] - else: - return (a[k+1]-a[k-1])/(2*dz[k]) - else: - if k == 0: - return (a[i,j,k+1]-a[i,j,k])/dz[k] - elif k == nlevels-1: - return (a[i,j,k]-a[i,j,k-1])/dz[k] - else: - return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) - -# laplacian of scalar field a -def laplacian(a): - output = np.zeros_like(a) - if output.ndim == 2: - for i in np.arange(1,nlat-1): - for j in range(nlon): - output[i,j] = (scalar_gradient_x(a,i,(j+1)%nlon) - scalar_gradient_x(a,i,(j-1)%nlon))/dx[i] + (scalar_gradient_y(a,i+1,j) - scalar_gradient_y(a,i-1,j))/dy - return output - if output.ndim == 3: - for i in np.arange(1,nlat-1): - for j in range(nlon): - for k in range(nlevels-1): - output[i,j,k] = (scalar_gradient_x(a,i,(j+1)%nlon,k) - scalar_gradient_x(a,i,(j-1)%nlon,k))/dx[i] + (scalar_gradient_y(a,i+1,j,k) - scalar_gradient_y(a,i-1,j,k))/dy + (scalar_gradient_z(a,i,j,k+1)-scalar_gradient_z(a,i,j,k-1))/(2*dz[k]) - return output - -# divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field -def divergence_with_scalar(a): - output = np.zeros_like(a) - for i in range(nlat): - for j in range(nlon): - for k in range(nlevels): - output[i,j] = scalar_gradient_x(a*u,i,j,k) + scalar_gradient_y(a*v,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) - return output - -# power incident on (lat,lon) at time t -def solar(insolation, lat, lon, t): - sun_longitude = -t % day - sun_longitude *= 360/day - sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - - value = insolation*np.cos((lat-sun_latitude)*np.pi/180) - - if value < 0: - return 0 - else: - - lon_diff = lon-sun_longitude - value *= np.cos(lon_diff*np.pi/180) - - if value < 0: - if lat + sun_latitude > 90: - return insolation*np.cos((lat+sun_latitude)*np.pi/180)*np.cos(lon_diff*np.pi/180) - elif lat + sun_latitude < -90: - return insolation*np.cos((lat+sun_latitude)*np.pi/180)*np.cos(lon_diff*np.pi/180) - else: - return 0 - else: - return value - -def surface_optical_depth(lat): - return 4 + np.cos(lat*np.pi/90)*2.5/2 - -def smooth(a,window): - output = np.zeros_like(a) - diff = int(np.floor(window/2)) - for i in range(len(output)): - if i-diff < 0: - output[i] = np.mean(a[i:i+diff+1]) - elif i+diff+1 > len(output): - output[i] = np.mean(a[i-diff:i]) - else: - output[i] = np.mean(a[i-diff:i+diff+1]) - return output - -def thermal_radiation(a): - return sigma*(a**4) - #################### SHOW TIME #################### if plot: # set up plot f, ax = plt.subplots(2,figsize=(9,9)) f.canvas.set_window_title('CLAuDE') - ax[0].contourf(lon_plot, lat_plot, temperature_planet, cmap='seismic') - ax[1].contourf(lon_plot, lat_plot, temperature_atmosp[:,:,0], cmap='seismic') + ax[0].contourf(lon_plot, lat_plot, temperature_world, cmap='seismic') + ax[1].contourf(lon_plot, lat_plot, temperature_atmos[:,:,0], cmap='seismic') plt.subplots_adjust(left=0.1, right=0.75) ax[0].set_title('Ground temperature') ax[1].set_title('Atmosphere temperature') + cbar_ax = f.add_axes([0.85, 0.15, 0.05, 0.7]) + # allow for live updating as calculations take place if level_plots: - g, bx = plt.subplots(nlevels,figsize=(9,7),sharex=True) + + level_divisions = int(np.floor(nlevels/nplots)) + level_plots_levels = range(nlevels)[::level_divisions] + + g, bx = plt.subplots(nplots,figsize=(9,8),sharex=True) g.canvas.set_window_title('CLAuDE atmospheric levels') - for k in range(nlevels): - bx[k].contourf(lon_plot, lat_plot, temperature_atmosp[:,:,k], cmap='seismic') - bx[k].set_title(str(heights[k])+' km') + for k, z in zip(range(nplots), level_plots_levels): + z += 1 + bx[k].contourf(lon_plot, lat_plot, temperature_atmos[:,:,z], cmap='seismic') + bx[k].set_title(str(heights[z])+' km') bx[k].set_ylabel('Latitude') bx[-1].set_xlabel('Longitude') @@ -256,116 +156,67 @@ t = 0 if load: # load in previous save file - temperature_atmosp,temperature_planet,u,v,w,t,air_density,albedo = pickle.load(open("save_file.p","rb")) + temperature_atmos,temperature_world,u,v,w,t,air_density,albedo = pickle.load(open("save_file.p","rb")) while True: initial_time = time.time() - if t < 30*day: - dt = 60*137 + if t < spinup_length: + dt = dt_spinup velocity = False else: - dt = 60*9 + dt = dt_main velocity = True # print current time in simulation to command line print("+++ t = " + str(round(t/day,2)) + " days +++", end='\r') - print('T: ',round(temperature_planet.max()-273.15,1),' - ',round(temperature_planet.min()-273.15,1),' C') + print('T: ',round(temperature_world.max()-273.15,1),' - ',round(temperature_world.min()-273.15,1),' C') print('U: ',round(u.max(),2),' - ',round(u.min(),2),' V: ',round(v.max(),2),' - ',round(v.min(),2),' W: ',round(w.max(),2),' - ',round(w.min(),2)) # print(profile(air_density)) # print(profile(air_pressure)/100) - # calculate change in temperature of ground and atmosphere due to radiative imbalance - for i in range(nlat): - for j in range(nlon): - - upward_radiation = np.zeros(nlevels) - downward_radiation = np.zeros(nlevels) - optical_depth = np.zeros(nlevels) - Q = np.zeros(nlevels) - - # calculate optical depth - pressure_profile = air_pressure[i,j,:] - density_profile = air_density[i,j,:] - fl = 0.1 - optical_depth = surface_optical_depth(lat[i])*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) - - # calculate upward longwave flux, bc is thermal radiation at surface - upward_radiation[0] = thermal_radiation(temperature_planet[i,j]) - for k in np.arange(1,nlevels): - upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(thermal_radiation(temperature_atmosp[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) - - # calculate downward longwave flux, bc is zero at TOA (in model) - downward_radiation[-1] = 0 - for k in np.arange(0,nlevels-1)[::-1]: - downward_radiation[k] = (downward_radiation[k+1] - thermal_radiation(temperature_atmosp[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) - - # gradient of difference provides heating at each level - for k in np.arange(nlevels): - Q[k] = -scalar_gradient_z(upward_radiation-downward_radiation,0,0,k)/(1E3*density_profile[k]) - # make sure model does not have a higher top than 50km!! - # approximate SW heating of ozone - if heights[k] > 20E3: - Q[k] += solar(5,lat[i],lon[j],t)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) - - temperature_atmosp[i,j,:] += Q*dt - - # update surface temperature with shortwave radiation flux - temperature_planet[i,j] += dt*((1-albedo[i,j])*(solar(insolation,lat[i],lon[j],t) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] + before_radiation = time.time() + temperature_world, temperature_atmos = top_level.radiation_calculation(temperature_world, temperature_atmos, air_pressure, air_density, heat_capacity_earth, albedo, insolation, lat, lon, heights, dz, t, dt, day, year, axial_tilt) + time_taken = float(round(time.time() - before_radiation,3)) + # print('Radiation: ',str(time_taken),'s') # update air pressure old_pressure = np.copy(air_pressure) - air_pressure = air_density*specific_gas*temperature_atmosp + air_pressure = air_density*specific_gas*temperature_atmos if velocity: - # introduce temporary arrays to update velocity in the atmosphere - u_temp = np.zeros_like(u) - v_temp = np.zeros_like(v) - w_temp = np.zeros_like(w) - - # calculate acceleration of atmosphere using primitive equations on beta-plane - for i in np.arange(1,nlat-1): - for j in range(nlon): - for k in range(nlevels): - u_temp[i,j,k] += dt*( -u[i,j,k]*scalar_gradient_x(u,i,j,k) - v[i,j,k]*scalar_gradient_y(u,i,j,k) + coriolis[i]*v[i,j,k] - scalar_gradient_x(air_pressure,i,j,k)/air_density[i,j,k] ) - v_temp[i,j,k] += dt*( -u[i,j,k]*scalar_gradient_x(v,i,j,k) - v[i,j,k]*scalar_gradient_y(v,i,j,k) - coriolis[i]*u[i,j,k] - scalar_gradient_y(air_pressure,i,j,k)/air_density[i,j,k] ) - w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) - - # plt.plot(w_temp[i,j,:],heights) - # plt.title('Vertical acceleration') - # plt.show() - # sys.exit() - - - u += u_temp - v += v_temp - w += w_temp - - # approximate friction - u *= 0.95 - v *= 0.95 + before_velocity = time.time() + u,v,w = top_level.velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt) + time_taken = float(round(time.time() - before_velocity,3)) + # print('Velocity: ',str(time_taken),'s') + before_advection = time.time() if advection: # allow for thermal advection in the atmosphere, and heat diffusion in the atmosphere and the ground - # atmosp_addition = dt*(thermal_diffusivity_air*laplacian(temperature_atmosp)) - atmosp_addition = dt*divergence_with_scalar(temperature_atmosp) - temperature_atmosp[advection_boundary:-advection_boundary,:,:] -= atmosp_addition[advection_boundary:-advection_boundary,:,:] - temperature_atmosp[advection_boundary-1,:,:] -= 0.5*atmosp_addition[advection_boundary-1,:,:] - temperature_atmosp[-advection_boundary,:,:] -= 0.5*atmosp_addition[-advection_boundary,:,:] + # atmosp_addition = dt*(thermal_diffusivity_air*laplacian(temperature_atmos)) + + atmosp_addition = dt*top_level.divergence_with_scalar(temperature_atmos,u,v,dx,dy) + temperature_atmos[advection_boundary:-advection_boundary,:,:] -= atmosp_addition[advection_boundary:-advection_boundary,:,:] + temperature_atmos[advection_boundary-1,:,:] -= 0.5*atmosp_addition[advection_boundary-1,:,:] + temperature_atmos[-advection_boundary,:,:] -= 0.5*atmosp_addition[-advection_boundary,:,:] # as density is now variable, allow for mass advection - density_addition = dt*divergence_with_scalar(air_density) - air_density[advection_boundary:-advection_boundary,:,:] -= density_addition[advection_boundary:-advection_boundary,:,:] - air_density[(advection_boundary-1),:,:] -= 0.5*density_addition[advection_boundary-1,:,:] - air_density[-advection_boundary,:,:] -= 0.5*density_addition[-advection_boundary,:,:] + # density_addition = dt*divergence_with_scalar(air_density) + # air_density[advection_boundary:-advection_boundary,:,:] -= density_addition[advection_boundary:-advection_boundary,:,:] + # air_density[(advection_boundary-1),:,:] -= 0.5*density_addition[advection_boundary-1,:,:] + # air_density[-advection_boundary,:,:] -= 0.5*density_addition[-advection_boundary,:,:] - temperature_planet += dt*(thermal_diffusivity_roc*laplacian(temperature_planet)) + # temperature_world += dt*(thermal_diffusivity_roc*laplacian(temperature_world)) + + time_taken = float(round(time.time() - before_advection,3)) + # print('Advection: ',str(time_taken),'s') + before_plot = time.time() if plot: # update plot - test = ax[0].contourf(lon_plot, lat_plot, temperature_planet, cmap='seismic') + test = ax[0].contourf(lon_plot, lat_plot, temperature_world, cmap='seismic') ax[0].streamplot(lon_plot, lat_plot, u[:,:,0], v[:,:,0], color='white',density=1) ax[0].set_title('$\it{Ground} \quad \it{temperature}$') ax[0].set_xlim((lon.min(),lon.max())) @@ -374,7 +225,7 @@ while True: ax[0].axhline(y=0,color='black',alpha=0.3) ax[0].set_xlabel('Longitude') - ax[1].contourf(heights_plot, lat_z_plot, np.transpose(np.mean(temperature_atmosp,axis=1)), cmap='seismic') + ax[1].contourf(heights_plot, lat_z_plot, np.transpose(np.mean(temperature_atmos,axis=1)), cmap='seismic') ax[1].contour(heights_plot,lat_z_plot, np.transpose(np.mean(u,axis=1)), colors='white',levels=20,linewidths=1,alpha=0.8) ax[1].streamplot(heights_plot, lat_z_plot, np.transpose(np.mean(v,axis=1)),np.transpose(np.mean(10*w,axis=1)),color='black',density=0.75) ax[1].set_title('$\it{Atmospheric} \quad \it{temperature}$') @@ -383,30 +234,31 @@ while True: ax[1].set_ylabel('Height (m)') ax[1].set_xlabel('Latitude') - cbar_ax = f.add_axes([0.85, 0.15, 0.05, 0.7]) f.colorbar(test, cax=cbar_ax) cbar_ax.set_title('Temperature (K)') f.suptitle( 'Time ' + str(round(24*t/day,2)) + ' hours' ) if level_plots: - for k in range(nlevels): - index = nlevels-1-k - test = bx[index].contourf(lon_plot, lat_plot, temperature_atmosp[:,:,k], cmap='seismic') - bx[index].streamplot(lon_plot, lat_plot, u[:,:,k], v[:,:,k],density=0.5,color='black') - # g.colorbar(test,cax=bx[nlevels-1-k]) - bx[index].set_title(str(heights[k]/1E3)+' km') - bx[index].set_ylabel('Latitude') - bx[index].set_xlim((lon.min(),lon.max())) - bx[index].set_ylim((lat.min(),lat.max())) + for k, z in zip(range(nplots), level_plots_levels): + z += 1 + bx[k].contourf(lon_plot, lat_plot, temperature_atmos[:,:,z], cmap='seismic') + bx[k].streamplot(lon_plot, lat_plot, u[:,:,z], v[:,:,z], color='white',density=1) + bx[k].set_title(str(round(heights[z]/1E3))+' km') + bx[k].set_ylabel('Latitude') + bx[k].set_xlim((lon.min(),lon.max())) + bx[k].set_ylim((lat.min(),lat.max())) bx[-1].set_xlabel('Longitude') plt.pause(0.01) ax[0].cla() ax[1].cla() + if level_plots: - for k in range(nlevels): + for k in range(nplots): bx[k].cla() + time_taken = float(round(time.time() - before_plot,3)) + # print('Plotting: ',str(time_taken),'s') # advance time by one timestep t += dt @@ -416,6 +268,6 @@ while True: print('Time: ',str(time_taken),'s') if save: - pickle.dump((temperature_atmosp,temperature_planet,u,v,w,t,air_density,albedo), open("save_file.p","wb")) + pickle.dump((temperature_atmos,temperature_world,u,v,w,t,air_density,albedo), open("save_file.p","wb")) # sys.exit() \ No newline at end of file

    x$eLMZ={K~A;>J~6znZF~ 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 P{ZrLtitjHp1jt^^-y>!{^UI3 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 =zUSJwC)3h`|89@oL!(65vwE1n4GygPHj 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 z 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