Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.190.153.90
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : f2py2e.cpython-312.pyc
�

wfEl���dZddlZddlZddlZddlZddlmZddlmZddl	Z	ddl
Z
ddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZej,Zej,Zej2j4ZejZej:Zej<dk\Zde�de�d�Z d�Z!d�Z"d�Z#d�Z$d�Z%d#d�Z&d�Z'Gd�de	jP�Z)d�Z*d�Z+d�Z,d�Z-d �Z.d$d!�Z/d"�Z0y)%ae

f2py2e - Fortran to Python C/API generator. 2nd Edition.
         See __usage__ below.

Copyright 1999 -- 2011 Pearu Peterson all rights reserved.
Copyright 2011 -- present NumPy Developers.
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.
�N)�Path)�	dropwhile�)�crackfortran)�rules)�cb_rules)�auxfuncs)�cfuncs)�f90mod_rules)�__version__)�	capi_maps)�f2py_build_generator)��a�Usage:

1) To construct extension module sources:

      f2py [<options>] <fortran files> [[[only:]||[skip:]] \
                                        <fortran functions> ] \
                                       [: <fortran files> ...]

2) To compile fortran files and build extension modules:

      f2py -c [<options>, <build_flib options>, <extra options>] <fortran files>

3) To generate signature files:

      f2py -h <filename.pyf> ...< same options as in (1) >

Description: This program generates a Python C/API file (<modulename>module.c)
             that contains wrappers for given fortran functions so that they
             can be called from Python. With the -c option the corresponding
             extension modules are built.

Options:

  -h <filename>    Write signatures of the fortran routines to file <filename>
                   and exit. You can then edit <filename> and use it instead
                   of <fortran files>. If <filename>==stdout then the
                   signatures are printed to stdout.
  <fortran functions>  Names of fortran routines for which Python C/API
                   functions will be generated. Default is all that are found
                   in <fortran files>.
  <fortran files>  Paths to fortran/signature files that will be scanned for
                   <fortran functions> in order to determine their signatures.
  skip:            Ignore fortran functions that follow until `:'.
  only:            Use only fortran functions that follow until `:'.
  :                Get back to <fortran files> mode.

  -m <modulename>  Name of the module; f2py generates a Python/C API
                   file <modulename>module.c or extension module <modulename>.
                   Default is 'untitled'.

  '-include<header>'  Writes additional headers in the C wrapper, can be passed
                      multiple times, generates #include <header> each time.

  --[no-]lower     Do [not] lower the cases in <fortran files>. By default,
                   --lower is assumed with -h key, and --no-lower without -h key.

  --build-dir <dirname>  All f2py generated files are created in <dirname>.
                   Default is tempfile.mkdtemp().

  --overwrite-signature  Overwrite existing signature file.

  --[no-]latex-doc Create (or not) <modulename>module.tex.
                   Default is --no-latex-doc.
  --short-latex    Create 'incomplete' LaTeX document (without commands
                   \documentclass, \tableofcontents, and \begin{document},
                   \end{document}).

  --[no-]rest-doc Create (or not) <modulename>module.rst.
                   Default is --no-rest-doc.

  --debug-capi     Create C/API code that reports the state of the wrappers
                   during runtime. Useful for debugging.

  --[no-]wrap-functions    Create Fortran subroutine wrappers to Fortran 77
                   functions. --wrap-functions is default because it ensures
                   maximum portability/compiler independence.

  --include-paths <path1>:<path2>:...   Search include files from the given
                   directories.

  --help-link [..] List system resources found by system_info.py. See also
                   --link-<resource> switch below. [..] is optional list
                   of resources names. E.g. try 'f2py --help-link lapack_opt'.

  --f2cmap <filename>  Load Fortran-to-Python KIND specification from the given
                   file. Default: .f2py_f2cmap in current directory.

  --quiet          Run quietly.
  --verbose        Run with extra verbosity.
  --skip-empty-wrappers   Only generate wrapper files when needed.
  -v               Print f2py version ID and exit.


build backend options (only effective with -c)
[NO_MESON] is used to indicate an option not meant to be used
with the meson backend or above Python 3.12:

  --fcompiler=         Specify Fortran compiler type by vendor [NO_MESON]
  --compiler=          Specify distutils C compiler type [NO_MESON]

  --help-fcompiler     List available Fortran compilers and exit [NO_MESON]
  --f77exec=           Specify the path to F77 compiler [NO_MESON]
  --f90exec=           Specify the path to F90 compiler [NO_MESON]
  --f77flags=          Specify F77 compiler flags
  --f90flags=          Specify F90 compiler flags
  --opt=               Specify optimization flags [NO_MESON]
  --arch=              Specify architecture specific optimization flags [NO_MESON]
  --noopt              Compile without optimization [NO_MESON]
  --noarch             Compile without arch-dependent optimization [NO_MESON]
  --debug              Compile with debugging information

  --dep                <dependency>
                       Specify a meson dependency for the module. This may
                       be passed multiple times for multiple dependencies.
                       Dependencies are stored in a list for further processing.

                       Example: --dep lapack --dep scalapack
                       This will identify "lapack" and "scalapack" as dependencies
                       and remove them from argv, leaving a dependencies list
                       containing ["lapack", "scalapack"].

  --backend            <backend_type>
                       Specify the build backend for the compilation process.
                       The supported backends are 'meson' and 'distutils'.
                       If not specified, defaults to 'distutils'. On
                       Python 3.12 or higher, the default is 'meson'.

Extra options (only effective with -c):

  --link-<resource>    Link extension module with <resource> as defined
                       by numpy.distutils/system_info.py. E.g. to link
                       with optimized LAPACK libraries (vecLib on MacOSX,
                       ATLAS elsewhere), use --link-lapack_opt.
                       See also --help-link switch. [NO_MESON]

  -L/path/to/lib/ -l<libname>
  -D<define> -U<name>
  -I/path/to/include/
  <filename>.o <filename>.so <filename>.a

  Using the following macros may be required with non-gcc Fortran
  compilers:
    -DPREPEND_FORTRAN -DNO_APPEND_FORTRAN -DUPPERCASE_FORTRAN
    -DUNDERSCORE_G77

  When using -DF2PY_REPORT_ATEXIT, a performance report of F2PY
  interface is printed out at exit (platforms: Linux).

  When using -DF2PY_REPORT_ON_ARRAY_COPY=<int>, a message is
  sent to stderr whenever F2PY interface makes a copy of an
  array. Integer <int> sets the threshold for array sizes when
  a message should be shown.

Version:     z
numpy Version: z�
License:     NumPy license (see LICENSE.txt in the NumPy source code)
Copyright 1999 -- 2011 Pearu Peterson all rights reserved.
Copyright 2011 -- present NumPy Developers.
https://numpy.org/doc/stable/f2py/index.html
c	���ggggf\}}}}d\}}}}}	}
}}d}
d}d}d}d}d}d}t|�\}}d\}}|ddd�}|D�]-}|d	k(r�
|d
k(rd}�|dk(rd}�|dk(rd}�"|dd
dk(r|j|d
d��?|dk(rd}�G|dk(rd}	�O|dk(rd}�W|dk(rd}
�_|dk(r|
dz
}
�j|dk(rd}�r|dk(rd}�z|dk(rd}��|dk(rd}��|dk(rd}��|dk(rd}��|dk(rd|d<��|dk(rd}
��|dk(rd}��|dk(rd}��|dk(rd|d <��|d!k(rd}��|d"k(rd}��|dd#d$k(r%tt�t	j
���|d%k(rd}��|dd
d&k(rCtjd'j|d(d�d)|d
dztj|d(d<��Y|d*k(rd+}��b|dd,k(r-td-t|�z�t	j
����|rd}|}���|rd}|}���|	rd}	|}���|
r	d}
||d.<���|r	d}||d/<���|r	d}||d0<���|dk(r)	t|�5	ddd�|j|����|dk(r|j|���|dk(s��|j|���0|s'|s%|s#tt�t	j
�tjj!|�s%|
st#d4|z�tj$|�|r tjj'||�}|rEtjj)|�r&d |vr"td5|z�t	j
�||d6<||d7<|
|d8<|dk(r|sd|d9<n||d9<|r||d:<|r||d;<|r||d<<|r||d=<||d><||d?<||d@<||dA<||dB<|j+d0d�||fS#1swY���xYw#t$r}td1|�d2|�d3��Yd}~���d}~wwxYw)CN)rrrrrrrrrT���r�.)NN)�	buildpath�coutput�f2py_wrapper_output��only:�skip:�:�z--debug-�--lower�--build-dirz
--no-lower�--quietz	--verbosez--latex-docz--no-latex-docz
--rest-docz
--no-rest-docz--wrap-functionsz--no-wrap-functionsz
--short-latex�
shortlatexz	--coutputz--f2py-wrapper-output�--f2cmapz--overwrite-signaturezh-overwrite�-h�-m�z-vz--show-compilersz-include�userincludes�	z	#include z--skip-empty-wrappersF�-zUnknown option %s
rr�f2cmap_filez	OSError: z. Skipping file "z".
zCreating build directory %s
zFSignature file "%s" exists!!! Use --overwrite-signature to overwrite.
�emptygen�debug�verbose�do-lower�module�	signsfile�	onlyfuncs�	skipfuncs�
dolatexdoc�	dorestdoc�	wrapfuncsr�
include_paths)�get_includes�append�print�f2py_version�sys�exitr
�outneedsr$�errmess�repr�open�OSError�	__usage__�os�path�isdir�outmess�mkdir�join�isfile�
setdefault)�	inputline�filesr/r.r)�f�f2�f3�f5�f6�f8�f9�f10r*r(�dolcr0r1r2rr3r-�
modulename�options�l�details                          �H/usr/local/python-3.12/lib/python3.12/site-packages/numpy/f2py/f2py2e.py�
scaninputlinerX�s���)+�R��R��&�E�9�i��%;�"�A�r�2�r�2�r�2�s��G��H�
�D��J��I��I��I�+�I�6��M�9�&��I�z�%��&*�,�G��X ����7��
�'�\��A�
�'�\��A�
�#�X��A�
�r��U�j�
 ��L�L��1�2���
�)�^��D�
�-�
��B�
�,�
��D�
�)�^��G�
�+�
��q�L�G�
�-�
��J�
�"�
"��J�
�,�
��I�
�/�
!��I�
�$�
$��I�
�'�
'��I�
�/�
!�$%�G�L�!�
�+�
��B�
�)�
)��B�
�*�_��C�
�)�
)�%&�G�M�"�
�$�Y��B�
�$�Y��B�
�r��U�d�]��,���H�H�J�
�$�
$��B�
�r��U�j�
 ��O�O�N�+�2�2�1�Q�r�7�;�+6��1�2��+>�F����!�B��(�
�)�
)��H�
�q�T�S�[��)�D��G�3�4��H�H�J�
��B��I�
��B��J�
��B��I�
��B�!"�G�I��
��B�-.�G�)�*�
��C�%&�G�M�"�
�!�V�
J��!�W�������Q���"�W����Q��
�!�V����Q��qX �r�e�J�
�i�����
�
�7�7�=�=��#���3�y�A�B�
�������G�G�L�L��I�6�	��R�W�W�^�^�I�.�=��3O��U�Yb�c�	e����
�"�G�J���G�G�� �G�I���r�z�)���
��"��
���&�����(�����(�����(����&�G�L��$�G�K��$�G�K��$�G�K��,�G�O�����}�d�+��'�>��Y����
J��)�F�:�->�q�e�4�H�I�I��
J�s0�O�!N3�#O�3N=	�8O�	O&�	O!�!O&c���|t_|dt_|dt_d|vr|dt_d|vr|dt_d|vr|dt_|dtjdd|dt_	tj|�}d|vrztd	|dz�tj|�}|dd
ddk(r tjj|�n)t|dd�5}|j|�ddd�|d
�|D]
}d|dz|d
<�n|D]
}|d
|d
<�|d�|D]
}d|dz|d<�|S|D]
}|d|d<�|S#1swY�ZxYw)Nr)r*r,r/r.r3r+r-zSaving signatures to file "%s"
i�����stdout�wrz
%smodule.c�namerz%s-f2pywrappers.f)rrTrr)r*�
f77modulenamer/r.r3�dolowercaserC�
crack2fortranr8rZ�writer=)rIrT�postlist�pyfrJ�mods      rW�callcrackfortranrdOs����E�M� ��)�L��"�9�-�L���7��%,�X�%6��"��g��!(��!5����g��!(��!5���$+�O�$<�L���q�!�&�z�2�L���(�(��/�H��g���2�g�k�6J�K�L��(�(��2���;����$��0��J�J���S�!��g�k�*�C�0�
�A������
��y��!��	8�C�)�C��K�7�C�	�N�	8��	0�C�$�Y�/�C�	�N�	0��$�%�-��	K�C�)<�s�6�{�)J�C�%�&�	K�
�O��	H�C�)0�1F�)G�C�%�&�	H��O�
�
�s�;E&�&E/c���tj�td�ggi}}}|D]�}d|dvrtj|�� d|vr8|dj�D]"}||vrg||<||j
|d��$|j
|�|j
|d���i}t||�D]�\}}||vr,td|�ddjd�||D���d	���6g}	d|vrV|dj�D]@}||vr(||vr$|	j
||j|���/td
|�d|�d���Bi||<t||tj||	����|S)
NzBuilding modules...
�__user__r\�usez	Skipping module "z" which is used by �,c3�&K�|]	}d|z���y�w)z"%s"N���.0�ss  rW�	<genexpr>zbuildmodules.<locals>.<genexpr>�s����B�a�v��z�B�s��.
z		Module "z" uses nonexisting "z" which will be ignored.
)
r
�buildcfuncsrCr�buildcallbacks�keysr5�ziprE�index�dict_appendr�buildmodule)
�lst�modules�mnames�isusedby�item�u�retr,r\�ums
          rW�buildmodulesrss���
�����#�$� "�B��X�V�G��
(����f��%��#�#�D�)���}��e��)�)�+�5�A���(�&(�����Q�K�&�&�t�F�|�4�5�
�N�N�4� ��M�M�$�v�,�'�
(�
�C��G�V�,�B�����8����c�h�h�B�8�D�>�B�B�D�
E��B�������+�+�-�8�A��H�}��f���	�	�'�&�,�,�q�/�":�;��(���.B�1�#�F7�7�8�	8��C��I���D�	�5�#4�#4�V�R�#@�A�B� �J�c��|j�D]>\}}||vrg||<t|t�r|||z||<�+||j|��@y�N)�items�
isinstance�listr5)�d_out�d_in�k�vs    rWruru�sV���*�*�,����A��E�>��E�!�H��a����Q�x�!�|�E�!�H��!�H�O�O�A��
r�c��tj�tjj	tjjtj��}tjj|dd�}tjj|dd�}t�}|j|�\}}tdd|�\}}|jr.d|vr
|j}nt||j�}|d|gz
}t|�\}	}
|
t_t#j$|
d�t'|	|
�}i}|D]?}
d	|
vs�|
d	j)�D]"}||vrg||<||j+|
d
��$�A|D]X}
|
ddk(s�d
|
d
vs�|
d
|vs�t-d|
d
�d�j/djd�||
d
D�����Zd|
vrV|
ddkDrMt-d�t-tjj1t2j4d��d|
d�d��y|D]3}
|
ddk7s�d|
vrt7d�t9dt;|
d�z��|
dt_|
t>_|
dt_ tC|�}|j)�D]}tE||||d���|S)au
    Equivalent to running::

        f2py <args>

    where ``<args>=string.join(<list>,' ')``, but in Python.  Unless
    ``-h`` is used, this function returns a dictionary containing
    information on generated modules and their dependencies on source
    files.

    You cannot build extension modules with this function, that is,
    using ``-c`` is not allowed. Use the ``compile`` command instead.

    Examples
    --------
    The command ``f2py -m scalar scalar.f`` can be executed from Python as
    follows.

    .. literalinclude:: ../../source/f2py/code/results/run_main_session.dat
        :language: python

    �srczfortranobject.hzfortranobject.cr�[.]pyf([.]src|)r!r"r'rgr\�blockz
python modulerfz$Skipping Makefile build for module "z" which is used by {}
rhc3�(K�|]
}d|�d����y�w)�"Nrjrks  rWrnzrun_main.<locals>.<genexpr>�s���� K�a�1�Q�C�q�� K�s�r-r*rzKStopping. Edit the signature file and then run f2py on the signature file: r� �
NzJTip: If your original code is Fortran source then you must use -m option.
z2All blocks must be python module blocks but got %sr)r2)�csrc�h)#r�reset_global_f2py_varsr@rA�dirname�abspathr
�__file__rE�make_f2py_compile_parser�parse_known_args�filter_files�module_name�validate_modulenamerXr	rTr
�load_f2cmap_filerdrrr5rC�format�basenamer8�argvr;�	TypeErrorr<�debugoptionsrr2rru)�comline_list�f2pydir�fobjhsrc�fobjcsrc�parser�args�	pyf_files�_�modnamerIrTrarz�plistr|r}�mns                 rW�run_mainr��s���.�'�'�)��g�g�o�o�b�g�g�o�o�f�o�o�>�?�G��w�w�|�|�G�U�,=�>�H��w�w�|�|�G�U�,=�>�H�
%�
'�F��0�0��>��D�,���$5�|�D�L�I�q�����<��� � �
�*��4�+�+��G�	��w��'��"�<�0�N�E�7��H��
���w�}�5�6���w�/�H��H��2���E�>��5�\�&�&�(�
2���H�$�"$�H�Q�K����"�"�5��=�1�
2�2��N����>�_�,��u�V�}�1L��V�}��(��:�5��=�/�J,�,�,2�F���� K�8�E�&�M�3J� K�K�-M�N�	N��g���9���!��]�
_���W�W�%�%�c�h�h�q�k�2�G�K�4H�J�
K���'����>�_�,��g�-��a�c��P��U�7�^�$�&�'�
'�'�$�G�,�H��"�L�� ��-�H��
�x�
 �C��h�h�j�@���C��G�h�X�>�?�@��Jr�c�.�gg}}tj|dz|zdz�j}|rt|�}nd}|D�cgc]}|j	���c}D]0}	||	�r|j|	|d�� |j|	��2||fScc}w)z,
    Filter files by prefix and suffix.
    z.*z\ZrN)�re�compile�match�len�stripr5)
�prefix�suffixrI�
remove_prefix�filtered�restr��ind�x�files
          rWr�r��s�����d�H��J�J�v��~��.��6�7�=�=�E���&�k����$)�*�q�����*�����;��O�O�D���J�'��K�K���	�
�T�>���+s�Bc��tjjtjj|j��}|Sr�)r@rAr�r�)r,�ps  rW�
get_prefixr�
s*��
�������������8�9�A��Hr�c��eZdZdd�Zy)�CombineIncludePathsNc��tt|dg�xsg�}|dk(rtd�|dk(s|dk(r!|j|j	d��n|j|�t
|dt|��y)Nr3�--include_pathszJUse --include-paths or -I instead of --include_paths which will be removed�--include-pathsr)�set�getattrrC�update�split�add�setattrr�)�selfr��	namespace�values�
option_string�include_paths_sets      rW�__call__zCombineIncludePaths.__call__su����	�?�B� G� M�2�N���-�-��`�a��-�-��BS�1S��$�$�V�\�\�#�%6�7��!�!�&�)��	�?�D�1B�,C�Dr�r�)�__name__�
__module__�__qualname__r�rjr�rWr�r�s��Er�r�c���tjd��}|jddt��|jddt��|jddt��|S)NF��add_helpz-Ir3)�dest�actionr�r�)�argparse�ArgumentParser�add_argumentr��r�s rW�include_parserr�s[��
�
$�
$�e�
4�F�
����?�;N��O�
���)��H[��\�
���)��H[��\��Mr�c��dj|�j�}t�}|j|�\}}|j}|j�g}||fS)Nr�)rEr�r�r�r3)�iliner�r��remain�ipathss     rWr4r4!sZ��
�X�X�e�_�#�#�%�E�
�
�F��*�*�5�1�L�D�&�
�
�
�F����!����6�>�r�c��tjd��}|jddd��|jddd	gd	�
�|jdd�
�|S)NFr�z--depr5�dependencies)r�r�z	--backend�meson�	distutils)�choices�defaultr"r�)r�)r�r�r�r�s rWr�r�*sY��
�
$�
$�e�
4�F�
�����~��F�
����g�{�-C�[��Y�
����=��1��Mr�c��t�}|j�\}}tjdg|zt_|j}t
r|dk(r
t
d�d}|jxsg||jd�S)Nrr�zMCannot use distutils backend with Python>=3.12, using meson backend instead.
r�)r��backendrS)	r�r�r8r�r��MESON_ONLY_VERrCr�r�)r�r��remaining_argv�backend_keys    rW�preparse_sysargvr�1s���&�
'�F�!�2�2�4��D�.������}�~�-�C�H��,�,�K��+��4��2�	3����)�)�/�R���&�&��r�c�d�ddl}t�}|d}|�d}|d}|d}t|�}tjjd�}tj|=d}	tjjd�}|�<tj|d	z}tj|d	z=tj|=nd	}|j�}tjd
�}	tjd	dD�
cgc]}
|	j|
�s�|
��}}
tjD�
cgc]	}
|
|vs�|
��c}
t_|r|D�cgc]}|dd��	}}tjd�}
tjd	dD�
cgc]}
|
j|
�s�|
��}}
tjD�
cgc]	}
|
|vs�|
��c}
t_g}d}tjd	dD])}|d
vrd	}n|dk(rd}|s|dk(s�|j|��+|r|ddk7r|jd�|j|�tjD�
cgc]	}
|
|vs�|
��c}
t_tjd�}tjd	dD�
cgc]}
|j|
�s�|
��}}
tjD�
cgc]	}
|
|vs�|
��c}
t_tjd�}tjd	dD�
cgc]}
|j|
�s�|
��}}
tjD�
cgc]	}
|
|vs�|
��c}
t_g}|D]�}d}|dt|�|k(s�ts|dk(rtd��.ddlm}|j%�t'|j(j+��}|t|�dj-�x}}||vr
i}	||}|}|j|�}d|z||<��|D]}|j|�}||=�t|�dksJt5|���tjd�}tjd	dD�
cgc]}
|j|
�s�|
��}}
tjD�
cgc]	}
|
|vs�|
��c}
t_d|vr|jd�tjd	d} d}!|!tjvr|tjj|!�}|jtj||dz�tj|d	z=tj|=tjd	d} t7dd| �\}"}#|"|#z} t9|"|�}t7dd| �\}$} t7dd| d	��\}%} t7d d| d	��\}&} t7d!d| d	��\}'} t7d"d| d	��\}(} t;t|(��D]_}|(|j=d#d	�})t|)�d	k(r|)jd�t|)�dk(rt?|)�|(|<�Tt3d$|)��a|dk(r�|"s]td%�|jd&�tAd'd'jC|��d(|�d'd'jC| ���j=��n=tAd'd'jC|��d'd'jC|"���j=��tE| �\}*} ||| |$||*|%|&|(|'||||||d|i�}+|+j�y#t$rd}Y���wxYwcc}
wcc}
wcc}wcc}
wcc}
wcc}
wcc}
wcc}
wcc}
wcc}
w#t.$r0||j1�vrt3d|t|�dz�Y���wxYwcc}
wcc}
w))z 
    Do it all in one call!
    rNrS�untitledr�r��-crrz--link-�zN--((no-|)(wrap-functions|lower)|debug-capi|quiet|skip-empty-wrappers)|-include)rrrrz4--((f(90)?compiler(-exec|)|compiler)=|help-compiler)zH--((f(77|90)(flags|exec)|opt|arch)=|(debug|noopt|noarch|help-fcompiler))z--fcompiler=r�zT--fcompiler cannot be used with meson,set compiler with the FC environment variable
)�	fcompilerzUnknown vendor: "%s"r#z--(verbose)rr rr�z[.](o|a|so|dylib)z-L)r�z-lz-Uz-D�=zInvalid use of -D:zjUsing meson backend
Will pass --lower to f2py
See https://numpy.org/doc/stable/f2py/buildtools/meson.html
rr�z -m )#�tempfiler�rr8r�rt�
ValueError�mkdtempr�r�r�r5�extendr�r�rC�numpy.distutilsr��load_all_fcompiler_classesr��fcompiler_classrr�lower�KeyErrorr�r6r<r�r��ranger��tupler�rEr4),r��argyrSr�r��
build_backend�i�remove_build_dir�	build_dir�_reg1�_m�
sysinfo_flagsrJ�_reg2�
f2py_flags�f2py_flags2�fl�a�_reg3�
flib_flags�_reg4�fc_flags�del_listrmr�r��allowed_keys�nv�ov�vmap�_reg5�setup_flags�sources�	f2cmapoptr��_sources�
extra_objects�library_dirs�	libraries�undef_macros�
define_macros�
name_value�include_dirs�builders,                                            rW�run_compiler"Es:�����D��l�#�J����
���'�L��y�/�K�(��5�M������t��A����������H�H�N�N�=�)��	�}��H�H�Q��U�O�	��H�H�Q��U�O��H�H�Q�K����$�$�&�	��J�J�z�"�E�"%�(�(�1�2�,�B�B�%�+�+�b�/�R�B�M�B� �X�X�A�r��=�)@��A�C�H��(5�6�1��1�2��6�
�6��J�J�Y�
[�E�"�x�x���|�?��u�{�{�2��"�?�J�?� �X�X�>�r��:�)=��>�C�H��K�	
�B�
�X�X�a�b�\�"���"�"��B�
�#�X��B�
��c�����q�!�
"��{�2��#�-����3�����k�"� �X�X�?�r��;�)>��?�C�H��J�J�?�
A�E�"�x�x���|�?��u�{�{�2��"�?�J�?� �X�X�>�r��:�)=��>�C�H��J�J�S�
U�E� �X�X�a�b�\�=�r�U�[�[��_��=�H�=� �X�X�<�r��8�);��<�C�H��H�
������W�c�!�f�:��?����!7��F��
6��4�4�6�#�I�$=�$=�$B�$B�$D�E���C��F�G�*�*�*�,�,��R��\�)��D�I�!�"�X���B��$�$�Q�'�� .�� 3�
�1�
��/�0������Q����q�M���z�?�a��1��j�!1�1���J�J�~�&�E� #������@�"����B��2�@�K�@� �X�X�?�r��;�)>��?�C�H��J�����9�%��h�h�q�r�l�G��I��C�H�H���H�H�N�N�9�%�����#�(�(�1�Q��U�+�,��H�H�Q��U�O�S�X�X�a�[��(�(�1�2�,��&�r�+<�g�F��I�x��(�"�G�$�Y�
�;�J�)�"�.A�7�K��M�7�(��r�7�!�L��L�'�%�d�B��q�I��I�w�(��r�7�!�L��L�'�)�$��G�1�M��M�7�
�3�}�%�
&�4��"�1�%�+�+�C��3�
��z�?�a�����d�#��z�?�a��$�Z�0�M�!���&�
�3�4��g����D�
E����i�(��q����*�-�.�d�:�,�a�����@Q�?R�S�Y�Y�[�\��q����*�-�.�a�����0C�/D�E�K�K�M�N�)��1��L�'�����������������	��&�!�G�&�O�O���Q������C��A��6��@��>��@��@��>��>��<��($�I��T�[�[�]�2�!�"8�A�c�!�f�g�J�"G�H��I��A��?s�� \(�9\:�\:�(	\?�2\?�]�]	�]	�/	]�9]�
	]�]�]�%]�=	]�]�]"�]"�0	]'�:]'�],�^(�6^(�	^-�^-�(\7�6\7�,5^%�$^%c	��t|�dkDrtd��|r6|d}tj|�}||k7rt	d|�d|�d|�d��|}|S)NrzOnly one .pyf file per callrzIgnoring -m roz	 defines z to be the modulename.
)r�r�r	�get_f2py_modulenamerC)r�rS�pyff�pyf_modnames    rWr�r��sp��
�9�~����6�7�7����|���2�2�4�8����$���z�l�#��&�	�+��.F�H�
�%�J��r�c�$�dtjddvr?tjjd�trt	d�yddlm}|�ydtjddvrt�yttjdd�y)Nz--help-linkrzUse --dep for meson builds
r��show_allr�)	r8r��remover�rC�numpy.distutils.system_infor)r"r�r(s rW�mainr,�sk���������$������
�&���2�3�	�
=��J���s�x�x���|���
�����!�"��r�r�)r�)1�__doc__r8r@�pprintr��pathlibr�	itertoolsrr��copyrrrrr	r
rrr
�numpy.f2py._backendsr�versionr7�
numpy_version�stderrr`r;�showrC�version_infor�r?rXrdrrur�r�r��Actionr�r�r4r�r�r"r�r,rjr�rW�<module>r9s����	�
�	�������������5��"�"���#�#�
�

�*�*�
�
��
�}�}��
�
�
���"�"�g�-��O�^�^����/�aT2�
�pK�\!�H �F�U�p�$
�
	E�(�/�/�	E�����(]�@�
r�
© 2025 GrazzMean