+
    Y°³jN
  ã                   ó   € R t ^ RIHt ^ RIHt ];QJ d    . R ]! ^
4       4       F  NK  	  5M! R ]! ^
4       4       4      tRt	RRut
tRR^
uttt] U u. uF  q ) R,          NK  	  up tR tR tR	 tR
 tR tR# u up i )a8  
Test Cython optimize zeros API functions: ``bisect``, ``ridder``, ``brenth``,
and ``brentq`` in `scipy.optimize.cython_optimize`, by finding the roots of a
3rd order polynomial given a sequence of constant terms, ``a0``, and fixed 1st,
2nd, and 3rd order terms in ``args``.

.. math::

    f(x, a0, args) =  ((args[2]*x + args[1])*x + args[0])*x + a0

The 3rd order polynomial function is written in Cython and called in a Python
wrapper named after the zero function. See the private ``_zeros`` Cython module
in `scipy.optimize.cython_optimze` for more information.
N)Ú_zerosc              #   óB   "  € T F  pRVR,          ,
          x € K  	  R# 5i)ç       @g      $@Ng       À© )Ú.0Úxs   & Új/home/luca/screen-checking/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test_cython_optimize.pyÚ	<genexpr>r	      s   é € Ð
,¡)˜Qˆ4�!�D•&�=Š=£)ùs   ‚ç        r   gü©ñÒMbP?c                  óÒ   € \         P                  ! \        \        \        P
                  ! R \        \        \        \        \        \        \        4      4      \        \        R7       R# )Úbisect©ÚrtolÚatolN©ÚnptÚassert_allcloseÚEXPECTEDÚlistr   Úloop_exampleÚA0ÚARGSÚXLOÚXHIÚXTOLÚRTOLÚMITRr   ó    r   Útest_bisectr   *   ó>   € Ü×ÒÜÜÜ×Ò ¬"¬d´C¼¼dÄDÌ$ÓOó	
ô œ÷r   c                  óÒ   € \         P                  ! \        \        \        P
                  ! R \        \        \        \        \        \        \        4      4      \        \        R7       R# )Úridderr   Nr   r   r   r   Útest_ridderr"   5   r   r   c                  óÒ   € \         P                  ! \        \        \        P
                  ! R \        \        \        \        \        \        \        4      4      \        \        R7       R# )Úbrenthr   Nr   r   r   r   Útest_brenthr%   @   r   r   c                  óÒ   € \         P                  ! \        \        \        P
                  ! R \        \        \        \        \        \        \        4      4      \        \        R7       R# )Úbrentqr   Nr   r   r   r   Útest_brentqr(   K   r   r   c                  ó®  € \         P                  ! \        ^ ,          3\        ,           \        \
        \        \        \        4      p \        P                  ! \        ^ ,          V R,          \        \        R7       \        P                  ! ^V R,          4       \        P                  ! ^V R,          4       \        P                  ! ^ V R,          4       R# )é    Úrootr   Ú
iterationsÚfuncallsÚ	error_numN)r   Úfull_output_exampler   r   r   r   r   r   r   r   r   r   Úassert_equal)Úoutputs    r   Útest_brentq_full_outputr2   V   s„   € Ü×'Ò'Ü	ˆA�ˆ”4�œœc¤4¬¬tó5€Fä×Òœ � V¨F¥^¼$ÄTÕJÜ×Ò�Q˜˜|Õ,Ô-Ü×Ò�Q˜˜zÕ*Ô+Ü×Ò�Q˜˜{Õ+Ö,r   )r
   r
   g      ð?gUUUUUUÕ?)Ú__doc__Únumpy.testingÚtestingr   Úscipy.optimize.cython_optimizer   ÚtupleÚranger   r   r   r   r   r   r   r   r   r"   r%   r(   r2   )Úa0s   0r   Ú<module>r:      s•   ðñõ Ý 1÷ €UÑ
,¡%¨¤)Ó
,‡U�UÑ
,¡%¨¤)Ó
,Ó,€Ø€Ø�€€€Sà˜% Ð €€dˆDÙ)+Ó,© 2ˆS�g×Ð©Ñ,€òòòòô-ùòu -s   ÁA;