Ë
    âQ(h³�  ã                   óF  — d dl Z d dlZd dlmZ d dlmZmZ d dlm	c m
Z d dlmZ d dlmZmZmZmZ d dlmZ d dlmZ d„ Zd	„ Zd
ZdZe j6                  j9                  de¬«      e j6                  j9                  de¬«      ee j6                  j;                  d«       G d„ d«      «       «       «       «       Ze j6                  j9                  de¬«      e j6                  j9                  de¬«      ee j6                  j;                  d«       G d„ d«      «       «       «       «       Zy)é    N)Ú_ELIMITS)Úbracket_rootÚbracket_minimum)Ústats)Úxp_assert_closeÚxp_assert_equalÚxp_assert_lessÚarray_namespace)Úxp_ravel)Úarray_api_compatiblec                  óˆ   — t        | i |¤Ž}|j                  \  |_        |_        |j                  \  |_        |_        |`|`|S ©N)r   ÚbracketÚxlÚxrÚ	f_bracketÚflÚfr©ÚargsÚkwargsÚress      ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_bracket.pyÚ_bracket_rootr      sB   € Ü
˜Ð
' Ñ
'€CØ—[‘[�N€C„FˆCŒFØ—]‘]�N€C„FˆCŒFØˆØˆØ€Jó    c                  ó    — t        | i |¤Ž}|j                  \  |_        |_        |_        |j
                  \  |_        |_        |_        |`|`|S r   )	r   r   r   Úxmr   r   r   Úfmr   r   s      r   Ú_bracket_minimumr   #   sL   € Ü
˜4Ð
* 6Ñ
*€CØ Ÿ[™[Ñ€C„FˆCŒF�C”FØ Ÿ]™]Ñ€C„FˆCŒF�C”FØˆØˆØ€Jr   z5Array API does not support fancy indexing assignment.z*JAX arrays do not support item assignment.Úarray_api_strict)Úreasonz	jax.numpyÚskip_xp_backendsc            	       ó¾  — e Zd Zej                  j                  dd«      ej                  j                  dd«      ej                  j                  dd«      ej                  j                  dd«      d„ «       «       «       «       Zd„ Zej                  j                  d	d
 ej                  ddd«      g«      ej                  j                  dddg«      ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       «       «       Z
ej                  j                  d e«       dddg«      d„ «       Zd„ Zej                  j                  ddddgf«      ej                  j                  dddg«      ej                  j                  dddg«      ej                  j                  d d!«      d"„ «       «       «       «       Zd#„ Zd$„ Zd%„ Zy)&ÚTestBracketRootÚseed)i½&²$l   Šv ih¿0Úuse_xmin©FTÚ
other_sideÚfix_one_sidec                 óü  ‡— t         j                  j                  |«      }|j                  |j                  d¬«      g d¢z  «      \  }}}	d|	z   }	||z   }
ˆfd„Š|rŠ|j                  |j                  «        «      }|j	                  |j                  ||z
   |z  «      |j                  |	«      z  «      }|||z
  |	| z  z  z   |||z
  |	|dz
   z  z  z   }}t        ||
|	|¬«      }n\|j	                  |j                  |
|z  «      |j                  |	«      z  «      }|
||	|z  z  z
  |
||	|dz
  z  z  z
  }}t        ||
|	¬«      }|r2|d    |d	    c|d	<   |d<   | | }}d
|v r|j                  d
«       |d<   |r|r|
 |d
<   n|
|d<   d‰_        t        ‰fi |¤Ž}|sF|j                  d|j                  dz   z  cxk(  r"d‰j                  dz
  z  cxk(  rd|dz   z  k(  sKJ ‚ J ‚|j                  |j                  dz   dz   cxk(  r"‰j                  dz
  dz   cxk(  r|dz   dz   k(  sJ ‚ J ‚|j                  |j                  |j                  g«      }t        ||j                  ||g«      «       |j                  |j                  |j                   g«      }t        | ‰|«      «       |j                  |j                  kD  sJ ‚|j#                  |«      }|d   |d    k(  sJ ‚|j$                  dk(  sJ ‚|j&                  sJ ‚y )Né   ©Úsize)ç     jø@é
   é   é   c                 ó2   •— ‰xj                   dz  c_         | S ©Nr1   ©Úcount©ÚxÚfs    €r   r8   z-TestBracketRoot.test_nfev_expected.<locals>.fG   ó   ø€ Ø�GŠG�q‰L�GØˆHr   )Úxl0Úxr0ÚfactorÚxmin)r:   r;   r<   r;   r:   r=   Úxmaxr   é   )ÚnpÚrandomÚdefault_rngÚasarrayÚceilÚlogÚdictÚpopr5   r   ÚnfevÚnitr   r   r   r   r   ÚsignÚstatusÚsuccess)Úselfr%   r&   r(   r)   ÚxpÚrngr:   Údr<   r;   r=   ÚnÚlÚur   r   r   r   Úsignsr8   s                       @r   Útest_nfev_expectedz"TestBracketRoot.test_nfev_expected4   sþ  ø€ ô �i‰i×#Ñ# DÓ)ˆØŸ™ C§J¡J°A JÓ$6ºÑ$EÓF‰ˆˆQ�Ø�V‘ˆØ�A‰gˆô	ñ Ø—:‘:˜sŸz™z›|˜mÓ,ˆDØ—‘˜Ÿ™  t¡˜}¨tÑ3Ó4°r·v±v¸f³~ÑEÓFˆAØ˜3 ™: v°¨r¡zÑ1Ñ1°4¸3À¹:ÀvÐQRÐUVÑQVÈxÑGWÑ:WÑ3WˆqˆAÜ˜c s°6ÀÔE‰Fà—‘˜Ÿ™˜s 1™u›¨¯©¨v«Ñ6Ó7ˆAØ˜˜6 1™9™Ñ$ c¨A¨f°q¸±s©m©OÑ&;ˆqˆAÜ˜c s°6Ô:ˆFáØ,2°5©M¨>¸FÀ5¹M¸>Ð(ˆF�5‰M˜6 %™=Ø�2˜�rˆqˆAØ˜ÑØ"(§*¡*¨VÓ"4Ð!4��v‘áÙØ"% ��v’à!$��v‘àˆŒÜ˜AÑ( Ñ(ˆñ Ø—8‘8˜q #§'¡'¨!¡)™}ÔJ°°1·7±7¸1±9±ÔJÀÀAÈÁEÁÒJÐJÑJÐJÐJà—8‘8 §¡¨¡	¨1™}ÔH°·±¸±¸A±ÔHÀ!ÀAÁ#ÀqÁÒHÐHÑHÐHÐHð —*‘*˜cŸf™f c§f¡fÐ-Ó.ˆÜ˜ §¡¨Q°¨FÓ!3Ô4Ø—J‘J §¡¨¯©Ð/Ó0ˆ	Ü˜	¡1 W£:Ô.ð �v‰v˜Ÿ™ŠÐˆØ—‘˜	Ó"ˆØ�Q‰x˜E !™H˜9Ò$Ð$Ð$Ø�z‰z˜QŠÐˆØ�{Š{Ð‰{r   c                 ób   — t         j                  j                  «       j                  |«      |z
  S r   )r   Ú	_stats_pyÚ_SimpleNormalÚcdf)rM   ÚqÚps      r   r8   zTestBracketRoot.f�   s%   € Ü�‰×,Ñ,Ó.×2Ñ2°1Ó5¸Ñ9Ð9r   r[   ç333333ã?çš™™™™™©?gffffffî?r/   r=   éûÿÿÿNr>   r0   r<   ç333333ó?r?   c                 óø   — t        | j                  |j                  d«      d||||j                  |«      f¬«      }t        |j	                  |j
                  «       |j	                  |j                  «      «       y )Nç{®Gáz„¿ç{®Gáz„?)r=   r>   r<   r   )r   r8   rC   r   rJ   r   r   )rM   r[   r=   r>   r<   rN   r   s          r   Ú
test_basiczTestBracketRoot.test_basic„   s[   € ô ˜DŸF™F B§J¡J¨uÓ$5°tÀ$ÈTØ#)°·±¸A³Ð0@ôBˆä˜Ÿ™ §¡›Ð(¨"¯'©'°#·&±&«/Õ:r   Úshape©é   ©r+   é   ©r+   r?   r?   c           
      ó¢  ‡ ‡‡— |r&t        j                  ddd«      j                  |«      nt        j                  d«      }|f}dŠt         j                  ˆˆ fd„«       }ˆˆ fd„Šd‰_        t         j                  j                  d	«      }|j                  |¬
«       }|j                  |¬
«      }d|z  d|z  }
}	|r=|j                  |¬
«      dkD  }t         j                   t         j                  c|	|<   |
|<   |j                  |¬
«      dz   } ||||	|
||«      j                  «       }|j                  |«      |j                  |«      |j                  |	«      |j                  |
«      |j                  |«      f\  }}}	}
}t        t        |j                  |«      «      }t        ‰|||	|
||‰¬«      }g d¢}|D ]r  }|D �cg c]  }|j                  t        ||«      «      ‘Œ }}t        ||«      }t        t!        ||¬«      |j#                  |«      «       t%        |j&                  |«       Œt t)        |j                  d«      «      }|j*                  j,                  |j.                  k(  sJ ‚|r |j1                  |j*                  dd «      sJ ‚|j2                  j,                  |j4                  k(  sJ ‚|j6                  j,                  |j4                  k(  sJ ‚|j8                  j,                  |j4                  k(  sJ ‚|j;                  |j8                  «      ‰j
                  dz
  k(  sJ ‚t=        |j>                  |j@                  «       t        |jB                  |j                   ‰ jD                  |j>                  g|¢­Ž «      «       t        |jF                  |j                   ‰ jD                  |j@                  g|¢­Ž «      «       y c c}w )Nçš™™™™™©¿çÍÌÌÌÌÌð?rf   r\   r/   c           
      ó@   •— t        ‰j                  | |||||f‰¬«      S )N©r=   r>   r<   r   Úmaxiter)r   r8   )r:   r;   r=   r>   r<   r[   ro   rM   s         €€r   Úbracket_root_singlez?TestBracketRoot.test_vectorization.<locals>.bracket_root_single–   s(   ø€ ä  §¡¨¨c¸À4Ø(.°a°TØ)0ô2ð 2r   c                  óR   •— ‰xj                   dz  c_          ‰j                  | i |¤ŽS r3   )Úf_evalsr8   )r   r   r8   rM   s     €€r   r8   z-TestBracketRoot.test_vectorization.<locals>.fœ   s&   ø€ Ø�IŠI˜‰N�IØ�4—6‘6˜4Ð* 6Ñ*Ð*r   r   éÊÔ# r,   ç     @�@ç      à?ç      ø?rn   )r   r   r   r   rL   rH   rI   ©rN   ç      ð?r1   éÿÿÿÿr?   )$r@   ÚlinspaceÚreshapeÚfloat64Ú	vectorizerr   rA   rB   ÚinfÚravelrC   ÚtupleÚmapr   Úgetattrr   r   Ústackr   rd   r
   rL   ÚdtypeÚboolÚallrK   Úint32rH   rI   Úmaxr	   r   r   r   r8   r   )rM   rd   rN   r[   r   rp   rO   r:   r;   r=   r>   Úir<   Úrefsr   ÚattrsÚattrÚrefÚref_attrÚres_attrÚxp_testr8   ro   s   `                    @@r   Útest_vectorizationz"TestBracketRoot.test_vectorizationŽ   s*  ú€ ñ <AŒB�K‰K˜˜t RÓ(×0Ñ0°Ô7ÄbÇjÁjÐQTÃoˆØˆtˆØˆä	�‰ô	2ó 
ð	2õ
	+ð ˆŒ	ä�i‰i×#Ñ# GÓ,ˆØ�z‰z˜uˆzÓ%Ð%ˆØ�j‰j˜eˆjÓ$ˆØ˜‘W˜c #™gˆdˆÙØ—
‘
 �
Ó&¨Ñ,ˆAÜ "§¡˜w¬¯©ÐˆD�‰G�T˜!‘WØ—‘ �Ó'¨#Ñ-ˆÙ" 3¨¨T°4¸ÀÓC×IÑIÓKˆØ(*¯
©
°3«¸¿¹ÀC»Ø(*¯
©
°4Ó(8¸"¿*¹*ÀTÓ:JØ(*¯
©
°6Ó(:ð(<Ñ$ˆˆS�$˜˜fô ”S˜Ÿ™ TÓ*Ó+ˆÜ˜A˜s C¨d¸ÀfØ!%¨wô8ˆò CˆØò 	3ˆDØBFÖG¸3˜Ÿ
™
¤7¨3°Ó#5Õ6ÐGˆHÐGÜ˜s DÓ)ˆHÜœH X°"Ô5°r·x±xÀÓ7IÔJÜ˜HŸN™N¨EÕ2ð		3ô " "§*¡*¨R£.Ó1ˆØ�{‰{× Ñ  G§L¡LÒ0Ð0Ð0ÙØ—6‘6˜#Ÿ+™+ a¨Ð+Ô,Ð,Ð,Ø�z‰z×Ñ 2§8¡8Ò+Ð+Ð+Ø�x‰x�~‰~ §¡Ò)Ð)Ð)Ø�w‰w�}‰} §¡Ò(Ð(Ð(Ø�v‰v�c—g‘g‹ !§)¡)¨a¡-Ò/Ð/Ð/Ü�s—v‘v˜sŸv™vÔ&Ü˜Ÿ™ §
¡
¨6¨4¯6©6°#·&±&Ð+@¸4Ò+@Ó AÔBÜ˜Ÿ™ §
¡
¨6¨4¯6©6°#·&±&Ð+@¸4Ò+@Ó AÕBùò Hs   Ç "Oc                 ój  ‡— ˆfd„}‰j                  d‰j                  ¬«      f}t        |‰j                  g d¢«      ‰j                  g d¢«      ‰j                  ‰j                   d‰j                   ‰j                   dg«      ‰j                  ‰j                  d‰j                  ‰j                  d	g«      |d
¬«      }‰j                  t
        j                  t        t
        j                  t
        j                  t
        j                  g‰j                  ¬«      }t        |j                  |«       y )Nc           	      óŽ   •— d„ d„ d„ ˆfd„d„ g}t        | |«      D ��cg c]  \  }} |t        |«         |«      ‘Œ c}}S c c}}w )Nc                 ó   — | dz
  S )Nrv   © ©r7   s    r   ú<lambda>z7TestBracketRoot.test_flags.<locals>.f.<locals>.<lambda>È   s
   € ˜q 3™w€ r   c                 ó   — | dz
  S ©Niè  r•   r–   s    r   r—   z7TestBracketRoot.test_flags.<locals>.f.<locals>.<lambda>É   ó
   € ˜q 4™x€ r   c                 ó   — | dz
  S r™   r•   r–   s    r   r—   z7TestBracketRoot.test_flags.<locals>.f.<locals>.<lambda>Ê   rš   r   c                 ó"   •— | ‰j                   z  S r   ©Únan©r7   rN   s    €r   r—   z7TestBracketRoot.test_flags.<locals>.f.<locals>.<lambda>Ë   s   ø€ ˜q 2§6¡6™z€ r   c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_flags.<locals>.f.<locals>.<lambda>Ì   ó   € ˜q€ r   )ÚzipÚint©ÚxsÚjsÚfuncsr7   ÚjrN   s        €r   r8   z%TestBracketRoot.test_flags.<locals>.fÇ   sH   ø€ Ù&Ù'Ù'Û)Ù ð	"ˆEô 25°R¸³×=©¨¨A�M�Eœ#˜a›&‘M !Õ$Ó=Ð=ùÓ=s   ŸAr0   ©r„   )ç      ð¿rª   rª   rª   ç      @)r1   r1   r1   r1   éüÿÿÿry   é   r1   r?   r+   )r:   r;   r=   r>   r   ro   )ÚarangeÚint64r   rC   r~   ÚeimÚ_ECONVERGEDr   Ú	_ECONVERRÚ
_EVALUEERRÚ
_EINPUTERRr‡   r   rK   )rM   rN   r8   r   r   Ú	ref_flagss    `    r   Ú
test_flagszTestBracketRoot.test_flagsÄ   së   ø€ ô	>ð —	‘	˜! 2§8¡8�	Ó,Ð.ˆÜ˜AØ "§
¡
Ò+CÓ DØ "§
¡
Ò+;Ó <Ø!#§¡¨b¯f©f¨W°b¸2¿6¹6¸'ÀBÇFÁFÀ7ÈAÐ,NÓ!OØ!#§¡¨R¯V©V°Q¸¿¹ÀÇÁÈÐ,JÓ!KØ!%¨qô2ˆð —J‘J¤§¡Ü (Ü #§¡Ü #§¡Ü #§¡ð	 0ð
 &(§X¡Xð ó /ˆ	ô 	˜Ÿ
™
 IÕ.r   Úrootç�•C‹lçã?çV-²�ïã?r„   ©Úfloat16Úfloat32r|   c                 óJ  ‡‡	— t        |‰«      Št        |j                  d«      «      Š	|€|n|j                  |‰¬«      }|€|n|j                  |‰¬«      }|j                  |‰¬«      }ˆˆ	fd„}|j                  ddg‰¬«      }t        |g|¢­|||fdœŽ}|j	                  |j
                  «      sJ ‚|j                  j                  |j                  j                  cxk(  r‰k(  sJ ‚ J ‚|j                  j                  |j                  j                  cxk(  r‰k(  sJ ‚ J ‚y )Nrx   r©   c                 ó4   •— ‰j                  | |z
  dz  ‰«      S )Nr+   ©Úastype)r7   r·   r„   r�   s     €€r   r8   z%TestBracketRoot.test_dtype.<locals>.fí   s   ø€ Ø—>‘> 1 t¡8°¡/°5Ó9Ð9r   ra   rb   )r=   r>   r   )r‚   r
   rC   r   r†   rL   r   r„   r   r   r   )
rM   r·   r=   r>   r„   rN   r8   r   r   r�   s
       `    @r   Ú
test_dtypezTestBracketRoot.test_dtypeá   s  ù€ ô ˜˜EÓ"ˆÜ! "§*¡*¨R£.Ó1ˆà�|‰t¨¯©°DÀ¨Ó)FˆØ�|‰t¨¯©°DÀ¨Ó)FˆØ�z‰z˜$ eˆzÓ,ˆõ	:ð —*‘*˜e T˜]°%�*Ó8ˆÜ˜AÐL ÑL¨d¸ÀTÀGÒLˆØ�v‰v�c—k‘kÔ"Ð"Ð"Ø�v‰v�|‰|˜sŸv™vŸ|™|Ô4¨uÒ4Ð4Ñ4Ð4Ð4Ø�v‰v�|‰|˜sŸv™vŸ|™|Ô4¨uÒ4Ð4Ñ4Ð4Ñ4r   c           	      óú  — d}t        j                  t        |¬«      5  t        d dd«       d d d «       d}t        j                  t        |¬«      5  t        d„ dd«       d d d «       t        j                  t        |¬«      5  t        d„ dd	«       d d d «       t        j                  t        |¬«      5  t        d
„ ddt        ¬«       d d d «       t        j                  t        |¬«      5  t        d„ ddt        «       ¬«       d d d «       t        j                  t        |¬«      5  t        d„ ddt        ¬«       d d d «       d}t        j                  t        |¬«      5  t        d„ ddd¬«       d d d «       d}t        j                  t        |¬«      5  t        d„ |j                  ddg«      |j                  g d¢«      «       d d d «       d}t        j                  t        |¬«      5  t        d„ ddd¬«       d d d «       t        j                  t        |¬«      5  t        d„ ddd¬«       d d d «       t        j                  t        |¬«      5  t        d„ ddd¬«       d d d «       y # 1 sw Y   �ŒGxY w# 1 sw Y   �Œ xY w# 1 sw Y   �ŒûxY w# 1 sw Y   �ŒÐxY w# 1 sw Y   �Œ¡xY w# 1 sw Y   �ŒvxY w# 1 sw Y   �ŒMxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÚxY w# 1 sw Y   Œ²xY w# 1 sw Y   y xY w) Nú`func` must be callable.©Úmatchr¬   rh   ú...must be numeric and real.c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>ÿ   ó   €  A€ r   y      À      ð?c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   Úhelloc                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   ©r=   c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   ©r>   c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   ©r<   ú0All elements of `factor` must be greater than 1.c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   ru   Ú	broadcastc                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   éþÿÿÿéýÿÿÿ)r+   rh   r0   ú)`maxiter` must be a non-negative integer.c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   rv   )ro   c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   ry   c                 ó   — | S r   r•   r–   s    r   r—   z7TestBracketRoot.test_input_validation.<locals>.<lambda>  rÈ   r   Ú	shrubbery)	ÚpytestÚraisesÚ
ValueErrorr   r@   ÚobjectÚsumÚ	ExceptionrC   ©rM   rN   Úmessages      r   Útest_input_validationz%TestBracketRoot.test_input_validationö   s`  € ð -ˆÜ�]‰]œ:¨WÔ5ñ 	'Ü˜$  AÔ&÷	'ð 1ˆÜ�]‰]œ:¨WÔ5ñ 	1Ü™+ u¨aÔ0÷	1ä�]‰]œ:¨WÔ5ñ 	4Ü™+ r¨7Ô3÷	4ä�]‰]œ:¨WÔ5ñ 	7Ü™+ r¨1´2Õ6÷	7ä�]‰]œ:¨WÔ5ñ 	=Ü™+ r¨1´6³8Õ<÷	=ä�]‰]œ:¨WÔ5ñ 	:Ü™+ r¨1´SÕ9÷	:ð EˆÜ�]‰]œ:¨WÔ5ñ 	:Ü™+ r¨1°SÕ9÷	:ð ˆä�]‰]œ9¨GÔ4ñ 	TÜ™+ r§z¡z°2°r°(Ó';¸R¿Z¹ZÊ	Ó=RÔS÷	Tð >ˆÜ�]‰]œ:¨WÔ5ñ 	;Ü™+ r¨1°cÕ:÷	;ä�]‰]œ:¨WÔ5ñ 	:Ü™+ r¨1°bÕ9÷	:ä�]‰]œ:¨WÔ5ñ 	CÜ™+ r¨1°kÕB÷	Cð 	C÷A	'ñ 	'ú÷	1ñ 	1ú÷	4ñ 	4ú÷	7ñ 	7ú÷	=ñ 	=ú÷	:ñ 	:ú÷	:ñ 	:ú÷
	Tñ 	Tú÷	;ð 	;ú÷	:ð 	:ú÷	Cð 	Cúsƒ   žI1ÁI>ÂJÂ5JÃ-J%Ä)J2Å#J?Æ1KÇ/KÈ#K%ÉK1É1I;É>JÊJÊJ"Ê%J/Ê2J<Ê?K	ËKËK"Ë%K.Ë1K:c                 ó,  ‡‡— t        |j                  d«      «      Šˆfd„Št        ‰|j                  d«      |j                  d«      «      }|j                  sJ ‚d„ Š|j                  d«      |j                  d«      f}t        ‰g|¢­ddiŽ}|j                  sJ |j
                  |k(  «       ‚|j                  dk(  sJ ‚|j                  d	k(  sJ ‚|j                  d
k(  sJ ‚d„ Št        ‰|j                  d«      |j                  d«      |j                  d«      ¬«      }|j                  sJ ‚t        |j                   ‰|j                  d«      «       ˆfd„Šd‰_        t        ‰|j                  d«      |j                  d«      «       ‰j                  d	k(  sJ ‚d‰_        t        ‰|j                  d«      |j                  d«      d	¬«      }|j                  dk(  sJ ‚t        |j                  |j                  d«      d¬«       t        |j
                  |j                  d«      d¬«       t        j                  d¬«      5  t        ‰|j                  d«      |j                  d«      d¬«      }d d d «       t        |j                  |j                  d«      d¬«       t        j                  d¬«      5  t        ‰|j                  d«      |j                  d«      d¬«      }d d d «       t        |j
                  |j                  d«      d¬«       t        j                  d¬«      5  t        ‰|j                  d«      |j                  d«      d¬«      }d d d «       |j                  rJ ‚y # 1 sw Y   ŒþxY w# 1 sw Y   Œ—xY w# 1 sw Y   Œ0xY w) Nrx   c                 óP   •— ‰j                  | j                  d«      sJ ‚| dz  dz
  S )Nzreal floatingéc   r1   ©Úisdtyper„   ©r7   r�   s    €r   r8   z-TestBracketRoot.test_special_cases.<locals>.f#  s)   ø€ Ø—?‘? 1§7¡7¨OÔ<Ð<Ð<Ø˜‘7˜Q‘;Ðr   ç      Àg      @c                 ó   — | dz
  S )Nr/   r•   r–   s    r   r8   z-TestBracketRoot.test_special_cases.<locals>.f+  s   € Ø�r‘6ˆMr   ç      Àro   r   r?   rÕ   c                 ó   — || z  dz
  S r3   r•   ©r7   Úcs     r   r8   z-TestBracketRoot.test_special_cases.<locals>.f6  s   € Ø�Q‘3˜‘7ˆNr   rª   ç      @©r   r+   c                 ó2   •— ‰xj                   dz  c_         | S r3   r4   r6   s    €r   r8   z-TestBracketRoot.test_special_cases.<locals>.f@  r9   r   iöÿÿÿé   g      $@rÐ   rh   ç        gVçž¯Ò<)ÚatolÚignore)ÚoverrÌ   g      $Àg      ÀrÎ   r1   )r
   rC   r   rL   r   r   rI   rH   rK   r   r   r5   r@   Úerrstate)rM   rN   r   r   r8   r�   s       @@r   Útest_special_casesz"TestBracketRoot.test_special_cases  sÚ  ù€ ä! "§*¡*¨R£.Ó1ˆô	ô ˜A˜rŸz™z¨#›°·
±
¸2³Ó?ˆØ�{Š{Ðˆ{ò	ð —:‘:˜c“? B§J¡J¨r£NÐ3ˆÜ˜AÐ3 Ò3°Ñ3ˆØ�vŠvÐ(�s—v‘v Ñ(Ó(ˆvØ�w‰w˜!Š|Ðˆ|Ø�x‰x˜1Š}Ðˆ}Ø�z‰z˜RÒÐÐò	ô ˜A˜rŸz™z¨#›°·
±
¸2³Ø!#§¡¨B£ô1ˆà�{Š{Ðˆ{Ü˜Ÿ™¡ #§&¡&¨!£Ô-ô	ð
 ˆŒÜ�a˜Ÿ™ C›¨"¯*©*°R«.Ô9Ø�w‰w˜!Š|Ðˆ|ð ˆŒÜ˜A˜rŸz™z¨"›~¨r¯z©z¸#«Ø#$ô&ˆð �x‰x˜1Š}Ðˆ}Ü˜Ÿ™ §
¡
¨2£°UÕ;Ü˜Ÿ™ §
¡
¨2£°UÕ;ô �[‰[˜hÔ'ñ 	(Ü  2§:¡:¨b£>°2·:±:¸c³?Ø%&ô(ˆC÷	(ô 	˜Ÿ™ §
¡
¨2£°UÕ;ä�[‰[˜hÔ'ñ 	(Ü  2§:¡:¨dÓ#3°R·Z±ZÀ³_Ø%&ô(ˆC÷	(ô 	˜Ÿ™ §
¡
¨2£°UÕ;ô �[‰[˜hÔ'ñ 	(Ü  2§:¡:¨b£>°2·:±:¸c³?Ø%&ô(ˆC÷	(ð —;’;Ðˆ�;÷	(ð 	(ú÷
	(ð 	(ú÷	(ð 	(ús$   É.M2Ê:.M>Ì-.N
Í2M;Í>NÎ
Nc           	      ó2  — d„ }t        j                  ddg«      }t        |dt         j                   d|f¬«      }d„ }g d¢}g d	¢}g d
¢}g d¢}t         j                   dt         j                   t         j                   dt         j                   t         j                   t         j                   g}dt         j                  ddt         j                  dddg}t        |||||||f¬«      }t        d„ dt         j                   d¬«      }|j                  sJ ‚y )Nc                 ó2   — t        j                  | «      |z
  S r   ©r@   Úexp)r7   r[   s     r   r8   z)TestBracketRoot.test_bug_fixes.<locals>.fj  s   € Ü—6‘6˜!“9˜q‘=Ð r   g�Âõ(\�Ò?gffffffÖ?ry   r   )r:   r=   r>   r   c                 ó8   — t        j                  | |z  «      |z
  S r   rý   )r7   r[   rð   s      r   r8   z)TestBracketRoot.test_bug_fixes.<locals>.fq  s   € Ü—6‘6˜!˜A™#“; ‘?Ð"r   )g§èi<è„Ô?gÈØ¾xÙ?gtªÆ\c¡Ù?gL·�0+à?gtšäË4Ïá?gŽ¡¿j~¾?gEˆ§.KØ?gð'2ŒLå?)rx   rª   rx   rx   rª   rx   rx   rx   )gÊ·©G;†Àg¡_„¾.:
@gÊëbG½ Àg¤¯9jùü¿g¨¡WM!�í?gËðeÃêÀg~:ŸÏZå¿g²öV¨^ŒÜ¿)gÊ·©G;†ÀgÐ/B_@g“ÖÅŽzÀgH_sÔòÿè¿gÔÐ«¦�Àþ?g•áË†-Ô÷¿rõ   rõ   rõ   ©r:   r;   r=   r>   r   c                 ó   — | dz   S )Ng      Ð?r•   r–   s    r   r—   z0TestBracketRoot.test_bug_fixes.<locals>.<lambda>ƒ  s
   €  a¨$¡h€ r   ç      à¿)r:   r=   r>   )r@   rC   r   r~   rL   )	rM   r8   r[   r   rð   r:   r;   r=   r>   s	            r   Útest_bug_fixeszTestBracketRoot.test_bug_fixesc  sî   € ò	!ô �J‰J˜˜d�|Ó$ˆÜ˜A 2¬R¯V©V¨G¸!À1À%ÔHˆò	#ò1ˆâ.ˆòBˆò0ˆä—‘�˜œbŸf™f˜W¤r§v¡v g¨r´B·F±F°7¼R¿V¹V¸GÜ—‘�ðˆà”B—F‘F˜B ¤B§F¡F¨B°°BÐ7ˆä˜A 3¨C°dÀÈQÐPQÈFÔSˆô Ñ.°DÄÇÁ¸wÈQÔOˆØ�{Š{Ð‰{r   )Ú__name__Ú
__module__Ú__qualname__rÜ   ÚmarkÚparametrizerU   r8   r@   rz   rc   r€   r‘   r¶   rÁ   rä   rú   r  r•   r   r   r$   r$   /   sÜ  „ ð
 ‡[�[×Ñ˜VÐ%GÓHØ‡[�[×Ñ˜Z¨Ó7Ø‡[�[×Ñ˜\¨=Ó9Ø‡[�[×Ñ˜^¨]Ó;ñGó <ó :ó 8ó IðGòR:ð ‡[�[×Ñ˜S 3¨¨¯©°D¸$ÀÓ(CÐ"DÓEØ‡[�[×Ñ˜V b¨$ ZÓ0Ø‡[�[×Ñ˜V a¨ YÓ/Ø‡[�[×Ñ˜X¨¨Q xÓ0ñ;ó 1ó 0ó 1ó Fð;ð ‡[�[×Ñ˜W¡u£w°°v¸yÐ&IÓJñ3Có Kð3Còj/ð: ‡[�[×Ñ˜V e¨e°U¨^Ð%<Ó=Ø‡[�[×Ñ˜V b¨$ ZÓ0Ø‡[�[×Ñ˜V a¨ YÓ/Ø‡[�[×Ñ˜WÐ&GÓHñ5ó Ió 0ó 1ó >ð5ò"%CòNDóL!r   r$   c                   óú  — e Zd Zd„ Zd„ Zdddddddœd„Zej                  j                  dd«      ej                  j                  dd	«      ej                  j                  d
d	«      d„ «       «       «       Z	d„ Z
ej                  j                  ddddgf«      ej                  j                  dd«      ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       «       «       Zej                  j                  dd¬«      d„ «       Zej                  j                  dddg«      ej                  j                  dd«      ej                  j                  dd «      ej                  j                  d!d"«      d#„ «       «       «       «       Zej                  j                  d$d%«      ej                  j                  d!d&«      d'„ «       «       Zej                  j                  d(d)«      ej                  j                  d!d*«      d+„ «       «       Zej                  j                  d,d-«      d.„ «       Zej                  j                  d/ e«       d0d1d2g«      d3„ «       Zd4„ Zd5„ Zd6„ Zy)7ÚTestBracketMinimumc                 ó    ‡— ˆfd„Šd‰_         ‰S )Nc                 óD   •— ‰xj                   dz  c_         | |z
  dz  |z   S )Nr1   r?   r4   )r7   ÚaÚbr8   s      €r   r8   z$TestBracketMinimum.init_f.<locals>.f�  s"   ø€ Ø�GŠG�q‰L�GØ˜‘E˜A‘: ‘>Ð!r   r   r4   )rM   r8   s    @r   Úinit_fzTestBracketMinimum.init_fŒ  s   ø€ ô	"ð ˆŒØˆr   c                 ó|  — |j                  |j                  |j                  k  |j                  |j                  k  z  «      sJ ‚|j                  |j                  |j
                  k\  |j                  |j
                  kD  z  |j                  |j
                  kD  |j                  |j
                  kD  z  z  «      sJ ‚y r   )r†   r   r   r   r   r   r   )rM   ÚresultrN   s      r   Úassert_valid_bracketz'TestBracketMinimum.assert_valid_bracket“  sœ   € Ø�v‰vØ�Y‰Y˜Ÿ™Ñ" v§y¡y°6·9±9Ñ'<Ñ=ô
ð 	
ð 
ð �v‰vØ�Y‰Y˜&Ÿ)™)Ñ#¨¯	©	°F·I±IÑ(=Ñ>Ø�y‰y˜6Ÿ9™9Ñ$¨¯©°V·Y±YÑ)>Ñ?ñ@ô
ð 	
ñ 
r   N)r:   r;   r<   r=   r>   r   c          	      ób   — d}t        |||||||f«      D ��	ci c]
  \  }}	|	�||	“Œ c}	}S c c}	}w )N©r:   r;   r=   r>   r<   r   ©r¢   )
rM   r:   r;   r<   r=   r>   r   ÚnamesÚnameÚvals
             r   Ú
get_kwargszTestBracketMinimum.get_kwargsœ  sL   € ð Aˆä'*¨5°3¸¸TÀ4ÈÐQUÐ2VÓ'W÷
Ù#˜$ Øˆð �#‰Ió
ð 	
ùó 
s   ˜+r%   )l	   Õ^€0#,ãN0LÀ“b*&ç l	   Ÿ}¶SÉE�S].HM¼ëa l	   êFäD…u”B�P_KU r&   r'   r(   c                 ó°  — t         j                  j                  |«      }|j                  d«      |j                  d«      f}|j                  |j                  d¬«      g d¢z  «      \  }}}	}
||z   }||	z   }|
dz  }
|rÏ|j                  |j                  «        dz  |j                  ¬«      }t        |j                  |j                  ||z
   |z  «      |j                  |
«      z  «      «      }|||z
  |
| z  z  z   }|||z
  |
|dz
   z  z  z   }|dkD  r|||z
  |
|dz
   z  z  z   n|}|dz  |dz  kD  r­|dz  }|||z
  |
| z  z  z   ||}}}n”d }t        |j                  |j                  ||z  «      |j                  |
«      z  «      «      }|||
|z  z  z
  }|dkD  r|||
|dz
  z  z  z
  n|}|dkD  r|||
|dz
  z  z  z
  n|}|dz  |dz  kD  r|dz  }|||
|z  z  z
  ||}}}| j                  «       }d }|r| | | }}}d |�| nd }}| | | }}}| j                  |||||
|¬	«      }t        ||j                  |«      fi |¤Ž}|j                  |j                  d
z   k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |k(  sJ ‚t        |j                  |«       t        |j                   |«       t        |j"                  |«       t        |j$                   ||g|¢­Ž «       t        |j&                   ||g|¢­Ž «       t        |j(                   ||g|¢­Ž «       | j+                  ||«       |j,                  dk(  sJ ‚|j.                  sJ ‚y )Nrõ   rh   r,   )r.   r/   r/   r0   r1   r0   r©   r?   r  r+   r   )r@   rA   rB   rC   r|   r£   rD   rE   r  r  r   rH   rI   r5   r   r   r   r   r   r   r   r  rK   rL   )rM   r%   r&   r(   rN   rO   r   r:   Úd1Úd2r<   Úxm0r;   r=   rQ   ÚlowerÚmiddleÚupperr8   r>   r   r  s                         r   rU   z%TestBracketMinimum.test_nfev_expected¥  s�  € ô �i‰i×#Ñ# DÓ)ˆØ—
‘
˜2“ §
¡
¨2£Ð/ˆð !Ÿj™j¨¯©¸¨Ó);Ò>NÑ)NÓOÑˆˆR��VØ�B‰hˆØ�B‰hˆà�!‰ˆáØ—:‘:˜sŸz™z›|˜m¨aÑ/°r·z±z�:ÓBˆDÜ�B—G‘G˜BŸF™F S¨4¡Z =°4Ñ#7Ó8¸2¿6¹6À&»>ÑIÓJÓKˆAØ˜C $™J¨°°©
Ñ2Ñ2ˆEØ˜S 4™Z¨°1°Q±3°©Ñ7Ñ7ˆFØ:;¸aº%�D˜C $™J¨°!°A±#°©Ñ6Ò6ÀSˆEð �q‰y˜5 !™8Ò#Ø�Q‘�à˜C $™J¨°°©
Ñ2Ñ2°E¸6ð  %�v‘ð ˆDÜ�B—G‘G˜BŸF™F 3¨¡8Ó,¨r¯v©v°f«~Ñ=Ó>Ó?ˆAØ˜"˜V Q™Y™,Ñ&ˆEØ/0°1ªu�S˜2˜f q¨¡s™mÑ+Ò+¸#ˆFØ./°!ªe�C˜"˜V a¨¡c™]Ñ*Ò*¸ˆEð �q‰y˜5 !™8Ò#Ø�Q‘�à˜"˜V Q™Y™,Ñ&¨¨vð  %�v�ð �K‰K‹MˆàˆÙØ ˜D 3 $¨¨�c�ˆCØ¨Ð(8 ™u¸d�$ˆDØ$) 6¨F¨7°U°F˜5�6ˆEà—‘Ø˜ 4¨d¸6Èð !ó 
ˆô " ! R§Z¡Z°£_Ñ?¸Ñ?ˆð �{‰{˜fŸj™j¨1™nÒ,Ð,Ð,à�{‰{˜aŸg™gÒ%Ð%Ð%à�z‰z˜QŠÐˆô 	˜Ÿ	™	 5Ô)Ü˜Ÿ	™	 6Ô*Ü˜Ÿ	™	 5Ô)Ü˜Ÿ	™	¡1 U ?¨T¢?Ô3Ü˜Ÿ	™	¡1 VÐ#3¨dÒ#3Ô4Ü˜Ÿ	™	¡1 U ?¨T¢?Ô3à×!Ñ! &¨"Ô-Ø�}‰} Ò!Ð!Ð!Ø�~Š~Ð‰~r   c           	      ó8  ‡— ˆfd„}‰j                  d‰j                  ¬«      f}‰j                  g d¢«      }‰j                  g d¢«      }‰j                  g d¢«      }‰j                  ‰j                   d‰j                   ‰j                   dg«      }t	        ||||||d	¬
«      }‰j                  t
        j                  t        t
        j                  t
        j                  t
        j                  g‰j                  ¬«      }	t        |j                  |	«       y )Nc                 ó|   •— d„ d„ d„ ˆfd„d„ g}t        | |«      D ��cg c]  \  }} ||   |«      ‘Œ c}}S c c}}w )Nc                 ó   — | dz
  dz  S )Nrv   r?   r•   r–   s    r   r—   z:TestBracketMinimum.test_flags.<locals>.f.<locals>.<lambda>ú  s   €   C¡¨!™|€ r   c                 ó   — | S r   r•   r–   s    r   r—   z:TestBracketMinimum.test_flags.<locals>.f.<locals>.<lambda>û  r¡   r   c                 ó   — | S r   r•   r–   s    r   r—   z:TestBracketMinimum.test_flags.<locals>.f.<locals>.<lambda>ü  r¡   r   c                 ó   •— ‰j                   S r   r�   rŸ   s    €r   r—   z:TestBracketMinimum.test_flags.<locals>.f.<locals>.<lambda>ý  s   ø€ ˜rŸv™v€ r   c                 ó   — | dz  S ©Nr?   r•   r–   s    r   r—   z:TestBracketMinimum.test_flags.<locals>.f.<locals>.<lambda>þ  s
   € ˜q !™t€ r   r  r¤   s        €r   r8   z(TestBracketMinimum.test_flags.<locals>.fù  sC   ø€ Ù+Ù Ù Û%Ù#ð	%ˆEô -0°°B«K×8¡D A q�H�E˜!‘H˜Q•KÓ8Ð8ùÓ8s   Ÿ8r0   r©   )rª   rª   rª   rª   ç      @)rõ   rõ   rõ   rõ   r«   )rx   rx   rx   rx   ç       @rª   g       @r+   )r:   r;   r=   r   ro   )r®   r¯   rC   r~   r   r°   r±   r   r²   r³   r´   r‡   r   rK   )
rM   rN   r8   r   r:   r  r;   r=   r  Úreference_flagss
    `        r   r¶   zTestBracketMinimum.test_flagsö  sâ   ø€ ô	9ð —	‘	˜! 2§8¡8�	Ó,Ð.ˆØ�j‰jÒ6Ó7ˆØ�j‰jÒ2Ó3ˆØ�j‰jÒ2Ó3ˆØ�z‰z˜BŸF™F˜7 D¨2¯6©6¨'°B·F±F°7¸CÐ@ÓAˆä! ! S¨c°sÀØ'+°Qô8ˆð Ÿ*™*¤c§o¡o´xÜ&)§m¡m´S·^±^Ü&)§n¡nð&6à=?¿X¹Xð %ó Gˆô 	˜Ÿ™ Õ7r   Úminimumr¸   r¹   r„   rº   r=   r^   r>   r0   c           	      ó   ‡‡— t        |‰«      Št        |j                  d«      «      Š|€|n|j                  |‰¬«      }|€|n|j                  |‰¬«      }|j                  |‰¬«      }ˆˆfd„}g d¢\  }}}	t        ||j                  |‰¬«      |j                  |‰¬«      |j                  |	‰¬«      |||f¬«      }
|j	                  |
j
                  «      sJ ‚|
j                  j                  |
j                  j                  cxk(  r |
j                  j                  cxk(  r‰k(  sJ ‚ J ‚|
j                  j                  |
j                  j                  cxk(  r |
j                  j                  cxk(  r‰k(  sJ ‚ J ‚y )Nrx   r©   c                 ó4   •— ‰j                  | |z
  dz  ‰«      S r(  r¿   )r7   r,  r„   r�   s     €€r   r8   z)TestBracketMinimum.test_dtypes.<locals>.f  s   ø€ Ø—>‘> 1 w¡;°Ñ"2°EÓ:Ð:r   )ra   rõ   rb   r   )r‚   r
   rC   r   r†   rL   r   r„   r   r   r   r   r   )rM   r,  r=   r>   r„   rN   r8   r:   r  r;   r  r�   s       `      @r   Útest_dtypeszTestBracketMinimum.test_dtypes  s>  ù€ ô
 ˜˜EÓ"ˆÜ! "§*¡*¨R£.Ó1ˆØ�|‰t¨¯©°DÀ¨Ó)FˆØ�|‰t¨¯©°DÀ¨Ó)FˆØ—*‘*˜W¨E�*Ó2ˆõ	;ò +‰ˆˆS�#Ü!Øˆr�z‰z˜# UˆzÓ+°·±¸CÀu°Ó1MØ—
‘
˜3 e�
Ó,°4¸dÈ'Èô
ˆð �v‰v�f—n‘nÔ%Ð%Ð%Ø�y‰y�‰ &§)¡)§/¡/ÔM°V·Y±Y·_±_ÔMÈÒMÐMÑMÐMÐMØ�y‰y�‰ &§)¡)§/¡/ÔM°V·Y±Y·_±_ÔMÈÒMÐMÑMÐMÑMr   Tzstr/object arrays)Únp_onlyr!   c                 ó†  — d}t        j                  t        |¬«      5  t        d dd¬«       d d d «       d}t        j                  t        |¬«      5  t        d„ |j	                  d«      «       d d d «       t        j                  t        |¬«      5  t        d	„ |j	                  d«      d
¬«       d d d «       t        j                  t        |¬«      5  t        d„ |j	                  d«      d¬«       d d d «       t        j                  t        |¬«      5  t        d„ |j	                  d«      t
        ¬«       d d d «       t        j                  t        |¬«      5  t        d„ |j	                  d«      t        «       ¬«       d d d «       t        j                  t        |¬«      5  t        d„ |j	                  d«      t        ¬«       d d d «       d}t        j                  t        |¬«      5  t        d„ |j	                  d«      d¬«       d d d «       d}t        j                  t        |¬«      5  t        d„ |j	                  ddg«      g d¢¬«       d d d «       d}t        j                  t        |¬«      5  t        d„ |j	                  d«      dd¬«       d d d «       t        j                  t        |¬«      5  t        d „ |j	                  d«      dd!¬«       d d d «       t        j                  t        |¬«      5  t        d"„ |j	                  d«      dd#¬«       d d d «       y # 1 sw Y   �ŒþxY w# 1 sw Y   �ŒÉxY w# 1 sw Y   �Œ”xY w# 1 sw Y   �Œ_xY w# 1 sw Y   �Œ&xY w# 1 sw Y   �ŒéxY w# 1 sw Y   �Œ°xY w# 1 sw Y   �ŒyxY w# 1 sw Y   �Œ>xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÏxY w# 1 sw Y   y xY w)$NrÃ   rÄ   r¬   rh   )r:   rÆ   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>1  ó
   €  q¨!¡t€ r   y      @      ð?c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>3  r3  r   rÊ   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>5  r3  r   zfarcical aquatic ceremony©r;   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>8  r3  r   rÌ   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>:  r3  r   rÎ   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda><  r3  r   rÐ   rÑ   c                 ó   — | S r   r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>@  s   €  q€ r   ru   z+shape mismatch: objects cannot be broadcastc                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>E  r3  r   rÕ   rÖ   )rÖ   r¬   r^   r×   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>I  r3  r   rv   )r;   ro   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>K  r3  r   ry   c                 ó   — | dz  S r(  r•   r–   s    r   r—   z:TestBracketMinimum.test_input_validation.<locals>.<lambda>M  r3  r   Úekki)rÜ   rÝ   rÞ   r   rC   r@   rß   rà   râ   s      r   rä   z(TestBracketMinimum.test_input_validation'  sï  € ð -ˆÜ�]‰]œ:¨WÔ5ñ 	.Ü˜T 2¨1Õ-÷	.ð 1ˆÜ�]‰]œ:¨WÔ5ñ 	?Ü™^¨R¯Z©Z¸Ó-=Ô>÷	?ä�]‰]œ:¨WÔ5ñ 	JÜ™^¨R¯Z©Z¸«^ÀÕI÷	Jä�]‰]œ:¨WÔ5ñ 	>Ü™^¨R¯Z©Z¸«^Ø!<õ>÷	>ô �]‰]œ:¨WÔ5ñ 	FÜ™^¨R¯Z©Z¸«^Ä"ÕE÷	Fä�]‰]œ:¨WÔ5ñ 	LÜ™^¨R¯Z©Z¸«^Ä&Ã(ÕK÷	Lä�]‰]œ:¨WÔ5ñ 	IÜ™^¨R¯Z©Z¸«^ÄCÕH÷	Ið EˆÜ�]‰]œ:¨WÔ5ñ 	FÜ™[¨"¯*©*°R«.ÀÕE÷	Fð @ˆä�]‰]œ:¨WÔ5ñ 	UÜ™^¨R¯Z©Z¸¸R¸Ó-AÂ|ÕT÷	Uð >ˆÜ�]‰]œ:¨WÔ5ñ 	QÜ™^¨R¯Z©Z¸«^ÀÈCÕP÷	Qä�]‰]œ:¨WÔ5ñ 	PÜ™^¨R¯Z©Z¸«^ÀÈBÕO÷	Pä�]‰]œ:¨WÔ5ñ 	TÜ™^¨R¯Z©Z¸«^ÀÈFÕS÷	Tð 	T÷A	.ñ 	.ú÷	?ñ 	?ú÷	Jñ 	Jú÷	>ñ 	>ú÷	Fñ 	Fú÷	Lñ 	Lú÷	Iñ 	Iú÷	Fñ 	Fú÷
	Uñ 	Uú÷	Qñ 	Qú÷	Pð 	Pú÷	Tð 	Tús�   žL)ÁL6ÂMÃMÄ#MÅ'M*Æ&#M7Ç.NÈ2#NÉ: NÊ= N+Ì  N7Ì)L3Ì6M ÍMÍMÍM'Í*M4Í7NÎNÎNÎN(Î+N4Î7O r:   rõ   r  )r]   çš™™™™™¹?g333333Ã?r;   )çš™™™™™É?çš™™™™™Ù?r\   Nr   ))r_   r   )r  r   )r@  r   )rA  r   )gÍÌÌÌÌÌ@r   )gffffff5@r   )gffffff^@r   )gš™™™„¶@r   )gš™™™™™Àr   )gÍÌÌÌÌÌ)Àr   )gfffffFbÀr   c           
      ón  — | j                  «       }| j                  ||t        t        |j                  |«      «      ¬«      }t        ||j	                  ||j                  ¬«      fi |¤Ž}| j                  ||«       |j                  dk(  sJ ‚|j                  sJ ‚|j                  |j                  k(  sJ ‚y )N©r:   r;   r   r©   r   )r  r  r€   r�   rC   r   r|   r  rK   rL   rH   r5   )	rM   r:   r  r;   r   rN   r8   r   r  s	            r   Útest_scalar_no_limitsz(TestBracketMinimum.test_scalar_no_limitsO  s™   € ð �K‰K‹MˆØ—‘ S¨c¼¼cÀ"Ç*Á*ÈdÓ>SÓ8T�ÓUˆÜ! ! R§Z¡Z°¸2¿:¹: ZÓ%FÑQÈ&ÑQˆØ×!Ñ! &¨"Ô-Ø�}‰} Ò!Ð!Ð!Ø�~Š~Ðˆ~Ø�{‰{˜aŸg™gÒ%Ð%Ñ%r   zxl0,xm0,xr0,xmin))ru   ç      è?rx   rõ   )rx   ç      @r«   rõ   )r*  r«   r)  rõ   )g      (@ç      0@ç      4@rõ   )NrF  rx   rõ   )NrG  r«   rõ   )Nr«   r)  rõ   )NrH  rI  rõ   ))rõ   rõ   )gYóøÂn¥rõ   )g#B’¡œÇ;rõ   )r@  rõ   )rA  rõ   )rB  rõ   c                 óX  — | j                  «       }| j                  |||t        t        |j                  |«      «      ¬«      }t        ||j	                  |«      fi |¤Ž}	| j                  |	|«       |	j                  dk(  sJ ‚|	j                  sJ ‚|	j                  |j                  k(  sJ ‚y )N)r:   r;   r=   r   r   )r  r  r€   r�   rC   r   r  rK   rL   rH   r5   )
rM   r:   r  r;   r=   r   rN   r8   r   r  s
             r   Útest_scalar_with_limit_leftz.TestBracketMinimum.test_scalar_with_limit_lefte  s™   € ð: �K‰K‹MˆØ—‘ S¨c¸Ü&+¬C°·
±
¸DÓ,AÓ&Bð !ó Dˆä! ! R§Z¡Z°£_Ñ?¸Ñ?ˆØ×!Ñ! &¨"Ô-Ø�}‰} Ò!Ð!Ð!Ø�~Š~Ðˆ~Ø�{‰{˜aŸg™gÒ%Ð%Ñ%r   zxl0,xm0,xr0,xmax))rA  ç333333Ó?rB  rx   )r]   ç333333³?r@  rx   )çš™™™™™É¿çš™™™™™¹¿rõ   rx   )ç3333335Àç33333³1Àgffffff,Àrx   )rA  rL  Nrx   )r]   rM  Nrx   )rN  rO  Nrx   )rP  rQ  Nrx   ))gÿÿÿÿÿÿï?rõ   )gÍÌÌÌÌÌì?rõ   )gffffffæ?rõ   )ru   rõ   c                 ó`  ‡— | j                  «       }t        ˆfd„|D «       «      }| j                  ||||¬«      }t        |‰j	                  |‰j
                  ¬«      fi |¤Ž}	| j                  |	‰«       |	j                  dk(  sJ ‚|	j                  sJ ‚|	j                  |j                  k(  sJ ‚y )Nc              3   óX   •K  — | ]!  }‰j                  |‰j                  ¬ «      –— Œ# y­w©r©   N©rC   r|   ©Ú.0ÚargrN   s     €r   ú	<genexpr>zBTestBracketMinimum.test_scalar_with_limit_right.<locals>.<genexpr>¦  ó"   øè ø€ ÒG¸3�R—Z‘Z ¨2¯:©:�Z×6ÑGùó   ƒ'*)r:   r;   r>   r   r©   r   )r  r€   r  r   rC   r|   r  rK   rL   rH   r5   )
rM   r:   r  r;   r>   r   rN   r8   r   r  s
         `   r   Útest_scalar_with_limit_rightz/TestBracketMinimum.test_scalar_with_limit_right‹  sœ   ø€ ð4 �K‰K‹MˆÜÓGÀ$ÔGÓGˆØ—‘ S¨c¸À4�ÓHˆÜ! ! R§Z¡Z°¸2¿:¹: ZÓ%FÑQÈ&ÑQˆØ×!Ñ! &¨"Ô-Ø�}‰} Ò!Ð!Ð!Ø�~Š~Ðˆ~Ø�{‰{˜aŸg™gÒ%Ð%Ñ%r   zxl0,xm0,xr0,xmin,xmax,args))rA  rL  rB  Nrx   ©rx   rõ   )gffffffö?ç333333ÿ?rG  rL  N©rL  rõ   )gÍÌÌÌÌÌ@ç      
@g333333@Nçš™™™™ÙX@©ra  r   )rh   ç      @r0   çÍÌÌÌÌL:ÀN©rd  r   )NrL  NNrx   r]  )Nr^  NrL  Nr_  )Nr`  NNra  rb  )Nrc  Nrd  Nre  c                 óV  — | j                  «       }| j                  |||t        t        |j                  |«      «      ¬«      }	t        ||j	                  |«      fi |	¤Ž}
|
j                  dk(  sJ ‚|d   |
j                  |
j                  fv sJ ‚|
j                  |j                  k(  sJ ‚y )N)r;   r=   r>   r   ry   r   )r  r  r€   r�   rC   r   rK   r   r   rH   r5   )rM   r:   r  r;   r=   r>   r   rN   r8   r   r  s              r   Útest_minimum_at_boundary_pointz1TestBracketMinimum.test_minimum_at_boundary_point®  s�   € ðz �K‰K‹MˆØ—‘ S¨t¸$Ü&+¬C°·
±
¸DÓ,AÓ&Bð !ó Dˆä! ! R§Z¡Z°£_Ñ?¸Ñ?ˆØ�}‰} Ò"Ð"Ð"Ø�A‰w˜6Ÿ9™9 f§i¡iÐ0Ñ0Ð0Ð0Ø�{‰{˜aŸg™gÒ%Ð%Ñ%r   rd   re   rg   ri   c                 óä  ‡ ‡‡— |r&t        j                  ddd«      j                  |«      nd}|df}dŠt         j                  ˆˆ fd„«       }‰ j	                  «       }t         j
                  j                  d«      }|j                  |¬	«       }|j                  |¬	«      }	||j                  |¬	«      |	|z
  z  z   }
d
|z  d
|	z  }}|r=|j                  |¬	«      dkD  }t         j                   t         j                  c||<   ||<   |j                  |¬	«      dz   } ||
||	||||«      j                  «       }t        ˆfd„|D «       «      }t        |‰j                  |
«      ||	||||‰¬«	      }g d¢}|D ]r  }|D �cg c]  }‰j                  t        ||«      «      ‘Œ }}t        ||«      }t        t        |‰¬«      ‰j                  |«      «       t!        |j"                  |«       Œt t%        ‰j                  d«      «      }|j&                  j(                  |j*                  k(  sJ ‚|r ‰j-                  |j&                  dd «      sJ ‚|j.                  j(                  ‰j0                  k(  sJ ‚|j2                  j(                  ‰j0                  k(  sJ ‚|j4                  j(                  ‰j0                  k(  sJ ‚‰j7                  |j4                  «      |j8                  dz
  k(  sJ ‚‰ j;                  |‰«       t        |j<                   ||j>                  g|¢­Ž «       t        |j@                   ||jB                  g|¢­Ž «       t        |jD                   ||jF                  g|¢­Ž «       y c c}w )Nrk   rl   rf   r\   rõ   r/   c                 óL   •— t        ‰j                  «       | |||||‰|df¬«	      S )Nrõ   )r:   r;   r=   r>   r<   ro   r   )r   r  )	r  r:   r;   r=   r>   r<   r  ro   rM   s	          €€r   Úbracket_minimum_singlezETestBracketMinimum.test_vectorization.<locals>.bracket_minimum_single  s.   ø€ ä# D§K¡K£M°3¸CÀSÈtØ)-°fÀgØ*+¨S¨ô3ð 3r   rs   r,   rt   ru   rv   c              3   óX   •K  — | ]!  }‰j                  |‰j                  ¬ «      –— Œ# y­wrT  rU  rV  s     €r   rY  z8TestBracketMinimum.test_vectorization.<locals>.<genexpr>-  rZ  r[  )r:   r;   r=   r>   r<   r   ro   )	r   r   r   r   r   r   rL   rH   rI   rw   rx   r1   ry   r+   )$r@   rz   r{   r}   r  rA   rB   r~   r   r€   r   rC   r‚   r   r   rƒ   r   rd   r
   rL   r„   r…   r†   rK   r‡   rH   rI   rˆ   r5   r  r   r   r   r   r   r   )rM   rd   rN   r  r   rj  r8   rO   r:   r;   r  r=   r>   r‰   r<   rŠ   r   r‹   rŒ   r�   rŽ   r�   r�   ro   s   ` `                    @r   r‘   z%TestBracketMinimum.test_vectorization  sø  ú€ ñ <AŒB�K‰K˜˜t RÓ(×0Ñ0°Ô7ÀcˆØ�2ˆwˆØˆä	�‰ô	3ó 
ð	3ð
 �K‰K‹Mˆä�i‰i×#Ñ# GÓ,ˆØ�z‰z˜uˆzÓ%Ð%ˆØ�j‰j˜eˆjÓ$ˆØ�C—J‘J E�JÓ*¨c°C©iÑ8Ñ8ˆØ˜‘W˜c #™gˆdˆÙØ—
‘
 �
Ó&¨Ñ,ˆAÜ "§¡˜w¬¯©ÐˆD�‰G�T˜!‘WØ—‘ �Ó'¨#Ñ-ˆÙ% c¨3°°T¸4ÀÈÓK×QÑQÓSˆÜÓGÀ$ÔGÓGˆÜ˜q "§*¡*¨S£/°sÀÈ$Ø$(°¸dÈGôUˆò OˆØò 	3ˆDØBFÖG¸3˜Ÿ
™
¤7¨3°Ó#5Õ6ÐGˆHÐGÜ˜s DÓ)ˆHÜœH X°"Ô5°r·x±xÀÓ7IÔJÜ˜HŸN™N¨EÕ2ð		3ô " "§*¡*¨R£.Ó1ˆØ�{‰{× Ñ  G§L¡LÒ0Ð0Ð0ÙØ—6‘6˜#Ÿ+™+ a¨Ð+Ô,Ð,Ð,Ø�z‰z×Ñ 2§8¡8Ò+Ð+Ð+Ø�x‰x�~‰~ §¡Ò)Ð)Ð)Ø�w‰w�}‰} §¡Ò(Ð(Ð(Ø�v‰v�c—g‘g‹ !§'¡'¨A¡+Ò-Ð-Ð-Ø×!Ñ! # rÔ*Ü˜Ÿ™¡ #§&¡&Ð 0¨4Ò 0Ô1Ü˜Ÿ™¡ #§&¡&Ð 0¨4Ò 0Ô1Ü˜Ÿ™¡ #§&¡&Ð 0¨4Ò 0Õ1ùò! Hs   Å:"M-c                 óÈ  ‡— t        |j                  d«      «      Šˆfd„}t        ||j                  d|j                  ¬«      d¬«      }|j                  sJ ‚d„ }|j                  d«      |j                  d	«      |j                  d
«      }}}t        ||||d¬«      }t        |j                  |«       t        |j                  |«       t        |j                  |«       d„ }t        ||j                  d	«      |j                  d«      ¬«      }|j                  sJ ‚t        |j                   ||j                  d«      «       | j                  «       }|j                  d	«      |j                  d«      |j                  d«      }}}|j                  d«      |j                  d«      f}t        |||||¬«      }|j                  dk(  sJ ‚t        |j                  |«       t        |j                  |«       t        |j                  |«       t        |j                   ||g|¢­Ž «       t        |j                   ||g|¢­Ž «       t        |j                   ||g|¢­Ž «       y )Nrx   c                 óP   •— ‰j                  | j                  d«      sJ ‚| dz  dz
  S )NÚnumericéb   r1   rè   rê   s    €r   r8   z0TestBracketMinimum.test_special_cases.<locals>.fK  s)   ø€ Ø—?‘? 1§7¡7¨IÔ6Ð6Ð6Ø˜‘7˜Q‘;Ðr   rë   r©   r0   r6  c                 ó   — | dz  dz
  S )Nr?   r/   r•   r–   s    r   r8   z0TestBracketMinimum.test_special_cases.<locals>.fS  s   € Ø�a‘4˜"‘9Ðr   rí   rª   r*  r   )r:   r;   ro   c                 ó   — || dz  z  dz
  S )Nr?   r1   r•   rï   s     r   r8   z0TestBracketMinimum.test_special_cases.<locals>.f]  s   € Ø�Q˜‘T‘6˜A‘:Ðr   rñ   rò   r+   rN  rõ   rD  )r
   rC   r   r|   rL   r   r   r   r   r   r   r  r5   r   r   )	rM   rN   r8   r  r:   r  r;   r   r�   s	           @r   rú   z%TestBracketMinimum.test_special_casesE  sÔ  ø€ ä! "§*¡*¨R£.Ó1ˆô	ô " ! R§Z¡Z°¸2¿:¹: ZÓ%FÈAÔNˆØ�~Š~Ðˆ~ò	ð Ÿ
™
 3›¨¯©°C«¸"¿*¹*ÀR».�#ˆSˆÜ! ! S¨c°sÀAÔFˆÜ˜Ÿ	™	 3Ô'Ü˜Ÿ	™	 3Ô'Ü˜Ÿ	™	 3Ô'ò	ô " ! R§Z¡Z°£_¸2¿:¹:Àb»>ÔJˆØ�~Š~Ðˆ~Ü˜Ÿ	™	¡1 V§Y¡Y°£?Ô3ð �K‰K‹MˆØŸ
™
 4Ó(¨"¯*©*°TÓ*:¸B¿J¹JÀs»O�#ˆSˆØ—
‘
˜2“ §
¡
¨2£Ð/ˆÜ! ! S¨c°sÀÔFˆØ�w‰w˜!Š|Ðˆ|ä˜Ÿ	™	 3Ô'Ü˜Ÿ	™	 CÔ(Ü˜Ÿ	™	 3Ô'Ü˜Ÿ	™	¡1 S =¨4¢=Ô1Ü˜Ÿ	™	¡1 S =¨4¢=Ô1Ü˜Ÿ	™	¡1 S =¨4¢=Õ1r   c                 ó¼   ‡‡‡— ‰j                  d«      ‰j                  d«      cŠŠˆˆˆfd„}t        |‰j                  d«      ‰‰¬«      }‰|j                  k(  sJ ‚y )NgJg7e4Ì?g[2\W«Zö?c                 ó`   •— ‰j                  ‰«      ‰j                  ‰«      }}||z
  | z  dz   S ©Nry   ©rE   ©r7   Úlog_aÚlog_br>   r=   rN   s      €€€r   r8   z0TestBracketMinimum.test_gh_20562_left.<locals>.fw  s3   ø€ ØŸ6™6 $›<¨¯©°«�5ˆEØ˜e‘m QÑ&¨Ñ+Ð+Ð+r   gµæ_\Ý¶á?©r=   r>   )rC   r   r   ©rM   rN   r8   r  r>   r=   s    `  @@r   Útest_gh_20562_leftz%TestBracketMinimum.test_gh_20562_leftr  sX   ú€ ð —Z‘Z 
Ó+¨R¯Z©Z¸
Ó-Cˆ
ˆˆdö	,ô " ! R§Z¡ZÐ0BÓ%CÈ$Ø'+ô-ˆà�v—y‘yÒ Ð Ñ r   c                 ó¼   ‡‡‡— ‰j                  d«      ‰j                  d«      cŠŠˆˆˆfd„}t        |‰j                  d«      ‰‰¬«      }‰|j                  k(  sJ ‚y )Ng[2\W«Zö¿gJg7e4Ì¿c                 ób   •— ‰j                  ‰ «      ‰j                  ‰ «      }}||z
  | z  dz  S rt  ru  rv  s      €€€r   r8   z1TestBracketMinimum.test_gh_20562_right.<locals>.f„  s4   ø€ ØŸ6™6 4 %›=¨"¯&©&°$°«-�5ˆEØ˜U‘] AÑ%¨Ñ*Ð*r   gµæ_\Ý¶á¿ry  )rC   r   r   rz  s    `  @@r   Útest_gh_20562_rightz&TestBracketMinimum.test_gh_20562_right  sX   ú€ ð —Z‘Z Ó,¨b¯j©j¸Ó.Eˆ
ˆˆdö	+ô " ! R§Z¡ZÐ0CÓ%DØ'+°$ô8ˆà�v—y‘yÒ Ð Ñ r   )r  r  r  r  r  r  rÜ   r  r  rU   r¶   r/  r"   rä   rE  rK  r\  rg  r€   r‘   rú   r{  r~  r•   r   r   r
  r
  ‡  sÄ  „ ò
ò
ð  4°¸4ÀdÐQUô
ð ‡[�[×ÑØð	
óð ‡[�[×Ñ˜Z¨Ó7Ø‡[�[×Ñ˜\¨=Ó9ñEó :ó 8óðEòN8ð4 ‡[�[×Ñ˜Y¨°¸°Ð(?Ó@Ø‡[�[×Ñ˜WÐ&GÓHØ‡[�[×Ñ˜V b¨$ ZÓ0Ø‡[�[×Ñ˜V a¨ YÓ/ñNó 0ó 1ó Ió AðNð& ‡[�[×!Ñ!¨$Ð7JÐ!ÓKñ%Tó Lð%TðN ‡[�[×Ñ˜U S¨$ KÓ0Ø‡[�[×Ñ˜UÐ$5Ó6Ø‡[�[×Ñ˜UÐ$9Ó:ð ‡[�[×ÑØð	
óñ&óó	 ;ó 7ó 1ð&ð ‡[�[×Ñàð	
óð" ‡[�[×ÑØð 
ó
ñ&ó
ó#ð8&ð ‡[�[×Ñàð	
óð  ‡[�[×ÑØð 
óñ&óó!ð2&ð ‡[�[×ÑØ$ðX	
ó[ñx&óy[ðx&ð ‡[�[×Ñ˜W¡u£w°¸À	Ð&JÓKñ/2ó Lð/2òb+2òZ!ó!r   r
  ) rÜ   Únumpyr@   Úscipy.optimize._bracketr   Úscipy.optimize.elementwiser   r   Ú(scipy._lib._elementwise_iterative_methodÚ_libÚ_elementwise_iterative_methodr°   Úscipyr   Úscipy._lib._array_api_no_0dr   r   r	   r
   Úscipy._lib._array_apir   Úscipy.conftestr   r   r   Úarray_api_strict_skip_reasonÚjax_skip_reasonr  r"   Úusefixturesr$   r
  r•   r   r   ú<module>rŒ     s#  ðÛ ã å ,ß Dß 6Ð 6Ý ÷Jó Jå *Ý /òòð  WÐ Ø>€à‡�×ÑÐ0Ð9UÐÓVØ‡�×Ñ˜k°/ÐÓBØØ‡�×ÑÐ+Ó,÷Qð Qó -ó ó Có WðQðh
 ‡�×ÑÐ0Ð9UÐÓVØ‡�×Ñ˜k°/ÐÓBØØ‡�×ÑÐ+Ó,÷!ð !ó -ó ó Có Wñ!r   