a
    ç´«j�  ã                   @   sè   d dl Z d dlZd dlZd dlZd dlmZ ddlm	Z	 G dd„ de	j
ƒZG dd„ de	j
ƒZG dd	„ d	e	j
ƒZd
d„ ZG dd„ de	j
ƒZG dd„ de	j
ƒZG dd„ de	j
ƒZejjdd„ ƒZejjejje ¡ dvdd�dd„ ƒƒZdS )é    Né   )Úutilc                   @   s.   e Zd Ze dddd¡gZejjdd„ ƒZ	dS )ÚTestIntentInOutÚtestsÚsrcÚ
regressionú	inout.f90c                 C   s`   t jdt jd�d d d… }t t| jj|¡ t jdt jd�}| j |¡ t  |g d¢¡s\J ‚d S )Né   ©Zdtypeé   é   )r   r   r   )	ÚnpÚarangeÚfloat32ÚpytestZraisesÚ
ValueErrorÚmoduleÚfooÚallclose)ÚselfÚx© r   ú_/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/f2py/tests/test_regression.pyÚ
test_inout   s
    zTestIntentInOut.test_inoutN)
Ú__name__Ú
__module__Ú__qualname__r   ÚgetpathÚsourcesr   ÚmarkÚslowr   r   r   r   r   r      s   r   c                   @   s.   e Zd Ze dddd¡gZejjdd„ ƒZ	dS )ÚTestNegativeBoundsr   r   Znegative_boundszissue_20853.f90c                 C   s^   t  d¡}d}d}dd„ }| jj|||d |||ƒ… d�}t jdt jd�}t  ||¡sZJ ‚d S )	Né   iúÿÿÿé   c                 S   s   ||  d S )Nr   r   )ZxlÚxhr   r   r   Úubound&   s    z0TestNegativeBounds.test_negbound.<locals>.ubound)Úis_Zie_Zarré   r
   )r   r   r   r   r   r   )r   ZxvecZxlowZxhighr%   ÚrvalZexpvalr   r   r   Útest_negbound   s    

ÿz TestNegativeBounds.test_negboundN)
r   r   r   r   r   r   r   r   r    r)   r   r   r   r   r!      s   r!   c                   @   s.   e Zd Ze dddd¡gZejjdd„ ƒZ	dS )ÚTestNumpyVersionAttributer   r   r   r   c                 C   s8   t | jdƒsJ ‚t| jjtƒs"J ‚tj| jjks4J ‚d S )NÚ__f2py_numpy_version__)Úhasattrr   Ú
isinstancer+   Ústrr   Ú__version__)r   r   r   r   Útest_numpy_version_attribute3   s    z6TestNumpyVersionAttribute.test_numpy_version_attributeN)
r   r   r   r   r   r   r   r   r    r0   r   r   r   r   r*   .   s   r*   c                  C   s.   t j ¡ } t | ¡}dD ]}||v sJ ‚qd S )N)zfortranobject.czfortranobject.h)r   Zf2pyZget_includeÚosÚlistdir)ÚincdirZfnames_in_dirÚfnamer   r   r   Útest_include_path@   s    

r5   c                   @   sV   e Zd Ze dddd¡gZde ddd¡› �de ddd¡› �gZejj	dd„ ƒZ
d	S )
ÚTestIncludeFilesr   r   r   zincfile.f90z-Iz--include-paths c                 C   s"   d}| j  dd¡}||ksJ ‚d S )Ng      @g      @g      @)r   Úadd)r   ÚexpÚresr   r   r   Útest_gh25344L   s    zTestIncludeFiles.test_gh25344N)r   r   r   r   r   r   Úoptionsr   r   r    r:   r   r   r   r   r6   G   s   ÿr6   c                   @   s>   e Zd Ze dddd¡gZejjdd„ ƒZ	ejjdd„ ƒZ
d	S )
ÚTestF77Commentsr   r   r   zf77comments.fc                 C   sR   t jdt jd�}t jdt jd�}| j ||¡}|d dks>J ‚|d dksNJ ‚d S ©Nr   r
   é   r   é   r   é   ©r   ÚarrayZint32r   Ztestsub©r   Úx1Zx2r9   r   r   r   Útest_gh26148V   s
    zTestF77Comments.test_gh26148c                 C   s0   t jddt jd�d }| j ¡ }t ||¡ d S )Nr   r'   r
   r   )r   r   r   r   Ztestsub2ÚnptZassert_allclose)r   Úexpectedr9   r   r   r   Útest_gh26466^   s    
zTestF77Comments.test_gh26466N)r   r   r   r   r   r   r   r   r    rE   rH   r   r   r   r   r<   R   s
   
r<   c                   @   s.   e Zd Ze dddd¡gZejjdd„ ƒZ	dS )ÚTestF90Contiuationr   r   r   úf90continuation.f90c                 C   sR   t jdt jd�}t jdt jd�}| j ||¡}|d dks>J ‚|d dksNJ ‚d S r=   rA   rC   r   r   r   Útest_gh26148bi   s
    z TestF90Contiuation.test_gh26148bN)
r   r   r   r   r   r   r   r   r    rK   r   r   r   r   rI   e   s   rI   c               
   C   s^   z$t jt  dddd¡gdgdd�} W n4 tyX } zdt|ƒvsDJ ‚W Y d }~n
d }~0 0 d S )	Nr   r   r   rJ   z	-lfoo.barÚBlah)Úmodule_namezlparen got assign)r   Úbuild_moduler   ÚRuntimeErrorr.   ©ZaaZrerrr   r   r   Útest_gh26623q   s    ý
rQ   )ÚLinuxÚDarwinz$Unsupported on this platform for now)Úreasonc               
   C   s`   z&t jt  dddd¡gddgdd�} W n4 tyZ } zd	t|ƒv sFJ ‚W Y d }~n
d }~0 0 d S )
Nr   r   r   zf77fixedform.f95z--f77flags='-ffixed-form -O2'z--f90flags="-ffixed-form -Og"rL   )r;   rM   Zunknown_subroutine_)r   rN   r   ÚImportErrorr.   rP   r   r   r   Útest_gh25784~   s    ýù
	rV   )r1   r   ÚplatformÚnumpyr   Znumpy.testingÚtestingrF   Ú r   ZF2PyTestr   r!   r*   r5   r6   r<   rI   r   r    rQ   ZskipifÚsystemrV   r   r   r   r   Ú<module>   s"   
