Your IP : 3.20.206.27
�
��bg#���`�dZddlZddlZddlZddlZddlmZddlmZddl m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLddlmMZMddlmNZNdd lmOZOdd
lmPZPddlmQZQddlmRZRejSZTejSZUiZViZWd
D]ZXdeWeX<�eYejZ�[dej������Z\dej]ej^e\����zdzed��zdzed��zdzed��zdzed��zdzed��zdzed��zdzed��zdzed ��zd!zed"��zd#zed$��zd%zed&��zd'zed(��zd)zed*��zd+zed,��zd-zed.��zd/zeUzd0zd+d+d1�gd2�d3d4gd5�Z_d6d7d8d9d:d;d<d=d=ed>eGe��d=id?�
gZ`eWd@dAdBdCdDdEdFgdG�edHidIdJgdKgdL�ZaidMidNd�dOd�dPd�dQd�dRd�dSdT�dUd�dVd�dWd�dXd�dYdZ�d[d�d\d�d]d�d^d�d_d��d`d=�dad=�dbd=�dcd=�ddd=�ded=�dPdf�dgdh�did=�djd=�dYd=�d[d=�dUdk�dVdl�dWdm�dXdn�id\do�d]dp�d^dq�d_dr�dsd=�dtd=�dud=�dvdw�dxdyg�dzd{�d|d}g�d~d�dQd��dOd��dRd��dNd��d�d=��d=d=d=d=d=d=d=d=d=d=d=d=ed�eGe��d=id��
�d�d�d=eGe3��d��d�d�d=e3d��d�eFeGeHe3e%����eGe����d�eFeGe3��e%eGe����d�e3d=ed=ieGeHe3e%e����d�eFeGe3��e%eGe����d�eFeGe3��e��d�ieFeGeHe3e%����eGe����d�ied�gied�ie>d�ied�ieGeHee����d�ie>d�ied�igeFe;eGe=����d��d�eGeHe3e����d�ed=ieGeHe3e����d�ed�ieGeHe3e����d�ieGeHe3e����d�d�gied�gied�ie>d�ieGeHee����d�ied�ie>d�ied�ige!d��d�eGeHe3e����d�ed=ieGeHe3e����d�ed�ieGeHe3e����d�ieGeHe3e����d�d�gied�gied�ie>d�ieGeHee����d�ied�ie>d�ied�ige=d��d�eGe(��d�id�d�ed�igeFee:��d�ieFeeGe:����d�igeFe eGe!����d��eFeGeHe3e%����eGe����d�eFeGe3��e%eGe����d�ed=ieFeGeHe3e%����eGe����d�eFeGe3��e%eGe����d�ed�ied�eGe��d�ied�iged�ie>d�ied�ieGeHee����d�ie>d�ied�ieFee��d�ieFeeGe����d�iged�ieGe��d�ied�ie2d�ie0d�igeGe(��d�ied�eGeHee(����d�ieFe eGe:��eGe!����d�� d�eGeHe3e%����d�eFeGe3��e%��d�id�d�gd�d�d�d�d�d�d�d�d�ed�ie>d�id�e>d�ied�ied�id�gd�d�d�gdԢeFe:eGe!����d՜
d�d�d�edٜg
Zbe1d�e/d�e.d�e@d�eDd�e?d�eBd�eAd�eEd�eCd�e7d�e"d�ed�i
ZcdMeWid�ed�igd�ecd�d�ed�ied�ieFe6eGe����d�d�d�d�d�eFe6eGe��e+��d�d�ed�ied�d�d�gd�ge8d�gd�d�ed�ied�iged�d�eFeeGe����id�eFeeGe��e*��id�e#d=d��d�eHeAe@��d=d��d�eEd=d��d�eCd=d��d�ed=d��ed�id�e9d��gZdgdMeWi�d�ed�igd�d=ecd���eFe4e*��d�ieFe5e*��d�ie+d�ieFe4e*��d�ed�igieFe5e*��d�ed�igie+d�eFee(��d�eFee*���digid=�d���d�deFe*eGe4�����d���d�d�deFe*e4���d��d�d�e+�d��i�de*�d i��d
e*�di�dVe*�di�dX�d
�d_�d�d]e*�di�dP�d�d�deGe&���dig��de*�di�d�e5�di��de4�di��de*�di�dse5�di�dte4�di��d�d�dS�d�dbeGe&���di��d�d �d!g�d�ei��eGe&���d"ie&�d#i�d$e�d%eGe&���d&igi�d'g�d(�d)�d*ged=�d+��d�e�d,ieHe%e<���deGeHe%e<�����d-ie+d�ieFe6eGe�����d.��ed�ieFe6eGe�����d/���d0e5�die4�die5�d1ie4�d1ie)�d2ie)�d3ie)�d4ieFe6eGe��eGe8��e*���d5� �e�d6�d7d=ieFe4eGe�����d8�d7d=ieGe-���d9ie-�d:ig�d;eGe-���d<ieFe6eGe��e*��d=�d+��ed�ieceFe6eGe��e(��d=�d=��e�d,ieFe6eGe����d=�d>��d�e%�deGe%���d-ie�d?ie+�d@ie�dA���d0e5�die4�die5�d1ie4�d1ie)�d4ie)�dBie)�dCieFee*���dD� �e�dEieFe4eGe�����d8i�d9g�dF�d<geFee*��d=�d+��e+�d0ieFee(���dG��ed�ieFee(��d=�d>��e+�dHid�ge�dI��e�d?ied=�d>��g�dJ��d�dKe�dLieFe+eGe%�����dMige+d�id�eFe+eGe%�����dNige8�dO���dPeGe%���dQig�dR�d<d�dSeGe%���dNige8d=�d+��e5�die4�die5�d1ie4�d1ieFe)eGe%�����dMie)�dTige)�d3ie)�d4eFe)eGe%�����dNieFe8e*���dU��d�eFe8e(��i�e�dLie8d=�d>���dV�dW�dX�dY�dZe9�d[ig�de9�dKie+�d\id�e�d]���d^�d_�d`�da�db�dc�ddeFee,���de���dfeFee,��d=�d>���dg�d_�d`�da�dh�dc�dieFee'���de���dfeFee'��d=�d>��ed�ied�iged=d����d0e5�die4�die5�d1ie4�d1ieFee*���dj���dk�dl�dme(�dnie*�doi�dpe9�dqiee*�drie(�dsie�dti�dugig�dveGeHe+e(�����dwieFe(eGe+�����dxie�dyiged=�dz��d�eFeeGe����i�d�eFeeGe��e*��i�d�e#d=d���d�eAd=d���d�eEd=d���d�eCd=d���d�ed=d���d�e�d/��d�e�d/��ed�id�e9d���Zee�d{id�d|��d}�d~�deFe6eGe����d=�d���d��d��d�e8d=�d���d��d��d�ed=�d���d��d��d��d��gZf�d��Zg�d��d��d��d��d��d��d��d��d��d��d��
Zh�d��ZidS(�aG
Rules for building C/API module with f2py2e.
Here is a skeleton of a new wrapper function (13Dec2001):
wrapper_function(args)
declarations
get_python_arguments, say, `a' and `b'
get_a_from_python
if (successful) {
get_b_from_python
if (successful) {
callfortran
if (successful) {
put_a_to_python
if (successful) {
put_b_to_python
if (successful) {
buildvalue = ...
}
}
}
}
cleanup_b
}
cleanup_a
return buildvalue
Copyright 1999,2000 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@ioc.ee>
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.
NO WARRANTY IS EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
$Date: 2005/08/30 08:58:42 $
Pearu Peterson
�N)�Path�)�__version__)C�
applyrules� debugcapi�
dictappend�errmess�gentitle�getargs2�hascallstatement�hasexternals�hasinitvalue�hasnote�
hasresultnote�isarray�isarrayofstrings�ischaracter�ischaracterarray�ischaracter_or_characterarray� iscomplex�iscomplexarray�iscomplexfunction�iscomplexfunction_warn�isdummyroutine�
isexternal�
isfunction�isfunction_wrap�isint1�isint1array�isintent_aux�
isintent_c�isintent_callback�
isintent_copy�
isintent_hide�isintent_inout�isintent_nothide�isintent_out�isintent_overwrite� islogical�islong_complex�
islong_double�islong_doublefunction�islong_long�islong_longfunction�ismoduleroutine�
isoptional�
isrequired�isscalar�issigned_long_longarray�isstring�
isstringarray�isstringfunction�issubroutine�isattr_value�issubroutine_wrap�isthreadsafe�
isunsigned�isunsigned_char�isunsigned_chararray�isunsigned_long_long�isunsigned_long_longarray�isunsigned_short�isunsigned_shortarray�l_and�l_not�l_or�outmess�replace�
stripcomma�requiresf90wrapper)� capi_maps)�cfuncs)�common_rules)� use_rules)�f90mod_rules)� func2subr)�decl� frompyobj�cleanupfrompyobj�topyarr�method� pyobjfrom�closepyobjfrom�freemem�userincludes� includes0�includes�typedefs�typedefs_generated� cppmacrosrJ� callbacks�latexdoc�restdoc�routine_defs�externroutines�initf2pywraphooks�commonhooks�initcommonhooks�f90modhooks�initf90modhooks�
�SOURCE_DATE_EPOCHz�/* File: #modulename#module.c
* This file is auto-generated with f2py (version:#f2py_version#).
* f2py is a Fortran to Python Interface Generator (FPIG), Second Edition,
* written by Pearu Peterson <pearu@cens.ioc.ee>.
* Generation date: a
* Do not edit this file directly unless you know what you are doing!!!
*/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
/* Unconditionally included */
#include <Python.h>
#include <numpy/npy_os.h>
zSee f2py2e/cfuncs.py: includesz
#includes#
#includes0#
z,See f2py2e/rules.py: mod_rules['modulebody']zM
static PyObject *#modulename#_error;
static PyObject *#modulename#_module;
zSee f2py2e/cfuncs.py: typedefsz
#typedefs#
z(See f2py2e/cfuncs.py: typedefs_generatedz
#typedefs_generated#
zSee f2py2e/cfuncs.py: cppmacrosz
#cppmacros#
zSee f2py2e/cfuncs.py: cfuncsz
#cfuncs#
z"See f2py2e/cfuncs.py: userincludesz
#userincludes#
z"See f2py2e/capi_rules.py: usercodez9
#usercode#
/* See f2py2e/rules.py */
#externroutines#
z#See f2py2e/capi_rules.py: usercode1z
#usercode1#
z%See f2py2e/cb_rules.py: buildcallbackz
#callbacks#
zSee f2py2e/rules.py: buildapiz
#body#
z&See f2py2e/f90mod_rules.py: buildhooksz
#f90modhooks#
z/See f2py2e/rules.py: module_rules['modulebody']�
z&See f2py2e/common_rules.py: buildhooksz
#commonhooks#
zSee f2py2e/rules.pya,
static FortranDataDef f2py_routine_defs[] = {
#routine_defs#
{NULL}
};
static PyMethodDef f2py_module_methods[] = {
#pymethoddef#
{NULL,NULL}
};
static struct PyModuleDef moduledef = {
PyModuleDef_HEAD_INIT,
"#modulename#",
NULL,
-1,
f2py_module_methods,
NULL,
NULL,
NULL,
NULL
};
PyMODINIT_FUNC PyInit_#modulename#(void) {
int i;
PyObject *m,*d, *s, *tmp;
m = #modulename#_module = PyModule_Create(&moduledef);
Py_SET_TYPE(&PyFortran_Type, &PyType_Type);
import_array();
if (PyErr_Occurred())
{PyErr_SetString(PyExc_ImportError, "can't initialize module #modulename# (failed to import numpy)"); return m;}
d = PyModule_GetDict(m);
s = PyUnicode_FromString("#f2py_version#");
PyDict_SetItemString(d, "__version__", s);
Py_DECREF(s);
s = PyUnicode_FromString(
"This module '#modulename#' is auto-generated with f2py (version:#f2py_version#).\nFunctions:\n"
#docs#".");
PyDict_SetItemString(d, "__doc__", s);
Py_DECREF(s);
s = PyUnicode_FromString("az");
PyDict_SetItemString(d, "__f2py_numpy_version__", s);
Py_DECREF(s);
#modulename#_error = PyErr_NewException ("#modulename#.error", NULL, NULL);
/*
* Store the error object inside the dict, so that it could get deallocated.
* (in practice, this is a module, so it likely will not and cannot.)
*/
PyDict_SetItemString(d, "_#modulename#_error", #modulename#_error);
Py_DECREF(#modulename#_error);
for(i=0;f2py_routine_defs[i].name!=NULL;i++) {
tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]);
PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp);
Py_DECREF(tmp);
}
#initf2pywraphooks#
#initf90modhooks#
#initcommonhooks#
#interface_usercode#
#ifdef F2PY_REPORT_ATEXIT
if (! PyErr_Occurred())
on_exit(f2py_report_on_exit,(void*)"#modulename#");
#endif
return m;
}
#ifdef __cplusplus
}
#endif
)r^r_)z*\section{Module \texttt{#texmodulename#}}
z
#modnote#
z
#latexdoc#zdModule #modulename#
================================================================================z
#restdoc#)�
modulebody�
separatorsforr^r_z/*eof body*/z/*eof method*/z/*eof externroutines*/z/*eof routine_defs*/z/*eof initf90modhooks*/z/*eof initf2pywraphooks*/z/*eof initcommonhooks*/�z#note#)
�bodyrSrar`rfrbrdr^r_�modnotea=
#begintitle#
static char doc_#apiname#[] = "\
#docreturn##name#(#docsignatureshort#)\n\nWrapper for ``#name#``.\
\n#docstrsigns#";
/* #declfortranroutine# */
static PyObject *#apiname#(const PyObject *capi_self,
PyObject *capi_args,
PyObject *capi_keywds,
#functype# (*f2py_func)(#callprotoargument#)) {
PyObject * volatile capi_buildvalue = NULL;
volatile int f2py_success = 1;
#decl#
static char *capi_kwlist[] = {#kwlist##kwlistopt##kwlistxa#NULL};
#usercode#
#routdebugenter#
#ifdef F2PY_REPORT_ATEXIT
f2py_start_clock();
#endif
if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
"#argformat#|#keyformat##xaformat#:#pyname#",\
capi_kwlist#args_capi##keys_capi##keys_xa#))
return NULL;
#frompyobj#
/*end of frompyobj*/
#ifdef F2PY_REPORT_ATEXIT
f2py_start_call_clock();
#endif
#callfortranroutine#
if (PyErr_Occurred())
f2py_success = 0;
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_call_clock();
#endif
/*end of callfortranroutine*/
if (f2py_success) {
#pyobjfrom#
/*end of pyobjfrom*/
CFUNCSMESS("Building return value.\n");
capi_buildvalue = Py_BuildValue("#returnformat#"#return#);
/*closepyobjfrom*/
#closepyobjfrom#
} /*if (f2py_success) after callfortranroutine*/
/*cleanupfrompyobj*/
#cleanupfrompyobj#
if (capi_buildvalue == NULL) {
#routdebugfailure#
} else {
#routdebugleave#
}
CFUNCSMESS("Freeing memory.\n");
#freemem#
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_clock();
#endif
return capi_buildvalue;
}
#endtitle#
z
#routine_def#z#initf2pywraphook#z#declfortranroutine#z!#docreturn##name#(#docsignature#)z&#docreturn##name#(#docsignatureshort#)z*" #docreturn##name#(#docsignature#)\n"
)z
arrayobject.h�
CFUNCSMESS�MINMAXz#define DEBUGCFUNCSz1\subsection{Wrapper function \texttt{#texname#}}
zk
\noindent{{}\verb@#docreturn##name#@{}}\texttt{(#latexdocsignatureshort#)}
#routnote#
#latexdocstrsigns#
zlWrapped function ``#name#``
--------------------------------------------------------------------------------)rkrmr`rbra�doc�docshort�docs�needr\r^r_rk�callfortranroutine�routdebugenterrO�routdebugleave�routdebugfailure� setjmpbufz || � docstrreq� docstropt� docstrout� docstrcbs�docstrsignsz\n"
"�latexdocstrsigns�latexdocstrreq�latexdocstropt�latexdocstrout�latexdocstrcbs�kwlist� kwlistopt�callfortran�callfortranappend�docsign�
docsignoptz/*decl*/rVz/*freemem*/�docsignshort�docsignoptshortz\nParameters\n----------z$\nOther Parameters\n----------------z\nReturns\n-------z'\nNotes\n-----\nCall-back functions::\nz\noindent Required arguments:z\noindent Optional arguments:z\noindent Return objects:z\noindent Call-back functions:� args_capi� keys_capi�functyperPz
/*frompyobj*/rQz/*end of cleanupfrompyobj*/rTz
/*pyobjfrom*/rUz/*end of closepyobjfrom*/rRz/*topyarr*/z/*routdebugleave*/z/*routdebugenter*/z/*routdebugfailure*/z/*callfortranroutine*/� argformatz
--- #note#)
� keyformat�need_cfuncs� docreturn�return�returnformat�rformat�kwlistxa�keys_xa�xaformat� docsignxa�docsignxashort�initf2pywraphook�routnotezf2py_rout_#modulename#_#name#z#modulename#.#name#)�apiname�pynamerO�_checkz-f2py_rout_#modulename#_#f90modulename#_#name#z##modulename#.#f90modulename#.#name#�voidzGextern void #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z/extern void #fortranname#(#callprotoargument#);zw {"#name#",-1,{{-1}},0,0,(char *) #F_FUNC#(#fortranname#,#FORTRANNAME#), (f2py_init_func)#apiname#,doc_#apiname#},z] {"#name#",-1,{{-1}},0,0,(char *)#fortranname#, (f2py_init_func)#apiname#,doc_#apiname#},zL {"#name#",-1,{{-1}},0,0,NULL, (f2py_init_func)#apiname#,doc_#apiname#},�F_FUNCzU fprintf(stderr,"debug-capi:Fortran subroutine `#fortranname#(#callfortran#)'\n");zI if (#setjmpbuf#) {
f2py_success = 0;
} else {z" Py_BEGIN_ALLOW_THREADSzQ #callstatement#;
/*(*f2py_func)(#callfortran#);*/z, (*f2py_func)(#callfortran#);z Py_END_ALLOW_THREADSz })r��declfortranroutine�routine_defrtrur�zFextern void #F_WRAPPEDFUNC#(#name_lower#,#NAME#)(#callprotoargument#);zv {"#name#",-1,{{-1}},0,0,(char *) #F_WRAPPEDFUNC#(#name_lower#,#NAME#), (f2py_init_func)#apiname#,doc_#apiname#},a�
{
extern #ctype# #F_FUNC#(#name_lower#,#NAME#)(void);
PyObject* o = PyDict_GetItemString(d,"#name#");
tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
PyObject_SetAttrString(o,"_cpointer", tmp);
Py_DECREF(tmp);
s = PyUnicode_FromString("#name#");
PyObject_SetAttrString(o,"__name__", s);
Py_DECREF(s);
}
�
F_WRAPPEDFUNCz\ fprintf(stderr,"debug-capi:Fortran subroutine `f2pywrap#name_lower#(#callfortran#)'\n");z= if (#setjmpbuf#) {
f2py_success = 0;
} else {z Py_BEGIN_ALLOW_THREADSz (*f2py_func)(#callfortran#);z9 #callstatement#;
/*(*f2py_func)(#callfortran#);*/z Py_END_ALLOW_THREADSz })r�r�r�r�rtrur�a�
{
extern void #F_FUNC#(#name_lower#,#NAME#)(void);
PyObject* o = PyDict_GetItemString(d,"#name#");
tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
PyObject_SetAttrString(o,"_cpointer", tmp);
Py_DECREF(tmp);
s = PyUnicode_FromString("#name#");
PyObject_SetAttrString(o,"__name__", s);
Py_DECREF(s);
}
�#ctype#z#rname#,z#pydocsignout#z"\item[]{{}\verb@#pydocsignout#@{}}z--- #resultnote#z�#ifdef USESCOMPAQFORTRAN
fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callcompaqfortran#)\n");
#else
fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
#endif
zZ fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
)r�r�r|r�rur�zJextern #ctype# #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z2extern #ctype# #fortranname#(#callprotoargument#);zJ {"#name#",-1,{{-1}},0,0,NULL,(f2py_init_func)#apiname#,doc_#apiname#},z& #ctype# #name#_return_value={0,0};z" #ctype# #name#_return_value=0;z1 PyObject *#name#_return_value_capi = Py_None;zP #callstatement#;
/* #name#_return_value = (*f2py_func)(#callfortran#);*/
z6 #name#_return_value = (*f2py_func)(#callfortran#);zY fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value.r,#name#_return_value.i);zA fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value);zH #name#_return_value_capi = pyobj_from_#ctype#1(#name#_return_value);zpyobj_from_#ctype#1� long_long�long_doublez #rformat#z,#name#_return_value_capiz,#name#_return_value) r�r�rOrurTrtr�r�r�zs {"#name#",-1,{{-1}},0,0,(char *)#F_FUNC#(#fortranname#,#FORTRANNAME#),(f2py_init_func)#apiname#,doc_#apiname#},z[ {"#name#",-1,{{-1}},0,0,(char *)#fortranname#,(f2py_init_func)#apiname#,doc_#apiname#},z' #ctype# #name#_return_value = NULL;z$ int #name#_return_value_len = 0;z,#name#_return_value,#name#_return_value_len,z( #name#_return_value_len = #rlength#;zS if ((#name#_return_value = (string)malloc(#name#_return_value_len+1) == NULL) {z< PyErr_SetString(PyExc_MemoryError, "out of memory");z f2py_success = 0;z } else {z> (#name#_return_value)[#name#_return_value_len] = '\0';z if (f2py_success) {z Py_BEGIN_ALLOW_THREADSzv#ifdef USESCOMPAQFORTRAN
(*f2py_func)(#callcompaqfortran#);
#else
(*f2py_func)(#callfortran#);
#endif
z Py_END_ALLOW_THREADSz] fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value_len,#name#_return_value);z2 } /* if (f2py_success) after (string)malloc */z$ STRINGFREE(#name#_return_value);)r�r��
STRINGFREE)
r�r�rOr�rur�r�rVrtr�z] fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#(#docsignature#)\n");zZ fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: successful.\n");zW fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: failure.\n");)rvrwrxr��complex_long_double�
unsigned_char�unsigned_short�unsigned�unsigned_long_long�signed_char� characterz1 /* Processing auxiliary variable #varname# */z' fprintf(stderr,"#vardebuginfo#\n");z, /* End of cleaning variable #varname# */)rPrQrtz #ctype# #varname# = 0;zmath.hz #varname# = #init#;)rOrtrPr�z
,#varname#z
#outvarname#,z#varrformat#)r�r|r�r�r�z #ctype# #varname#;z3 #varname#.r = #init.r#, #varname#.i = #init.i#;)rOrPr�� #ctype# #varname# = NULL;� int slen(#varname#);zlen..)rOrtr�)� #ctype# *#varname# = NULL;�4 npy_intp #varname#_Dims[#rank#] = {#rank*[-1]#};�& const int #varname#_Rank = #rank#;�forcombror�)rtr��_dependzflen(#varname#),�string)r�rtr�z' /* Processing variable #varname# */)rPrQr�rtz#pydocsign#z\item[]{{}\verb@#pydocsign#@{}}z--- See above.)r{rzr|r�r�r��dependz"#varname#",z
#varname#,)r�r�r�z#varname#=#showinit#,)r�r�r�r�)r�r�r�r�z#varname#_extra_args=(),r�z#varname#_extra_args,z=#varname#_extra_args : input tuple, optional\n Default: ()z
#cbdocstr#z\item[] #cblatexdocstr#z}\item[]{{}\verb@#varname#_extra_args := () input tuple@{}} --- Extra arguments for call-back function {{}\verb@#varname#@{}}.z3 #cbname#_t #varname#_cb = { Py_None, NULL, 0 };z1 #cbname#_t *#varname#_cb_ptr = &#varname#_cb;z, PyTupleObject *#varname#_xa_capi = NULL;z$ #cbname#_typedef #varname#_cptr;r�z"#varname#_extra_args",�Or�r�zO!z,&#varname#_cb.capir�z!,&PyTuple_Type,&#varname#_xa_capiz(setjmp(#varname#_cb.jmpbuf))z#varname#_cptr,rtz#cbname#zsetjmp.hz�if(F2PyCapsule_Check(#varname#_cb.capi)) {
#varname#_cptr = F2PyCapsule_AsVoidPtr(#varname#_cb.capi);
} else {
#varname#_cptr = #cbname#;
}
a�if (#varname#_cb.capi==Py_None) {
#varname#_cb.capi = PyObject_GetAttrString(#modulename#_module,"#varname#");
if (#varname#_cb.capi) {
if (#varname#_xa_capi==NULL) {
if (PyObject_HasAttrString(#modulename#_module,"#varname#_extra_args")) {
PyObject* capi_tmp = PyObject_GetAttrString(#modulename#_module,"#varname#_extra_args");
if (capi_tmp) {
#varname#_xa_capi = (PyTupleObject *)PySequence_Tuple(capi_tmp);
Py_DECREF(capi_tmp);
}
else {
#varname#_xa_capi = (PyTupleObject *)Py_BuildValue("()");
}
if (#varname#_xa_capi==NULL) {
PyErr_SetString(#modulename#_error,"Failed to convert #modulename#.#varname#_extra_args to tuple.\n");
return NULL;
}
}
}
}
if (#varname#_cb.capi==NULL) {
PyErr_SetString(#modulename#_error,"Callback #varname# not defined (as an argument or module #modulename# attribute).\n");
return NULL;
}
}
z� if (create_cb_arglist(#varname#_cb.capi,#varname#_xa_capi,#maxnofargs#,#nofoptargs#,&#varname#_cb.nofargs,&#varname#_cb.args_capi,"failed in processing argument list for call-back #varname#.")) {
z� fprintf(stderr,"debug-capi:Assuming %d arguments; at most #maxnofargs#(-#nofoptargs#) is expected.\n",#varname#_cb.nofargs);
CFUNCSMESSPY("for #varname#=",#varname#_cb.capi);zK fprintf(stderr,"#vardebugshowvalue# (call-back in C).\n",#cbname#);z� CFUNCSMESS("Saving callback variables for `#varname#`.\n");
#varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);z� CFUNCSMESS("Restoring callback variables for `#varname#`.\n");
#varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);
Py_DECREF(#varname#_cb.args_capi);
}�SWAP�create_cb_arglist)rPrQrtr�r�z6 fprintf(stderr,"#vardebugshowvalue#\n",#varname#);z&#varname#,)rOrTr�r�r�)rtr��' PyObject *#varname#_capi = Py_None;z,&#varname#_capiz] f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
if (f2py_success) {z2 } /*if (f2py_success) of #varname# pyobjfrom*/ztry_pyarr_from_#ctype#) rOr�r�r�r�rTrUrtr�z; if (#varname#_capi == Py_None) #varname# = #init#; elser�z" if (#varname#_capi != Py_None)z� f2py_success = #ctype#_from_pyobj(&#varname#,#varname#_capi,"#pyname#() #nth# (#varname#) can't be converted to #ctype#");
if (f2py_success) {zo #varname# = (#ctype#)PyObject_IsTrue(#varname#_capi);
f2py_success = 1;
if (f2py_success) {z( } /*if (f2py_success) of #varname#*/z#ctype#_from_pyobj)rPrtr�r�)rPr�r�zD fprintf(stderr,"#vardebugshowvalue#\n",#varname#.r,#varname#.i);z,#varname#_capi)rOr�rTr�r�ze f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
if (f2py_success) {z6 } /*if (f2py_success) of #varname# pyobjfrom*/) rOr�r�r�r�rtrTrUr�zW if (#varname#_capi==Py_None) {#varname#.r = #init.r#, #varname#.i = #init.i#;} elsez3 } /*if (f2py_success) of #varname# frompyobj*/)rOr�z4 #varname#_capi = pyobj_from_#ctype#1(#varname#);)rTrtr�)r�r�r�zslen(#varname#),zF fprintf(stderr,"#vardebugshowvalue#\n",slen(#varname#),#varname#);z: STRINGPADN(#varname#, slen(#varname#), ' ', '\0');�
STRINGPADN)rOr�r�rTr�rtr�z� slen(#varname#) = #elsize#;
f2py_success = #ctype#_from_pyobj(&#varname#,&slen(#varname#),#init#,#varname#_capi,"#ctype#_from_pyobj failed in converting #nth#`#varname#' of #pyname# to C #ctype#");
if (f2py_success) {z: STRINGPADN(#varname#, slen(#varname#), '\0', ' ');zH STRINGFREE(#varname#);
} /*if (f2py_success) of #varname#*/r�z� f2py_success = try_pyarr_from_#ctype#(#varname#_capi, #varname#,
slen(#varname#));
if (f2py_success) {)r�r�r�r�rTrUrtr�r�r�r�z2 PyArrayObject *capi_#varname#_as_array = NULL;z" int capi_#varname#_intent = 0;z int slen(#varname#) = 0;z,capi_#varname#_as_array)rOr�r�r�rtr�z% int capi_overwrite_#varname# = 1;z"overwrite_#varname#",�iz,&capi_overwrite_#varname#zoverwrite_#varname#=1,zoverwrite_#varname#,z9overwrite_#varname# : input int, optional\n Default: 1)rOr�r�r�r�r�r{r�zK capi_#varname#_intent |= (capi_overwrite_#varname#?0:F2PY_INTENT_COPY);z% int capi_overwrite_#varname# = 0;zoverwrite_#varname#=0,z9overwrite_#varname# : input int, optional\n Default: 0)rOr�r�r�r�r�z #setdims#;z& capi_#varname#_intent |= #intent#;zk const char * capi_errmess = "#modulename#.#pyname#: failed to create array from the #nth# `#varname#`";z� capi_#varname#_as_array = ndarray_from_pyobj( #atype#,#elsize#,#varname#_Dims,#varname#_Rank, capi_#varname#_intent,Py_None,capi_errmess);z� capi_#varname#_as_array = ndarray_from_pyobj( #atype#,#elsize#,#varname#_Dims,#varname#_Rank, capi_#varname#_intent,#varname#_capi,capi_errmess);a9 if (capi_#varname#_as_array == NULL) {
PyObject* capi_err = PyErr_Occurred();
if (capi_err == NULL) {
capi_err = #modulename#_error;
PyErr_SetString(capi_err, capi_errmess);
}
} else {
#varname# = (#ctype# *)(PyArray_DATA(capi_#varname#_as_array));
z/ slen(#varname#) = f2py_itemsize(#varname#);z$ if (#varname#_capi == Py_None) {z {z #ctype# capi_c;a� int *_i,capi_i=0;
CFUNCSMESS("#name#: Initializing #varname#=#init#\n");
if (initforcomb(PyArray_DIMS(capi_#varname#_as_array),
PyArray_NDIM(capi_#varname#_as_array),1)) {
while ((_i = nextforcomb()))
#varname#[capi_i++] = #init#; /* fortran way */
} else {
PyObject *exc, *val, *tb;
PyErr_Fetch(&exc, &val, &tb);
PyErr_SetString(exc ? exc : #modulename#_error,
"Initialization of #nth# #varname# failed (initforcomb).");
npy_PyErr_ChainExceptionsCause(exc, val, tb);
f2py_success = 0;
}
}
if (f2py_success) {zG } /* if (capi_#varname#_as_array == NULL) ... else of #varname# */zl if((PyObject *)capi_#varname#_as_array!=#varname#_capi) {
Py_XDECREF(capi_#varname#_as_array); }z, Py_XDECREF(capi_#varname#_as_array);z. } /*if (f2py_success) of #varname# init*/)rPrQr�r�z6 fprintf(stderr,"debug-capi:Checking `#check#'\n");)rPrtzQ CHECKSCALAR(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z } /*CHECKSCALAR(#check#)*/�CHECKSCALAR)rPrQrtr��_breakzQ CHECKSTRING(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z } /*CHECKSTRING(#check#)*/�CHECKSTRING�
CHECKARRAYz5 CHECKARRAY(#check#,"#check#","#nth# #varname#") {z } /*CHECKARRAY(#check#)*/)rtrPrQr�r��CHECKGENERICz7 CHECKGENERIC(#check#,"#check#","#nth# #varname#") {z } /*CHECKGENERIC(#check#)*/)rtrPrQc�:�td|dz��i}tdd�}tj|��}t dt
i|��}g}g}|dD�]I}d} |dD]7}
|
ddvrt
d ���|
dD]}|d|kr|} n��8| std
|ztj ����f| g}d| vrV| d�
��D];\}
}tj| ��}|d=|
|d<||d
<|�
|���<|D�]�} t| ��}td�rtd}|d}td��t!|�d|d�������|rutd|�d���t!|�d|�d������td|�d���t!|�d|�d������n:td|�d���t!|�d|�d������t%| ��\}}|r-|r|�
|��n|�
|��t'||��}t ||��}�����Kt)j|��\}}|r|�
|��t'||��}t ||��}t-j|��\}}|r|�
|��t'||��}t ||��}|D]9}t/j||d|d��}t ||��}�:t3j��}|dxxd�tjD��z
cc<i}|���D�]�}g||<||D�]�}
d}|
t2jvrt2j|
}�nL|
t2jvrt2j|
}�n*|
t2jvrt2j|
}�n|
t2j vrt2j |
}n�|
t2j!vrt2j!|
}n�|
t2j"vrt2j"|
}n�|
t2jvrt2j|
}n�|
t2j#vrt2j#|
}nc|
t2j$vrt2j$|
}nB|
t2j%vrt2j%|
}n!t
dtM|
��z����s||�
|��������|�
|��|D]<}d|vr|d|��sd|vr!t'|||��}t ||��}�=t'tN|��}tPj)�*td|d��}||d<tW|d ��5}|�,|d!�-d"d#����ddd��n#1swxYwYtd$|d�d%|�d&���td'r�tPj)�*td|dd(z��}tW|d ��5}|�,d)��|�,d*�*|d+����ddd��n#1swxYwYtd,td�d|d�d-���td.�rtPj)�*td|dd/z��}||d0<tW|d ��5}|�,d1t
z��d2tvrC|�,d3��|�,d*�*|d4����d2tvr|�,d5��ddd��n#1swxYwYtd6td�d|d�d7���|�r�tPj)�*td|d8��}||d9<tW|d ��5}|�,d:��|�,d;t
z��|�,d<��g} d=�*|��d*z�.d*��D]�}!d>|!�/d?��cxkrd@krnn| �
|!d*z���>|!ru|!d>dAkrita|!��d@kr=| �
|!dd@�dBz��|!d@d�}!ta|!��d@k�=| �
|!d*z����| �
|!d*z����d�*| ���-dCd*��} |�,| ��ddd��n#1swxYwYtdD|z��|�r0tPj)�*tddE|dz��}||d9<tW|d ��5}|�,dF��|�,dGt
z��|�,dH��g} d=�*|��d*z�.d*��D�] }!d>|!�/d?��cxkrdIkrnn| �
|!d*z���?ta|!��dIkr�|!d>dAkr�| �
|!ddI�dJz��|!dId�}!ta|!��d@kr=| �
|!dd@�dJz��|!d@d�}!ta|!��d@k�=| �
|!d*z����| �
|!d*z����d�*| ���-dCd*��} |�,| ��ddd��n#1swxYwYtdK|z��|S)Lz
Return
z Building module "%s"...
�nameN�f2py_version�
interfacedrm�block)� interfacezabstract interfacez1buildmodule: Expected interface block. Skipping.
zKbuildmodule: Could not find the body of interfaced routine "%s". Skipping.
)�file�entry�args�emptygen� buildpath�
modulenamez( Generating possibly empty wrappers"
�/�coutputz Maybe empty "z-f2pywrappers2.f90"
z-f2pywrappers2.f90z-f2pywrappers.f"
z-f2pywrappers.f�userZc�H�g|]}|t���v�|�� S�)�typedef_need_dict�values)�.0�cvars �c/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/numpy/f2py/rules.py�
<listcomp>zbuildmodule.<locals>.<listcomp>/s<��A�A�A�4�!�%6�%=�%=�%?�%?�?�?��?�?�?�rlzbuildmodule: unknown need %s.
r��csrc�wrj� z z Wrote C/API module "z" to file "z"
� dorestdoczmodule.restz.. -*- rest -*-
rgr_z) ReST Documentation is saved to file "z
module.rest"
�
dolatexdocz
module.tex�ltxz6%% This file is auto-generated with f2py (version:%s)
�
shortlatexzO\documentclass{article}
\usepackage{a4wide}
\begin{document}
\tableofcontents
r^z\end{document}z$ Documentation is saved to file "zmodule.tex"
�f2py_wrapper_output�fsrczC -*- fortran -*-
z8C This file is autogenerated with f2py (version:%s)
z<C It contains Fortran 77 wrappers to fortran functions.
rir�!�B� z
&z
&
z* Fortran 77 wrappers are saved to "%s"
z%s-f2pywrappers2.f90z! -*- f90 -*-
z8! This file is autogenerated with f2py (version:%s)
z<! It contains Fortran 90 wrappers to fortran functions.
�Hz&
&z* Fortran 90 wrappers are saved to "%s"
)1rE�defmod_rulesrI�modsign2maprr�r �print�sys�stderr�items�copy�deepcopy�appendrH�optionsr�touch�buildapirrK�
buildhooksrMrL�buildusevarsrJ� get_needs�
f2cmap_mapped�keysrXrYrWrZr[r\r]rerc�repr�module_rules�os�path�join�open�writerF�split�find�len)"�m�um�ret� mod_rules�vrd�rd�funcwrappers�
funcwrappers2�n�nb�bi�b�nb_list�k�a�nb1�isf90�b_path�m_name�api�wrap�ar�cr�mr�u�needs�code�c�r�fn�f�wn�lines�ls" r��buildmoduler&�sY���+�q��y�9�:�:�:�
�C��Q�Q�Q��I�
�
��
"�
"�C� �^�\�2�C� 8� 8�B��L��M�
�|�_�2$�2$��
���F�)� � �B��'�{�"E�E�E��L�M�M�M����Z�
�
���V�9��>�>��B��E�"��� ��^�bc�d�kn�ku�
w�
w�
w�
w���$���b�=�=��7��)�)�+�+�
$�
$���1��m�B�'�'����L���F����F�����s�#�#�#�#�� $� $�B�'�r�*�*�E��z�"�
F� ��-���\�*���C�D�D�D���1�1��Y��1�1�2�2�8�8�:�:�:�� F��M��M�M�M�N�N�N��F�?�?�V�?�?�?�@�@�F�F�H�H�H��J��J�J�J�K�K�K��F�<�<�V�<�<�<�=�=�C�C�E�E�E�E��J��J�J�J�K�K�K��F�<�<�V�<�<�<�=�=�C�C�E�E�E� ����I�C���
.��.�!�(�(��.�.�.�.� �'�'��-�-�-��C��%�%�B��B��#�#�B�B�7 $�<�&�q�)�)�H�B���"����D�!�!�!� �B�� � �B� �B�� � �B��&�q�)�)�H�B���#����T�"�"�"� �B�� � �B� �B�� � �B�
� � ��
�
#�A�q��x��&� �':�
;�
;��
��B�
�
�������E� �*����A�A�9�+B�A�A�A�A����
�D�
�Z�Z�\�\������Q���q�� � �A��A��F�$�$�$��$�Q�'����f�o�%�%��O�A�&����f�)�)�)��'��*����f�o�%�%��O�A�&����f�/�/�/��-�a�0����f�&�&�&��$�Q�'����f�m�#�#��M�!�$����f�&�&�&��$�Q�'����f�(�(�(��&�q�)����f�(�(�(��&�q�)����9�T�!�W�W�E�F�F�F����G�N�N�1�����3 �4���T����
�$�$����M�M�k�a��k�!�n�n�M�(�!�2C�2C��A�s�A�&�&�B��B��#�#�B�� �L�"� %� %�B� ����g�k�*�C� �N� ;� ;�B��C��K�
�b�#���9�!� ����<� �(�(��w�7�7�8�8�8�9�9�9�9�9�9�9�9�9�9�9����9�9�9�9��G�A�f�I�I�I�r�r�r�J�K�K�K��{��;�
�W�\�\��K� �#�l�"3�m�"C�E�E��
�"�c�]�]� .�a�
�G�G�'�(�(�(�
�G�G�D�I�I�b��m�,�,�-�-�-� .� .� .� .� .� .� .� .� .� .� .���� .� .� .� .� ����%�%�%�s�<�'8�'8�'8�:� ;� ;� ;��|��;�
�W�\�\��K� �#�l�"3�l�"B�D�D����E�
�
�"�c�]�]� +�a�
�G�G�I�\�Z�
\�
\�
\��7�*�*����n�p�p�p����� � �"�Z�.�1�1�2�2�2��7�*�*����)�*�*�*� +� +� +� +� +� +� +� +� +� +� +���� +� +� +� +� ����%�%�%�s�<�'8�'8�'8�:� ;� ;� ;��F�
�W�\�\�'�+�.��4I�0J�
K�
K����F��
�"�c�]�]� �a�
�G�G�-�.�.�.�
�G�G�K�|�\�
^�
^�
^�
�G�G�O�
Q�
Q�
Q��E��k�k�,�/�/�$�6�=�=�d�C�C�
+�
+������s���(�(�(�(�b�(�(�(�(�(��L�L��T��*�*�*�*��+�1�Q�4�3�;�;��a�&�&�B�,�,����Q�s��s�V�j�%8�9�9�9��b�c�c�F���a�&�&�B�,�,��L�L��T��*�*�*�*��L�L��T��*�*�*�*��G�G�E�N�N�*�*�<��>�>�E�
�G�G�E�N�N�N�' � � � � � � � � � � ���� � � � �( �=��D�E�E�E��F�
�W�\�\��K� �"8�C��<M�"N�P�P����F��
�"�c�]�]� �a�
�G�G�)�*�*�*�
�G�G�K�|�\�
^�
^�
^�
�G�G�O�
Q�
Q�
Q��E��k�k�-�0�0�4�7�>�>�t�D�D�
+�
+������s���(�(�(�(�b�(�(�(�(�(��L�L��T��*�*�*�*���V�V�b�[�[�Q�q�T�S�[�[��L�L��3�B�3��+�!5�6�6�6��"�#�#��A��a�&�&�2�+�+����Q�s��s�V�k�%9�:�:�:��b�c�c�F���a�&�&�2�+�+��L�L��T��*�*�*�*��L�L��T��*�*�*�*��G�G�E�N�N�*�*�<��>�>�E�
�G�G�E�N�N�N�+ � � � � � � � � � � ���� � � � �, �=��D�E�E�E��Js^�"0Y�Y"�%Y"�A\&�&\*�-\*�/Ba�a�
a�>Fi�i�i�4F>q>�>r�r�st�ndr �th)
r�������� rc ��tj|��\}}t|��\}}|t_|d}t|��r#t
d|d�d|d�d���nt
d|dz��tj|��}ti|��}tD]<}d|vr|d|��sd|vr!t|||��}t||��}�=d \} }
i}|D�]$}tj|||��}t||��rt}
n�t}
t||��smt!||��s,| d
z} t#| ��t$| dzzdz|d
<n1|
d
z}
t#|
��t$|
dzzdz|d
<nd|d
<|||<|
D]S}d|vr�d|vr|d||��sd|vr-t||||��}t||��}d|vrn�T��&|D]�}t||��rt}
nt}
||}|
D]S}d|vr�d|vr|d||��sd|vr-t||||��}t||��}d|vrn�Td||vrB||dD]3}||d<tt&|||��}t||��}�4��t)|dt*��r|d���t)|dt*��r|d���t/t1d|d|d|dd�����|d<t/t1d|d|dd�����}|dkr)t/t1d d|di����|d!<nt1d"|d|d#���|d!<|d!�d$d%��|d&<|d&�d'd(��|d&<t/t1d)|d*|d+d,�����}t3|d+��d
kr0t/t1d-|d*|d+d,�����|d.<n||d.<||d*<t)|d/t*��r+t/t1d0d/|d/i����d1z|d/<g|d2<g|d3<d4D]�}||vr/t)||t*��r|d2||z|d2<d5|z}||vrPt)||t*��r5|d3||d6d
�zd7gz||d
d�zd8gz|d3<��tt4|��}t|��rt
d9|d:z��nt
d;|d:z��||fS)<N�varsz+ Constructing wrapper function "r��.r�z"...
z. Constructing wrapper function "%s"...
r�)rrr�
z argument�nthz keyword�hiddenr�r��checkrQrUz #docsign##docsignopt##docsignxa#r�r�r�)r�r�r��docsignaturez#docsignopt##docsignxa#r�r�)r�r�rlz #docsign#�docsignatureshortz#docsign#[#docsignopt#])r�r��_z\_�latexdocsignatureshort�,z, z #callfortran##callfortranappend#r�r�)r�r�z##callfortran# 0,#callfortranappend#�callcompaqfortranr�z#docreturn#z = r~r)rzr{r|r}�latexrz\begin{description}z\end{description}z %s
rrz
%s
)rN�assubrrrI�depargsr/rE�routsign2mapr�
rout_rulesr�sign2mapr � aux_rules� arg_rulesr$r0r��stnd�check_rules�
isinstance�list�reverserGrFr�
routine_rules)�routrr�rA�varrr r rr6�nthk�savevrdr�_rulesr�optargs�cfsrs r�r�r��s2���!�$�'�'�J�D�$��T�N�N�M�D�'��I��
�v�,�C��t���T����l�#�#�#�T�&�\�\�\�3� 4� 4� 4� 4� �A�T�&�\�R�S�S�S�
�
��
&�
&�C� �B�� � �B�
�$�$����M�M�k�a��k�$�/�/�M�X�Q�5F�5F��A�s�D�)�)�B��B��#�#�B���I�C���G�
����� ��C��F�+�+����A���� &��F�F��F� ��Q��(�(�
&�!�#�a�&�)�)�K���'�C�!%�c���T�#��(�^�!;�k�!I�C��J�J��!�8�D�!%�d���d�4�"�9�o�!=�
�!J�C��J�J�%��E�
����
�� � �A��A�~�~���A�
�
�+�!�H�+�c�!�f�"5�"5�
�8�1�;L�;L���3��A��/�/����B�'�'���q�=�=��E���
�(�(����A���� ��F�F��F��a�j��� � �A���!�!���A�
�
�+�!�H�+�c�!�f�"5�"5�
�8�1�;L�;L���3��A��/�/����B�'�'���q�=�=��E���c�!�f�����V�G�_�
(�
(�� ��G����S�#�a�&�9�9����B�'�'�����"�'�(�$�/�/�)�
���&�&�(�(�(��"�%�&��-�-�'�
���$�$�&�&�&�#�G�,N�8:�9�
�;=�l�;K�:<�[�/�-K�-K�%L�%L�M�M�B�~����!:�/1�2B�/C�02�3D�0E�"G�"G�#�#�$�$�G��"�}�}�",��K�)�R� �]�!;�<�<�#>�#>�����#*�*C�68��m�9@�+-�+-�#.�#.����$&�&9�#:�#B�#B�3��#N�#N�B�� �#%� �$"�")�'�#�t�"4�"4��� �
�W�?�$&�}�$5�B�Ob�Lc�Be�Be�f�f�g�g�C�
�2�!�"�#�#�a�'�'�",�W�5Z�<>�}�<M�df�gz�d{�]}�]}�.~�.~�#�#�����#&�����B�}���"�[�/�4�(�(�L�$��M�K��K��#A�B�B�D�D�FK�L��;���B�}���B���
A�'�'����7�7�z�"�Q�%��.�.�7� "�=� 1�B�q�E� 9�B�}���a�K����7�7�z�"�Q�%��.�.�7�%'�(:�%;�b��e�A�a�C�j�%H�'�(�&)�+-�a�5����9�&5�%�&�&'�B�!�"��
�M�2� &� &�B��t���5��$��:��7�8�8�8�8�� �B�z�N�3�4�4�4�
�t�8�Or�)j�__doc__r�r��timer��pathlibrrlr�auxfuncsrrrr r
rrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrN�versionr��
numpy_versionr��sepdictr�int�environ�get�generationtime�asctime�gmtimer�r�rLrCr�rErFrHr&rGr�r�r�r��<module>rasv"��2�2�f����������������������������������������������������������������������������������������������������������������������������������������������������������������������(�������������������������������������"���#�
�
��
��
,���A��G�A�J�J���R�Z�^�^�$7������E�E�F�F���
'�$�,�{�t�{�>�'B�'B�C�C�D�
G��*�h�/�0�0�+1�*4�+�2�h�=�>�>�3?�2B�3�:�h�/�0�0�;1�:4�; �@�h�9�:�:�A ;�@>�A#�F�h�0�1�1�G#2�F5�G&�L�h�-�.�.�M&/�L2�M)�R�h�3�4�4�S)5�R8�S,�X�h�3�4�4�Y,5�X8�Y2�d�h�4�5�5�e26�d9�e5�j�h�6�7�7�k58�j;�k8�p�h�.�/�/�q80�p3�q;�v�h�7�8�8�w;9�v<�w>�|�h�@�A�A�}>B�|E�}@�@�h�7�8�8�A@9�@<�AC�F�h�$�%�%�GC&�F()#�Gk#�V&3�Wk3�V6�WH�R#)�!'�)�)����3���_Q�Q��h��/�+�1�5�1����(�E�E�'�N�N�B�7�
�
����7
�p$�-�,�.�8�:�5�5�5��2�3�G���;��SL�L�
�b'���.���6F���f�VZ��*�D��2D�d��%�v��&�t��.9�$��AL�T��&�t� �.;�I� �
-�d��+�D�
�3C�D�
�+�D��3C�D��'� �"�'�"�2�'�(5�b�'�;N�r�'� �2�'�$�R�'�*0��'� �=�'� ��'�.�r�'� �r�'�.�r�'� �1�'� �=�!'�" �+�#'�$ �B�%'�'�& �:�''�( �:�)'�* �6�+'�, �;�-'�. �R�/'�.%�b�/'�.+5�b�/'�0 �_�1'�4 �:�;�5'�6 �_�7'�: �6�7�;'�< �=�='�<#3�4H�='�> �.�?'�@ �2�A'�B �6�C'�D �R�E'�'�D')���2�r�b��2�2�B�Z\���l�E�E�'�N�N�B�?�M'�'�'�P3�'���%��(�(� ��C�7��!� ���$�u�U�U�4�4���+L�+L�%M�%M�u�u�Uc�Od�Od�e�e�hq�$�u�U�U�?�%;�%;�Z���~�I^�I^�_�_�bS�.��-�r�!�
�E�$�$��
�N�C�C�D�D�
:�
�E�%�%��(�(�*�e�e�N�6K�6K�L�L�
:��E�%�%��(�(�.�9�9�
:�
���u�u�T�T�/�:�>�>�?�?���~�AV�AV�W�W�Ya�b�
�o�q�
r�
��
��?�@�
� 4�
5�
�U�4�4�(�.�9�9�
:�
:�C�
E�
�=�>�
�?�+�
��%��e�e�,=�&>�&>�?�?�G$�$�J�$�u�T�T�/�>�%J�%J�K�K�NV�-�r�!�
�E�$�$���7�7�8�8�
:�
�
:�
�#�U�4�4���#H�#H�I�I�L� ���t�t�O�^�<�<�=�=��QY�?Z�[�
�v�x�
y�
��
��7�8�
�U�4�4�(�.�9�9�
:�
:�7�
9�
�L�
N�
�5�6�
�7�#�
�"�W,�,�Z�$�u�T�T�/�>�%J�%J�K�K�NV�-�r�!�
�E�$�$���7�7�8�8�
:�
�
:�
�#�U�4�4���#H�#H�I�I�L� ���t�t�O�^�<�<�=�=��QY�?Z�[�
�v�x�
y�
��
��7�8�
�U�4�4�(�.�9�9�
:�
:�7�
9�
�L�
N�
�5�6�
�7�#�
�$�W,�,�Z��e�M�*�*�J�7�%�A�)�+=�>�@� %��i�1A� B� B�E� �!&��i���7G�1H�1H� I� I�L� �
!��%�
�E�E�/�$:�$:�;�;�#��& %�u�U�U�4�4���+L�+L�%M�%M�u�u�Uc�Od�Od�e�e�ht�$�u�U�U�?�%;�%;�Z���~�I^�I^�_�_�bV�-�r�!�
�E�%�%���_�j�9�9�:�:��%��'�'�
)�
)�;�
�E�%�%��(�(�*�e�e�N�6K�6K�L�L�;��
8�
�)�*R��%�)�*�*�,P�R�#�E�G����
��7�8�
� �
��U�4�4�(�.�9�9�
:�
:�M�
O�
�5�6�
�7�#�
�U�9�/�
0�
0�q�
s�
�U�9�e�e�$5�6�6�
7�
7�9}�~�@� (�)s�t��%��'�'��2�#�%:�;�%�{�3�'��7�9���}�-�-�{�;�$�&A��5���/��?�?�@�@�BX�Z��%�
�E�E�*:�$;�$;�U�U�?�=S�=S�T�T�_0�0�bh���d�d�?�J�?�?�@�@�P���e�e�O�4�4�j�A�A�w��
;�7�9�D�H�H�^�9�,�_�%�7�+�.�� ,�-M�N�� ,�-K�L�+�[�9�(�#C�D�R�3 �6$�(�9�3�3�3���'����)?�)?�@�@�S*�*�X{�w�v�� ��wa�
�J !�+�"�M�#�%:�$�o�%�'7���)�+?�)�?�*�,<�.�0D�,�k��]�2�K�
��" ���J� �"L�M�Q�J�!� ��-��x�(�"�$=�>��%��%�%� �"2�"2�3�3� ���%�$�&��%��%�%� �"2�"2�L�A�A���)�"�$Y�Z����1�+���y��������,� �2�\�<�4P�Q��
�� �%�%����~�!6�!6�7�7�� �%�%����~�!6�!6�8H�I�I�������
��t�(�/�:�:����
�$����
�(����
�����/�0B�C�����_T
� �lI
����I
�
@� �"L�M�Q�J��!��� I
��e�J�(8�9�9�=�I��e�J�(8�9�9�=�I�"�$4�5� �5��-=�>�>�Ad�BI�<�AX�AZ�[� �5��-=�>�>�Ad�BI�<�AX�AZ�[�'�*P�+0�5��-�+H�+H�,�+0�5��:J�+K�+K�M]�+_�*`�a����I
�6!���%�(�%�%�
�*;�*;�<�<���5I
�@$�-�'��%�(�*�5�5� ��?I
�N%�&����MI
�X��&�(B�C���+�-D�E�� �&�(h�i�� �\� �
�4�� �+�.p�q�
� �F�D�?��%�)�*�*�8�:��� �%�'@�A�� �j�#�&�� �j�#�&�� �%�t�,�!�" �j�"7�8�#�$ �j�"7�8�%�& �6�'�( �4�)�* ���/�0�0�2C�D�+�, ��Z�(�-�. ��/��YI
�L�u�.�/�/�2�����6
��?� �%� 1�2�2�5I�J�K�
L�
F�Q+
�Z �
�,�-���k6�6�KI
�|-��!Z�[���Z��6�6��e�e�D�D�Q[�]i�Lj�Lj�Fk�Fk�mz�{���.��%��%�%� �"2�"2�3�3���{I
�H�x�(��%��%�%� �"2�"2�3�3���GI
�N:� �#�&� �#�&� �"4�5� �"4�5�$�'��*�+_�`��!9�:��%��%�%� �"2�"2�E�E�(�O�O�(�*�*�
�
�MI
�H�X�
��
�
�U�:�u�u�\�2�2�
3�
3�5Y�
��
�
�U�9�
�
� �
���
�/
�8G���y�!�!�#7�8��%��%�%� �"2�"2�4D�E�E��A!�!�gI
�j#�$=�>�!��%��%�%� �"2�"2�M�B�B�� ��iI
�t �!Z�[��%��%�%� �"2�"2�3�3����sI
�@)�"�L�%�%�
�2C�2C�]�S��!h�i��!2�3����I
�L:� �#�&� �#�&� �"4�5� �"4�5��!9�:�$�'� �*�+c�d��%� �#3�4�4���KI
�d$�%~���u�Z���|�)<�)<�=�=�C�E�2�3�
R�%�&��%� �#3�4�4��
�
�cI
�x�H�I��%� �=�1�1���wI
�~#�$Y�Z��%� �=�1�1����}I
�F#�$Z�[�&�'����EI
�N �!h�i�����MI
�Z<�<�<�#�.�
�D�
E��U�<���z�!2�!2�
3�
3�
J�
L�
� ��.���%��e�e�J�&7�&7�8�8�,�G�I��#��YI
�@
��U�:�
�
�
J�
L�
�-�&�w���%�
�#�#�\�2�4���%��}I
�d!�#�&� �#�&� �"4�5� �"4�5�
�U�>�5�5��#4�#4�
5�
5�
J�
L�
��
��*�+_�`��!9���~�u�u�Z�'8�'8�9�9�<�I��%��"2�3�3���cI
�D �%�%��-�0�0��C I
�H �!j�k�����G I
�T 2�G�9�E�5��!?�@��#�+�-?�@��!;�<���
�
�S I
�n 8�,��/�-�0�Q��%��!3�4�4� � �m I
�@
c��%��!3�4�4���� I
�J
8�,��/�-�0�Q��%���/�/� � �I
I
�\
c��%���/�/����[
I
�d
� �*�\�<�,H�I�����c
I
�l
:� �#�&� �#�&� �"4�5� �"4�5��%��!1�2�2�
��k
I
�|
�4�D�
�>�
?��E�
F�
��
>�
@�
�!�7�9���(��!:�;���
�3/�b
O�
�U�4�4��m�4�4�
5�
5�82�
3��U�=�%�%��"5�"5�
6�
6�G�
I�
�K�L�
���y=�=�y
I
�x �%�%����~�!6�!6�7�7��wI
�| �%�%����~�!6�!6�8H�I�I��{I
�B
�����C
I
�L
�#����M
I
�V
�$����W
I
�`
�(����a
I
�j
�����k
I
�v
����u
I
�@�"���
I
�J/�0B�C�����II
� �^ �!]�^����o�<���%��%�%� �"2�"2�3�3����o�<�������P�;������R�=���-��DI�I�I�Z�D�T�d�t��D�T�d�t�5�5��s�s�s�s�sr�
?>