File: //usr/local/lib/python3.10/dist-packages/numpy/f2py/__pycache__/func2subr.cpython-310.pyc
o
���g:( � @ s� d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZmZm
Z
mZmZ ddlmZ ddd�Zdd � Zdd
d�Zddd
�Zdd� ZdS )a;
Rules for building C/API module with f2py2e.
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� )
�getfortranname�
isexternal�
isfunction�isfunction_wrap�isintent_in�isintent_out�islogicalfunction�ismoduleroutine�isscalar�issubroutine�issubroutine_wrap�outmess�show)�isoc_kindmapc C s� |d u r|}|| vrt | � td| � dS d| | vr*t | | � td| � dS | | d }|dkrDd| | v rDd|| | d f }i }d}d| | v rW| | d }d }nd
| | v re| | d
}d}d|v r�|r�|d d
v rvd| }nLd|||d f }nB|d dv r�d||d f }n3d||d f }n*d|v r�d||d f }d |v r�d||d f }nd| }nd |v r�d||d f }d||f }d| | v r�d|d�| | d �f }|S )Nz1var2fixfortran: No definition for argument "%s".
� �typespecz/var2fixfortran: No typespec for argument "%s".
�type�typenamez%s(%s)�kindselector�kind�charselector�len�*)r �:�(*)z %s(len=*)z %s(%s=%s))r r z%s*(%s)z%s*%sz %s(len=%sz%s,kind=%s)z%s)z%s(kind=%s)z%s %s� dimension�,)r r �join)�vars�a�fa�f90mode�vardef�selector�lk� r&