????

Your IP : 3.19.208.67


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/f2py/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/f2py/__pycache__/__init__.cpython-311.pyc

�

�܋fk���dZgd�ZddlZddlZddlZddlmZddlmZejZej	Z							dd�Z
d
�Zd�Zd�Z
dS)z(Fortran to Python Interface Generator.

)�run_main�compile�get_include�N�)�f2py2e)�diagnose�untitled�T�.fFc�d�ddl}ddl}|�.|�|���\}	}
tj|	��n|}
t|t��st
|d��}	t|
d��5}	|	�|��ddd��n#1swxYwYdd||	j	g}t|t��r'tj	dk}|�
||�	��}|�|��tj
dd
g|z}
	tj|
d���}|r&t!|j�����n(#t&$rtj|
d
dd���}YnwxYw|�tj|
��n#|�tj|
��wwxYw|r|S|jS)a
    Build extension module from a Fortran 77 source string with f2py.

    Parameters
    ----------
    source : str or bytes
        Fortran source of module / subroutine to compile

        .. versionchanged:: 1.16.0
           Accept str as well as bytes

    modulename : str, optional
        The name of the compiled python module
    extra_args : str or list, optional
        Additional parameters passed to f2py

        .. versionchanged:: 1.16.0
            A list of args may also be provided.

    verbose : bool, optional
        Print f2py output to screen
    source_fn : str, optional
        Name of the file where the fortran source is written.
        The default is to use a temporary file with the extension
        provided by the ``extension`` parameter
    extension : ``{'.f', '.f90'}``, optional
        Filename extension if `source_fn` is not provided.
        The extension tells which fortran standard is used.
        The default is ``.f``, which implies F77 standard.

        .. versionadded:: 1.11.0

    full_output : bool, optional
        If True, return a `subprocess.CompletedProcess` containing
        the stdout and stderr of the compile process, instead of just
        the status code.

        .. versionadded:: 1.20.0


    Returns
    -------
    result : int or `subprocess.CompletedProcess`
        0 on success, or a `subprocess.CompletedProcess` if
        ``full_output=True``

    Examples
    --------
    .. literalinclude:: ../../source/f2py/code/results/compile_session.dat
        :language: python

    rN)�suffixzutf-8�wz-cz-m�posix)rz)import numpy.f2py as f2py2e;f2py2e.main()T)�capture_output��)�stdout�stderr)�tempfile�shlex�mkstemp�os�close�
isinstance�str�open�write�name�split�extend�sys�
executable�
subprocess�run�printr�decode�OSError�CompletedProcess�remove�
returncode)�source�
modulename�
extra_args�verbose�	source_fn�	extension�full_outputrr�f�fname�args�is_posix�c�cps               �f/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib64/python3.11/site-packages/numpy/f2py/__init__.pyrrs)��x�O�O�O��L�L�L����#�#�9�#�5�5���5�	����������f�c�"�"�&��V�W�%�%���
�%��
�
�	��
�G�G�F�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��d�J���/���j�#�&�&�	A���7�*�H����Z�x��@�@�J����J����
�^�
�
8�
:�<@�
A��	*����$�7�7�7�B�
�
*��b�i�&�&�(�(�)�)�)����	M�	M�	M��,�Q��C��L�L�L�B�B�B�	M�������I�e���������I�e������������	��}�sU�!F�1B�F�B�F�B�A1F�
E�#)F�"E1�.F�0E1�1F�F$c��tj�tj�t��d��S)aw
    Return the directory that contains the ``fortranobject.c`` and ``.h`` files.

    .. note::

        This function is not needed when building an extension with
        `numpy.distutils` directly from ``.f`` and/or ``.pyf`` files
        in one go.

    Python extension modules built with f2py-generated code need to use
    ``fortranobject.c`` as a source file, and include the ``fortranobject.h``
    header. This function can be used to obtain the directory containing
    both of these files.

    Returns
    -------
    include_path : str
        Absolute path to the directory containing ``fortranobject.c`` and
        ``fortranobject.h``.

    Notes
    -----
    .. versionadded:: 1.21.1

    Unless the build system you are using has specific support for f2py,
    building a Python extension using a ``.pyf`` signature file is a two-step
    process. For a module ``mymod``:

    * Step 1: run ``python -m numpy.f2py mymod.pyf --quiet``. This
      generates ``_mymodmodule.c`` and (if needed)
      ``_fblas-f2pywrappers.f`` files next to ``mymod.pyf``.
    * Step 2: build your Python extension module. This requires the
      following source files:

      * ``_mymodmodule.c``
      * ``_mymod-f2pywrappers.f`` (if it was generated in Step 1)
      * ``fortranobject.c``

    See Also
    --------
    numpy.get_include : function that returns the numpy include directory

    �src)r�path�join�dirname�__file__�rr8rr|s)��X�7�<�<������1�1�5�9�9�9rc��|dkrddlm}|t��}|Std�t|�����)N�testr)�PytestTesterz!module {!r} has no attribute {!r})�numpy._pytesttesterrB�__name__�AttributeError�format)�attrrBrAs   r8�__getattr__rH�s[���v�~�~�4�4�4�4�4�4��|�H�%�%�����%�%+�V�H�d�%;�%;�=�=�	=rc�d�tt�����dhz��S)NrA)�list�globals�keysr?rr8�__dir__rM�s%����	�	��� � �F�8�+�,�,�,r)r	r
TNrF)�__doc__�__all__r!r#rr
rrr�mainrrrHrMr?rr8�<module>rQs�����1�
0�
0��
�
�
�
�����	�	�	�	��������������?��
�{��"������
g�g�g�g�T,:�,:�,:�^=�=�=�-�-�-�-�-r