
    CEj                     
   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	 ej                  j                   G d de	j                               Zej                  j                   G d de	j                               Zej                  j                   G d d	e	j                               Zej                  j                   G d
 de	j                               Zej                  j                   G d de	j                               Zd Zej                  j                   G d de	j                               Zej                  j                   G d de	j                               Zej                  j                   G d de	j                               Zej                  j                   G d de	j                               Zej                  j                  d        Zej                  j                  ej                  j1                   ej2                         dk(  d      d               Zej                  j                   G d de	j                               Zej                  j                   G d de	j                               Zy)     N   )utilc                   >    e Zd Z ej                  dddd      gZd Zy)TestIntentInOuttestssrc
regression	inout.f90c                 l   t        j                  dt         j                        d d d   }t        j                  t
        | j                  j                  |       t        j                  dt         j                        }| j                  j                  |       t        j                  |g d      sJ y )N   dtype      )r   r   r   )	nparangefloat32pytestraises
ValueErrormodulefooallclose)selfxs     n/var/www/html/eeg-assistent/strom-signal/venv/lib/python3.12/site-packages/numpy/f2py/tests/test_regression.py
test_inoutzTestIntentInOut.test_inout   sq    IIarzz*3Q3/j$++//15 IIarzz*{{1i(((    N)__name__
__module____qualname__r   getpathsourcesr    r   r   r   r      s"     t||GUL+FGG)r   r   c                   >    e Zd Z ej                  dddd      gZd Zy)TestDataOnlyMultiModuler   r   r	   zdatonly.f90c                     | j                   j                  j                  dk(  sJ | j                   j                  j                  dk(  sJ d}| j                   j                  d      dk(  sJ y )Nd   i     i  )r   datonly	max_valuedatmax_simple_subroutine)r   int_ins     r   	test_mdatz!TestDataOnlyMultiModule.test_mdat!   s^    {{"",,333{{##t+++{{,,Q/4777r   N)r   r    r!   r   r"   r#   r0   r$   r   r   r&   r&      s"     t||GUL-HIG8r   r&   c                   >    e Zd Z ej                  dddd      gZd Zy)TestModuleWithDerivedTyper   r   r	   zmod_derived_types.f90c                     | j                   j                  d      dk(  sJ | j                   j                  d      dk(  sJ y )N
   n      )r   no_type_subroutinetype_subroutiner   s    r   test_mtypesz%TestModuleWithDerivedType.test_mtypes-   s<    {{--b1S888{{**2.#555r   N)r   r    r!   r   r"   r#   r:   r$   r   r   r2   r2   (   s#     t||GUL:QRSG6r   r2   c                   >    e Zd Z ej                  dddd      gZd Zy)TestNegativeBoundsr   r   negative_boundszissue_20853.f90c           
         t        j                  d      }d}d}d }| j                  j                  |||d  |||             }t        j                  dt         j                        }t        j
                  ||      sJ y )N   i   c                     || z
  dz   S )Nr   r$   )xlxhs     r   uboundz0TestNegativeBounds.test_negbound.<locals>.ubound?   s    7Q;r   )is_ie_arr   r   )r   r   r   r   r   r   )r   xvecxlowxhighrD   rvalexpvals          r   test_negboundz TestNegativeBounds.test_negbound7   ss    yy}
	{{4U !5&u"56  82RZZ0{{4(((r   N)r   r    r!   r   r"   r#   rN   r$   r   r   r<   r<   2   s$     t||GU,=?PQRG)r   r<   c                   >    e Zd Z ej                  dddd      gZd Zy)TestNumpyVersionAttributer   r   r	   r
   c                     t        | j                  d      sJ t        | j                  j                  t              sJ t
        j                  | j                  j                  k(  sJ y )N__f2py_numpy_version__)hasattrr   
isinstancerR   strr   __version__r9   s    r   test_numpy_version_attributez6TestNumpyVersionAttribute.test_numpy_version_attributeM   sS     t{{$<=== $++<<cBBB ~~!C!CCCCr   N)r   r    r!   r   r"   r#   rW   r$   r   r   rP   rP   G   s#     t||GUL+FGG	Dr   rP   c                      t         j                  j                         } t        j                  |       }dD ]  }||v rJ  y )N)zfortranobject.czfortranobject.h)r   f2pyget_includeoslistdir)incdirfnames_in_dirfnames      r   test_include_pathr`   Y   s?    WW  "FJJv&M7 &%%%&r   c                       e Zd Z ej                  dddd      gZd ej                  ddd       d ej                  ddd       gZd Zy)	TestIncludeFilesr   r   r	   zincfile.f90z-Iz--include-paths c                 N    d}| j                   j                  dd      }||k(  sJ y )Ng      @      @g      @)r   add)r   express      r   test_gh25344zTestIncludeFiles.test_gh25344f   s'    kkooc3'czzr   N)r   r    r!   r   r"   r#   optionsrh   r$   r   r   rb   rb   `   s\    t||GUL-HIGLDLL%>?@!,$,,w|"L!MNPGr   rb   c                   D    e Zd Z ej                  dddd      gZd Zd Zy)TestF77Commentsr   r   r	   zf77comments.fc                     t        j                  dt         j                        }t        j                  dt         j                        }| j                  j	                  ||      }|d   dk(  sJ |d   dk(  sJ y Nr   r   r)   r      r      r   arrayint32r   testsubr   x1x2rg   s       r   test_gh26148zTestF77Comments.test_gh26148p   `    XXarxx(XXarxx(kk!!"b)1v{{1v||r   c                     t        j                  ddt         j                        dz  }| j                  j	                         }t        j                  ||       y )Nr   rH   r   r   )r   r   r   r   testsub2nptassert_allclose)r   expectedrg   s      r   test_gh26466zTestF77Comments.test_gh26466w   s?    99Q"**59kk""$Hc*r   N)r   r    r!   r   r"   r#   rw   r~   r$   r   r   rk   rk   k   s'     t||GUL/JKG+r   rk   c                   >    e Zd Z ej                  dddd      gZd Zy)TestF90Continuationr   r   r	   f90continuation.f90c                     t        j                  dt         j                        }t        j                  dt         j                        }| j                  j	                  ||      }|d   dk(  sJ |d   dk(  sJ y rm   rp   rt   s       r   test_gh26148bz!TestF90Continuation.test_gh26148b   rx   r   N)r   r    r!   r   r"   r#   r   r$   r   r   r   r   }   s#     t||GUL:OPQGr   r   c                   >    e Zd Z ej                  dddd      gZd Zy)TestLowerF2PYDirectivesr   r   r	   zlower_f2py_fortran.f90c                 :    | j                   j                  d       y )Nr   )r   inquire_nextr9   s    r   test_gh28014z$TestLowerF2PYDirectives.test_gh28014   s      #r   N)r   r    r!   r   r"   r#   r   r$   r   r   r   r      s#     t||GUL:RSTGr   r   c                      	 t        j                  t        j                  dddd      gdgd      } y # t        $ r}dt	        |      vsJ Y d }~y d }~ww xY w)	Nr   r   r	   r   z	-lfoo.barBlah)module_namezlparen got assign)r   build_moduler"   RuntimeErrorrU   aarerrs     r   test_gh26623r      sY    4\\'5,8MNOM

  4"#d)3334s   03 	AAAWindowsz$Unsupported on this platform for now)reasonc                      	 t        j                  t        j                  dddd      gddgd      } y # t        $ r}d	t	        |      v sJ Y d }~y d }~ww xY w)
Nr   r   r	   zf77fixedform.f95z--f77flags='-ffixed-form -O2'z--f90flags="-ffixed-form -g"r   )ri   r   unknown_subroutine_)r   r   r"   ImportErrorrU   r   s     r   test_gh25784r      sc    2\\'5,8JKL 00
 
  2$D	1112s   14 	AAAc                   j    e Zd Z ej                  dddd       ej                  dddd      gZdZd Zy)	TestComplexStructCompatr   r   r	   zcomplex_struct_compat.pyfzcomplex_struct_compat.f90_complex_struct_compat_testc                    t        j                  g dt         j                        }| j                  j	                  |       t        j                  |j                  g d       t        j                  |j                  g d       y )N)y      ?       @y      @      @y      @      @r   )        r   r   )g      ?rd   g      @)	r   rq   
complex128r   	zero_imagr{   assert_array_equalimagreal)r   cs     r    test_complex_struct_field_accessz8TestComplexStructCompat.test_complex_struct_field_access   sQ    HH-R]]Ca qvv7qvv7r   N)r   r    r!   r   r"   r#   r   r   r$   r   r   r   r      sA    
 	We\3NOWe\3NOG 0K8r   r   c                   >    e Zd Z ej                  dddd      gZd Zy)TestAssignmentOnlyModulesr   r   r	   zassignOnlyModule.f90c                     | j                   j                  j                  dk(  sJ | j                   j                  j                  dk(  sJ | j                   j                  j                  dk(  sJ y )N      H   )r   	f_globalsn_maxi_maxj_maxr9   s    r   test_gh27167z&TestAssignmentOnlyModules.test_gh27167   s\    %%++r121%%++r121%%++r121r   N)r   r    r!   r   r"   r#   r   r$   r   r   r   r      s#     t||GUL:PQRG3r   r   )r[   platformr   numpyr   numpy.testingtestingr{    r   markslowF2PyTestr   r&   r2   r<   rP   r`   rb   rk   r   r   r   skipifsystemr   r   r   r$   r   r   <module>r      sJ   	      )dmm ) ) 8dmm 8 8 6 6 6 ) ) )( D D D"& t}}   +dmm + +" 	$-- 	 	 dmm   	4 	4 OHOO%2;ab2 c 2  8dmm 8 8  3 3 3r   