File: //lib/python3/dist-packages/numpy/f2py/tests/__pycache__/test_callback.cpython-310.pyc
o
6��a� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZ d dl
mZmZm
Z
ddlmZ G dd� dej�ZG dd� de�ZG d d
� d
ej�ZG dd� dej�ZdS )
� N)�assert_�assert_equal�IS_PYPY� )�utilc @ s� e Zd ZdZej�dd�d��dd� �Zejj e
dd�d d
� �Zdd� Zejj
ejd
kdd�dd� �Zejj
ejd
kdd�dd� �Zdd� Zdd� ZdS )�TestF77Callbacka�
subroutine t(fun,a)
integer a
cf2py intent(out) a
external fun
call fun(a)
end
subroutine func(a)
cf2py intent(in,out) a
integer a
a = a + 11
end
subroutine func0(a)
cf2py intent(out) a
integer a
a = 11
end
subroutine t2(a)
cf2py intent(callback) fun
integer a
cf2py intent(out) a
external fun
call fun(a)
end
subroutine string_callback(callback, a)
external callback
double precision callback
double precision a
character*1 r
cf2py intent(out) a
r = 'r'
a = callback(r)
end
subroutine string_callback_array(callback, cu, lencu, a)
external callback
integer callback
integer lencu
character*8 cu(lencu)
integer a
cf2py intent(out) a
a = callback(cu, lencu)
end
subroutine hidden_callback(a, r)
external global_f
cf2py intent(callback, hide) global_f
integer a, r, global_f
cf2py intent(out) r
r = global_f(a)
end
subroutine hidden_callback2(a, r)
external global_f
integer a, r, global_f
cf2py intent(out) r
r = global_f(a)
end
�namezt,t2�,c C s | � |� d S �N)�check_function)�selfr � r
�@/usr/lib/python3/dist-packages/numpy/f2py/tests/test_callback.py�test_allQ s zTestF77Callback.test_allz,PyPy cannot modify tp_doc after PyType_Ready)�reasonc C s t �d�}t| jjj|� d S )Na� a = t(fun,[fun_extra_args])
Wrapper for ``t``.
Parameters
----------
fun : call-back function
Other Parameters
----------------
fun_extra_args : input tuple, optional
Default: ()
Returns
-------
a : int
Notes
-----
Call-back functions::
def fun(): return a
Return objects:
a : int
)�textwrap�dedentr �module�t�__doc__)r �expectedr
r
r �test_docstringU s
zTestF77Callback.test_docstringc C s� t | j|�}|dd� �}t|dkt|�� |dd� dd�}t|dkt|�� |dd� dd�}t|d kt|�� |d
d� dd�}t|dkt|�� |d
d� tjfd�}t|dkt|�� |tjtjfd�}t|dkt|�� || jjdd�}t|dkt|�� || jj�}t|dkt|�� || jjj �}t|dkt|�� G dd� d�}|� }||�}t|dkt|�� ||j
�}t|dkt|�� d S )Nc S � dS )N� r
r
r
r
r �<lambda>v � z0TestF77Callback.check_function.<locals>.<lambda>r c S r �N� r
��ar
r
r r x r )� )�fun_extra_argsr c S s | S r
r
r r
r
r r z r r c S s d| S r r
r r
r
r r | � )� � c S s
t �| �S r
)�math�degreesr r
r
r r ~ s
� � � c @ s e Zd Zdd� Zdd� ZdS )z)TestF77Callback.check_function.<locals>.Ac S r )Nr# r
�r r
r
r �__call__� � z2TestF77Callback.check_function.<locals>.A.__call__c S r )N� r
r* r
r
r �mth� r, z-TestF77Callback.check_function.<locals>.A.mthN)�__name__�
__module__�__qualname__r+ r. r
r
r
r �A� s r2 r# r- )�getattrr r �reprr% �pir&