+
    KV-j»  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt	^ RI
Ht ^RIHt  ! R R]P                  4      t ! R R]4      t ! R R	]P                  4      t ! R
 R]P                  4      t ! R R]P                  4      t]P(                  P*                  ]P(                  P-                  ]P.                  ! 4       P1                  4       R8H  RRR7       ! R R]P                  4      4       4       tR# )é    N)ÚIS_PYPY)Úutilc                   óÞ  a € ] tR t^t o ]P
                  ! RRRR4      .t]P                  P                  RRR.4      ]P                  P                  R 4       4       t]P                  P                  ]R	R
7      R 4       tR t]P                  P!                  ]P$                  R8H  RR
7      R 4       t]P                  P!                  ]P$                  R8H  RR
7      R 4       tR tR tRtV tR# )ÚTestF77CallbackÚtestsÚsrcÚcallbackzfoo.fÚnameÚtÚt2c                ó(   € V P                  V4       R # ©N)Úcheck_function)Úselfr
   s   &&Úo/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/numpy/f2py/tests/test_callback.pyÚtest_allÚTestF77Callback.test_all   s   € ð 	×Ñ˜DÖ!ó    z,PyPy cannot modify tp_doc after PyType_Ready)Úreasonc                ó€   € \         P                  ! R 4      pV P                  P                  P                  V8X  g   Q hR# )aË          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
        N)ÚtextwrapÚdedentÚmoduler   Ú__doc__)r   Úexpecteds   & r   Útest_docstringÚTestF77Callback.test_docstring   s5   € ô —?’?ð $ó ˆð4 �{‰{�}‰}×$Ñ$¨Ô0Ð0Ò0r   c                óþ  € \        V P                  V4      pV! R  4      pV^8X  g   Q hV! R RR7      pV^8X  g   Q hV! R RR7      pV^8X  g   Q hV! R R	R7      pV^8X  g   Q hV! \        P                  \        P                  3R7      pV^´8X  g   Q hV! \        P                  \        P                  3R7      pV^´8X  g   Q hV! V P                  P
                  RR7      pV^8X  g   Q hV! V P                  P                  4      pV^8X  g   Q hV! V P                  P                  P                  4      pV^8X  g   Q h ! R R4      pV! 4       pV! V4      pV^8X  g   Q hV! VP                  4      pV^	8X  g   Q hR# )
c                  ó   € ^# )é   © r!   r   r   Ú<lambda>Ú0TestF77Callback.check_function.<locals>.<lambda>:   s   € ‘ar   c                 ó   € ^# ©é   r!   ©Úas   &r   r"   r#   <   ó   € ™r   )Úfun_extra_argsc                 ó   € V # r   r!   r'   s   &r   r"   r#   >   r)   r   c                 ó   € ^V ,           # r%   r!   r'   s   &r   r"   r#   @   s   € ˜˜Ažr   c                   ó,   a € ] tR t^Nt o R tR tRtV tR# )Ú)TestF77Callback.check_function.<locals>.Ac                ó   € ^# ©é   r!   ©r   s   &r   Ú__call__Ú2TestF77Callback.check_function.<locals>.A.__call__O   ó   € Ùr   c                ó   € ^	# )é	   r!   r2   s   &r   ÚmthÚ-TestF77Callback.check_function.<locals>.A.mthR   r5   r   r!   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r3   r8   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   ÚAr.   N   s   ø‡ € ò÷ð r   rB   N)é   r0   )	Úgetattrr   ÚmathÚdegreesÚpiÚfuncÚfunc0Ú	_cpointerr8   )r   r
   r   ÚrrB   r(   s   &&    r   r   ÚTestF77Callback.check_function8   sQ  € Ü�D—K‘K Ó&ˆÙ‰i‹LˆØ�AŒvˆˆvÙ‰k¨%Ô0ˆØ�AŒvˆˆvÙ‰k¨%Ô0ˆØ�AŒvˆˆvÙ‰o¨eÔ4ˆØ�BŒwˆˆwÙŒd�l‰l¬D¯G©G¨;Ô7ˆØ�CŒxˆˆxÙŒd�l‰l¬D¯G©G¨;Ô7ˆØ�CŒxˆˆxáˆd�k‰k×Ñ¨uÔ5ˆØ�BŒwˆˆwÙˆd�k‰k×ÑÓ ˆØ�BŒwˆˆwÙˆd�k‰k×Ñ×)Ñ)Ó*ˆØ�BŒwˆˆw÷	ñ 	ñ ‹CˆÙˆa‹DˆØ�AŒvˆˆvÙˆa�e‰e‹HˆØ�AŒvˆŠvr   Úwin32z)Fails with MinGW64 Gfortran (Issue #9673)c                óZ   € R  pV P                   P                  pV! V4      pV^ 8X  g   Q hR# )c                 ó   € V R 8X  d   ^ # ^# )rK   r!   )Úcodes   &r   r	   Ú6TestF77Callback.test_string_callback.<locals>.callback^   s   € Ø�sŒ{Ùár   N)r   Ústring_callback)r   r	   ÚfrK   s   &   r   Útest_string_callbackÚ$TestF77Callback.test_string_callback[   s,   € ò	ð �K‰K×'Ñ'ˆÙˆh‹KˆØ�AŒvˆŠvr   c                ó  € \         P                  ! RR4      p\         P                  ! RR4      p\         P                  ! R.R4      pR pV P                  P                  pWV3 F  pV! WFVP
                  4      pV^ 8X  d   K  Q h	  R# )é   ÚS8ÚcÚ c                 ó–   € V P                   V38w  d   ^# V P                  R8w  d   ^# \        P                  ! V R8H  4      '       g   ^# ^ # )rW   rX   r   )ÚshapeÚdtypeÚnpÚall)ÚcuÚlencus   &&r   r	   Ú<TestF77Callback.test_string_callback_array.<locals>.callbackp   s;   € Ø�x‰x˜E˜8Ô#ÙØ�x‰x˜4ÔÙÜ—6’6˜" ™)×$Ò$ÙÙr   N©rW   )rW   é   )r^   ÚzerosÚarrayr   Ústring_callback_arrayÚsize)r   Úcu1Úcu2Úcu3r	   rS   r`   Úress   &       r   Útest_string_callback_arrayÚ*TestF77Callback.test_string_callback_arrayh   su   € ô �hŠh�u˜dÓ#ˆÜ�hŠh�v˜sÓ#ˆÜ�hŠh˜�t˜TÓ"ˆò	ð �K‰K×-Ñ-ˆØ˜S“/ˆBÙ�H "§'¡'Ó*ˆCØ˜!–8ˆO�8ó "r   c           
     óZ  a aa€ . oV 3R  loVVV 3R lpR UUu. uF-  p\        ^4       F  p\        P                  ! W3R7      NK  	  K/  	  pppV F  pVP                  4        K  	  V F  pVP	                  4        K  	  RP	                  S4      oS'       d   \        S4      hR# u uppi )c                  ó~   <€ \         P                  ! R 4       SP                  P                  R 4      p V ^{8X  g   Q h^*# )gü©ñÒMbP?c                  ó   € ^{# ©é{   r!   r!   r   r   r"   Ú?TestF77Callback.test_threadsafety.<locals>.cb.<locals>.<lambda>‰   s   € ¡cr   )ÚtimeÚsleepr   r   )rK   r   s    €r   ÚcbÚ-TestF77Callback.test_threadsafety.<locals>.cbƒ   s3   ø€ ô �JŠJ�tÔð —‘—‘™kÓ*ˆAØ˜”8ˆO�8ár   c                 ó  <€  \        ^24       F8  pSP                  P                  S4      pV^*8X  g   Q hSP                  V 4       K:  	  R#   \         d)    SP                  \        P                  ! 4       4        R# i ; i)é2   N)Úranger   r   r   Ú	ExceptionÚappendÚ	tracebackÚ
format_exc)r
   ÚjrK   rw   Úerrorsr   s   &  €€€r   ÚrunnerÚ1TestF77Callback.test_threadsafety.<locals>.runnerŽ   sg   ø€ ð6Ü˜rž�AØŸ™Ÿ™ bÓ)�AØ œ7�N˜7Ø×'Ñ'¨Ö-ó #øô ô 6Ø—‘œi×2Ò2Ó4×5ð6ús   ƒAA Á/A?Á>A?)ÚtargetÚargsz

N)r   r   )r{   Ú	threadingÚThreadÚstartÚjoinÚAssertionError)r   r‚   ÚargÚnÚthreadsr   rw   r�   s   f     @@r   Útest_threadsafetyÚ!TestF77Callback.test_threadsafety~   s¥   ú€ ð ˆõ		÷	6ñ #ô
á"�¬E°"®I qô ×Ò F°×9Ù,5ñ :Ù"ð 	ñ 
ó
 ˆAØ�G‰GŽIñ ó ˆAØ�F‰FŽHñ ð —‘˜VÓ$ˆßÜ  Ó(Ð(ñ ùó
s   ™3B'c                ó¸  €  V P                   P                  ^4        V P                   P                  ^4       R V P                   n        V P                   P                  ^4      pV^8X  g   Q hR V P                   n        V P                   P                  ^4      pV^8X  g   Q hV P                   = V P                   P                  ^4       RR lV P                   n        V P                   P                  ^4      pV^8X  g   Q hV P                   P                  ^4      pV^8X  g   Q hR#   \         d.   p\        T4      P	                  R4      '       g   Q h Rp?ELARp?ii ; i  \         d.   p\        T4      P	                  R4      '       g   Q h Rp?EL`Rp?ii ; i  \         d.   p\        T4      P	                  R4      '       g   Q h Rp?ELRp?ii ; i)é   zCallback global_f not definedNz!cb: Callback global_f not definedc                 ó   € V ^,           # rc   r!   ©Úxs   &r   r"   Ú6TestF77Callback.test_hidden_callback.<locals>.<lambda>±   ó   € ¨¨Q®r   c                 ó   € V ^,           # )r‘   r!   r“   s   &r   r"   r•   µ   r–   r   c                 ó   € V ^,           # )é   r!   r“   s   &r   r"   r•   ¿   s   € ¨1¨q®5r   )r   )r   Úhidden_callbackr|   ÚstrÚ
startswithÚhidden_callback2Úglobal_f)r   ÚmsgrK   s   &  r   Útest_hidden_callbackÚ$TestF77Callback.test_hidden_callback¦   sˆ  € ð	HØ�K‰K×'Ñ'¨Ô*ð	LØ�K‰K×(Ñ(¨Ô+ñ  /ˆ�‰ÔØ�K‰K×'Ñ'¨Ó*ˆØ�AŒvˆˆvá.ˆ�‰ÔØ�K‰K×'Ñ'¨Ó*ˆØ�AŒvˆˆvà�K‰KÐ ð	HØ�K‰K×'Ñ'¨Ô*ó  1ˆ�‰ÔØ�K‰K×'Ñ'¨Ó*ˆØ�AŒvˆˆvð �K‰K×(Ñ(¨Ó+ˆØ�AŒvˆŠvøô9 ô 	HÜ�s“8×&Ñ&Ð'F×GÒGÐGÖGûð	Hûô
 ô 	LÜ�s“8×&Ñ&Ð'J×KÒKÐKÖKûð	Lûô ô 	HÜ�s“8×&Ñ&Ð'F×GÒGÐGÖGûð	HúsF   ‚D+ žE& Â2F! Ä+E#Ä6"EÅE#Å&FÅ1"FÆFÆ!GÆ,"GÇGr!   N)r:   r;   r<   r=   r   ÚgetpathÚsourcesÚpytestÚmarkÚparametrizeÚslowr   Úxfailr   r   r   ÚskipifÚsysÚplatformrT   rm   rŽ   r    r>   r?   r@   s   @r   r   r      s
  ø‡ € Ø�|Š|˜G U¨J¸Ó@ÐA€Gà‡[�[×Ñ˜V c¨4 [Ó1Ø‡[�[×Ññ"ó ó 2ð"ð ‡[�[×Ñ�wØLð ó Nñ1óNð1ò:!ðF ‡[�[×Ñ˜Ÿ™¨Ñ/ØJð ó Lñ	óLð	ð ‡[�[×Ñ˜Ÿ™¨Ñ/ØJð ó LñóLðò(&)÷Pð r   r   c                   ó    € ] tR t^ÈtRtR.tRtR# )ÚTestF77CallbackPythonTLSzO
Callback tests using Python thread-local storage instead of
compiler-provided
z-DF2PY_USE_PYTHON_TLSr!   N)r:   r;   r<   r=   r   Úoptionsr>   r!   r   r   r­   r­   È   s   † ñð
 'Ð'„Gr   r­   c                   ó„   a € ] tR t^Ñt o ]P
                  ! RRRR4      .t]P                  P                  R 4       t
RtV tR# )ÚTestF90Callbackr   r   r	   zgh17797.f90c                ó¤   € R  p\         P                  ! . RO\         P                  R7      pV P                  P	                  W4      pV^�8X  g   Q hR# )c                 ó   € V ^{,           # rr   r!   r“   s   &r   ÚincrÚ*TestF90Callback.test_gh17797.<locals>.incrÖ   s   € Ø�s•7ˆNr   )r]   N)rW   r‘   r™   )r^   rf   Úint64r   Úgh17797)r   r³   ÚyrK   s   &   r   Útest_gh17797ÚTestF90Callback.test_gh17797Ô   s?   € ò	ô �HŠH’Y¤b§h¡hÔ/ˆØ�K‰K×Ñ Ó(ˆØ�OÔ#Ð#Ò#r   r!   N)r:   r;   r<   r=   r   r¢   r£   r¤   r¥   r§   r¸   r>   r?   r@   s   @r   r°   r°   Ñ   s8   ø‡ € Ø�|Š|˜G U¨J¸ÓFÐG€Gà‡[�[×Ññ$ó ö$r   r°   c                   óˆ   a € ] tR t^Þt o Rt]P                  ! RRRR4      .t]P                  P                  R 4       tRtV tR# )	ÚTestGH18335zÔThe reproduction of the reported issue requires specific input that
extensions may break the issue conditions, so the reproducer is
implemented as a separate test class. Do not extend this test with
other tests!
r   r   r	   zgh18335.f90c                óT   € R  pV P                   P                  V4      pV^|8X  g   Q hR# )c                 ó0   € V ^ ;;,          ^,          uu&   R# )r   Nr!   r“   s   &r   ÚfooÚ%TestGH18335.test_gh18335.<locals>.fooè   s   € Øˆa�D�A�I�Dr   N)r   Úgh18335)r   r¾   rK   s   &  r   Útest_gh18335ÚTestGH18335.test_gh18335æ   s)   € ò	ð �K‰K×Ñ Ó$ˆØ�GŒ|ÐŠ|r   r!   N)r:   r;   r<   r=   r   r   r¢   r£   r¤   r¥   r§   rÁ   r>   r?   r@   s   @r   r»   r»   Þ   s?   ø‡ € ñð
 �|Š|˜G U¨J¸ÓFÐG€Gà‡[�[×Ññó ör   r»   c                   ó~   a € ] tR t^ït o ]P
                  ! RRRR4      ]P
                  ! RRRR4      .tRtR tRt	V t
R	# )
ÚTestGH25211r   r   r	   z	gh25211.fzgh25211.pyfÚ	callback2c                óT   € R  pV P                   P                  V4      pV^n8X  g   Q hR# )c                 ó   € W ,          # r   r!   r“   s   &r   ÚbarÚ%TestGH25211.test_gh25211.<locals>.barõ   s	   € Ø•5ˆLr   N)r   r¾   )r   rÈ   rl   s   &  r   Útest_gh25211ÚTestGH25211.test_gh25211ô   s'   € ò	ð �k‰k�o‰o˜cÓ"ˆØ�cŒzÐŠzr   r!   N)r:   r;   r<   r=   r   r¢   r£   Úmodule_namerÊ   r>   r?   r@   s   @r   rÄ   rÄ   ï   s@   ø‡ € Ø�|Š|˜G U¨J¸ÓDØ�|Š|˜G U¨J¸ÓFðH€Gà€K÷ð r   rÄ   ÚdarwinFz*Callback aborts cause CI failures on macOS)Ú	conditionÚrunr   c                   óX   a € ] tR t^üt o ]P
                  ! RRRR4      .tR.tR tRt	V t
R# )	ÚTestCBFortranCallstatementr   r   r	   zgh26681.f90z--lowerc                ó0  € \         P                  ! \        R R7      ;_uu_ 4       pV P                  P                  P
                  V P                  n        V P                  P                  P                  R 4       RRR4       R#   + '       g   i     R# ; i)Úhelpme)ÚmatchN)r¤   ÚraisesÚ
ValueErrorr   ÚutilsÚmy_abortÚ
mypy_abortÚdo_something)r   Úexcs   & r   Útest_callstatement_fortranÚ5TestCBFortranCallstatement.test_callstatement_fortran  sX   € Ü�]Š]œ:¨X×6Õ6¸#Ø%)§[¡[×%6Ñ%6×%?Ñ%?ˆD�K‰KÔ"Ø�K‰K×Ñ×*Ñ*¨8Ô4÷ 7×6×6Ò6ús   ¥ABÂB	r!   N)r:   r;   r<   r=   r   r¢   r£   r®   rÜ   r>   r?   r@   s   @r   rÑ   rÑ   ü   s/   ø‡ € ð
 �|Š|˜G U¨J¸ÓFÐG€GØˆk€G÷5ð 5r   rÑ   )rE   r«   rª   r   r†   ru   r~   r¤   Únumpyr^   Únumpy.testingr   rZ   r   ÚF2PyTestr   r­   r°   r»   rÄ   r¥   r§   r¨   ÚsystemÚlowerrÑ   r!   r   r   Ú<module>rã      sÙ   ðÛ Û Û 
Û Û Û Û ã ã Ý !å ôt�d—m‘mô tôn(˜ô (ô
$�d—m‘mô 
$ô�$—-‘-ô ô"
�$—-‘-ô 
ð ‡�×ÑØ‡�×Ñ˜hŸošoÓ/×5Ñ5Ó7¸8ÑCØØFð ó Hô5 §¡ó 5óHó ò5r   