o
    h                     @   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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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ejjG dd de	j
ZdS )    N   )utilc                   @   .   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   dtype      )r   r   r   )	nparangefloat32pytestraises
ValueErrormodulefooallclose)selfx r   t/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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          r   c                   @   r   )TestDataOnlyMultiModuler   r   r   zdatonly.f90c                 C   s@   | j jjdks	J | j jjdksJ d}| j ddksJ d S )Nd   i     i  )r   datonly	max_valuedatmax_simple_subroutine)r   int_inr   r   r   	test_mdat   s   z!TestDataOnlyMultiModule.test_mdatN)
r   r   r   r   r    r!   r   r"   r#   r.   r   r   r   r   r%      r$   r%   c                   @   r   )TestNegativeBoundsr   r   negative_boundszissue_20853.f90c                 C   s^   t d}d}d}dd }| jj|||d ||| d}t jdt jd}t ||s-J d S )	N   i   c                 S   s   ||  d S )Nr   r   )xlxhr   r   r   ubound2   s   z0TestNegativeBounds.test_negbound.<locals>.ubound)is_ie_arr   r   )r   r   r   r   r   r   )r   xvecxlowxhighr5   rval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/   '   r$   r/   c                   @   r   )TestNumpyVersionAttributer   r   r   r	   c                 C   s8   t | jdsJ t| jjtsJ tj| jjksJ d S )N__f2py_numpy_version__)hasattrr   
isinstancerA   strr   __version__r   r   r   r   test_numpy_version_attribute?   s   z6TestNumpyVersionAttribute.test_numpy_version_attributeN)
r   r   r   r   r    r!   r   r"   r#   rG   r   r   r   r   r@   :       r@   c                  C   s.   t j } t| }dD ]}||v sJ qd S )N)zfortranobject.czfortranobject.h)r   f2pyget_includeoslistdir)incdirfnames_in_dirfnamer   r   r   test_include_pathL   s
   

rP   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_gh25344X   s   zTestIncludeFiles.test_gh25344N)r   r   r   r   r    r!   optionsr   r"   r#   rU   r   r   r   r   rQ   S   s    rQ   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   R   t jdt jd}t jdt jd}| j||}|d dksJ |d dks'J d S Nr   r   r'   r      r      r   arrayint32r   testsubr   x1x2rT   r   r   r   test_gh26148b   
   zTestF77Comments.test_gh26148c                 C   s0   t jddt jdd }| j }t|| d S )Nr   r9   r   r   )r   r   r   r   testsub2nptassert_allclose)r   expectedrT   r   r   r   test_gh26466j   s   
zTestF77Comments.test_gh26466N)r   r   r   r   r    r!   r   r"   r#   rc   ri   r   r   r   r   rW   ^   s    
rW   c                   @   r   )TestF90Contiuationr   r   r   f90continuation.f90c                 C   rX   rY   r\   r`   r   r   r   test_gh26148bu   rd   z TestF90Contiuation.test_gh26148bN)
r   r   r   r   r    r!   r   r"   r#   rl   r   r   r   r   rj   q   r$   rj   c                   @   r   )TestLowerF2PYDirectivesr   r   r   zlower_f2py_fortran.f90c                 C   s   | j d d S )Nr   )r   inquire_nextrF   r   r   r   test_gh28014   s   z$TestLowerF2PYDirectives.test_gh28014N)
r   r   r   r   r    r!   r   r"   r#   ro   r   r   r   r   rm   }   r$   rm   c               
   C   s^   zt jt ddddgdgdd} W d S  ty. } zdt|vs#J W Y d }~d S d }~ww )	Nr   r   r   rk   z	-lfoo.barBlah)module_namezlparen got assign)r   build_moduler    RuntimeErrorrD   aarerrr   r   r   test_gh26623   s   rw   )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 d S  ty/ } zd	t|v s$J W Y d }~d S d }~ww )
Nr   r   r   zf77fixedform.f95z--f77flags='-ffixed-form -O2'z--f90flags="-ffixed-form -Og"rp   )rV   rq   unknown_subroutine_)r   rr   r    ImportErrorrD   rt   r   r   r   test_gh25784   s   	r}   c                   @   r   )TestAssignmentOnlyModulesr   r   r   zassignOnlyModule.f90c                 C   s:   | j jjdks	J | j jjdksJ | j jjdksJ d S )N      H   )r   	f_globalsn_maxi_maxj_maxrF   r   r   r   test_gh27167   s   z&TestAssignmentOnlyModules.test_gh27167N)
r   r   r   r   r    r!   r   r"   r#   r   r   r   r   r   r~      rH   r~   )rK   r   platformnumpyr   numpy.testingtestingrf    r   F2PyTestr   r%   r/   r@   rP   rQ   rW   rj   rm   r"   r#   rw   skipifsystemr}   r~   r   r   r   r   <module>   s,    	
