
    9i                     @   S SK r S SKrS SKJr  S SKJrJr  S SKJ	s  J
r  S SKJr  S SKJrJrJr  S SKJr  S rS rS	rS
r\ R0                  R3                  S\S9\ R0                  R3                  S\S9\ R0                  R3                  S\S9 " S S5      5       5       5       r\ R0                  R3                  SSS9\ R0                  R3                  S\S9\ R0                  R3                  S\S9\ R0                  R3                  S\S9 " S S5      5       5       5       5       rg)    N)_ELIMITS)bracket_rootbracket_minimum)stats)xp_assert_closexp_assert_equalxp_assert_less)xp_ravelc                      [        U 0 UD6nUR                  u  Ul        Ul        UR                  u  Ul        Ul        U?U?U$ N)r   bracketxlxr	f_bracketflfrargskwargsress      a/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/scipy/optimize/tests/test_bracket.py_bracket_rootr      sB    

'
'C[[NCFCF]]NCFCFJ    c                      [        U 0 UD6nUR                  u  Ul        Ul        Ul        UR
                  u  Ul        Ul        Ul        U?U?U$ r   )	r   r   r   xmr   r   r   fmr   r   s      r   _bracket_minimumr   "   sL    
4
*6
*C [[CFCFCF ]]CFCFCFJr   z5Array API does not support fancy indexing assignment.z2JAX/Dask arrays do not support boolean assignment.array_api_strict)reasonz	jax.numpyz
dask.arrayc            	          \ rS rSr\R
                  R                  SS5      \R
                  R                  SS5      \R
                  R                  SS5      \R
                  R                  SS5      S 5       5       5       5       rS	 r\R
                  R                  S
S\	R                  " SSS5      /5      \R
                  R                  SSS/5      \R
                  R                  SSS/5      \R
                  R                  SSS/5      S 5       5       5       5       r\R
                  R                  S\" 5       SSS/5      S 5       rS r\R
                  R                  SSSS /45      \R
                  R                  SSS/5      \R
                  R                  SSS/5      \R
                  R                  S!S"5      S# 5       5       5       5       rS$ rS% rS& rS'rg)(TestBracketRoot.   seed)i&$l   v ih0use_xminFT
other_sidefix_one_sidec                   ^ [         R                  R                  U5      nUR                  UR                  SS9/ SQ-  5      u  pxn	SU	-   n	Xx-   n
U4S jmU(       a  UR                  UR                  5       * 5      nUR	                  UR                  X{-
  * U-  5      UR                  U	5      -  5      nXU-
  X* -  -  -   XU-
  XS-
  * -  -  -   p[        XzXS9nORUR	                  UR                  X-  5      UR                  U	5      -  5      nXX-  -  -
  XXS-
  -  -  -
  p[        XzU	S9nU(       a3  US   * US	   * sUS	'   US'   U* U* pS
U;   a  UR                  S
5      * US'   U(       a  U(       a  U
* US
'   OXS'   STl        [        T40 UD6nU(       dJ  UR                  SUR                  S-   -  s=:X  a$  STR                  S-
  -  s=:X  a  SUS-   -  :X  d   e   eOIUR                  UR                  S-   S-   s=:X  a$  TR                  S-
  S-   s=:X  a  US-   S-   :X  d   e   eUR                  UR                  UR                  /5      n[        UUR                  X/5      5        UR                  UR                  UR                   /5      n[        UT" U5      5        UR                  UR                  :  d   eUR#                  U5      nUS   US   * :X  d   eUR$                  S:X  d   eUR&                  (       d   eg )N   size)     j@
         c                 2   > T=R                   S-  sl         U $ Nr/   countxfs    r   r6   -TestBracketRoot.test_nfev_expected.<locals>.fE       GGqLGHr   )xl0xr0factorxmin)r9   r:   r;   r:   r9   r<   xmaxr      )nprandomdefault_rngasarrayceillogdictpopr3   r   nfevnitr   r   r   r   r   signstatussuccess)selfr#   r$   r&   r'   xprngr9   dr;   r:   r<   nlur   r   r   r   signsr6   s                       @r   test_nfev_expected"TestBracketRoot.test_nfev_expected2   s    ii##D)CJJAJ$6$EFVg	 ::szz|m,D}t34rvvf~EFA:vrz114:vUVQVxGW:W3Wqc6EFsuv67A69$cfsmO&;qc6:F,25M>F5M>(F5M6%=2rq"(**V"4!4v"%v!$vA(( 88q#''!)}J17719JAEJJJJJ88	1}HAH!A#qHHHHH **cffcff-.QF!34JJ/0		1W:. vv	"QxE!H9$$$zzQ{{{r   c                 b    [         R                  R                  5       R                  U5      U-
  $ r   )r   	_stats_py_SimpleNormalcdf)rL   qps      r   r6   TestBracketRoot.f   s%    ,,.221599r   r[   333333?皙?gffffff?r-   r<   Nr=   r.   r;   333333?r>   c                     [        U R                  UR                  S5      SX#XER                  U5      4S9n[        UR	                  UR
                  5      * UR	                  UR                  5      5        g )N{Gz{Gz?)r<   r=   r;   r   )r   r6   rB   r   rI   r   r   )rL   r[   r<   r=   r;   rM   r   s          r   
test_basicTestBracketRoot.test_basic   sW     DFFBJJu$5t$#)A0@B("''#&&/:r   shape   r)      r)   r>   r>   c                 r  ^ ^^ U(       a'  [         R                  " SSS5      R                  U5      O[         R                  " S5      nU4nSm[         R                  UU 4S j5       nUU 4S jmSTl        [         R                  R                  S	5      nUR                  US
9* nUR                  US
9nSU-  SU-  pU(       a8  UR                  US
9S:  n[         R                  * [         R                  sX'   X'   UR                  US
9S-   nU" XxXX5      R                  5       nUR                  U5      UR                  U5      UR                  U	5      UR                  U
5      UR                  U5      4u  pxpn[        [        UR                  U5      5      n[        TXxXUUTS9n/ SQnU Ho  nU Vs/ s H  nUR                  [        UU5      5      PM      nn[        UU5      n[        [!        UUS9UR#                  U5      5        UR$                  U:X  a  Mo   e   UR&                  R(                  UR*                  :X  d   eU(       a%  UR-                  UR&                  SS 5      (       d   eUR.                  R(                  UR0                  :X  d   eUR2                  R(                  UR0                  :X  d   eUR4                  R(                  UR0                  :X  d   eUR7                  UR4                  5      TR
                  S-
  :X  d   e[9        UR:                  UR<                  5        [        UR>                  UR                  T R@                  " UR:                  /UQ76 5      5        [        URB                  UR                  T R@                  " UR<                  /UQ76 5      5        g s  snf )N皙?rh   r]   r-   c                 4   > [        TR                  XX#XE4TS9$ )Nr<   r=   r;   r   maxiter)r   r6   )r9   r:   r<   r=   r;   r[   rq   rL   s         r   bracket_root_single?TestBracketRoot.test_vectorization.<locals>.bracket_root_single   s"     (.T)02 2r   c                  R   > T=R                   S-  sl         TR                  " U 0 UD6$ r1   )f_evalsr6   )r   r   r6   rL   s     r   r6   -TestBracketRoot.test_vectorization.<locals>.f   s$    IINI664*6**r   r   # r*        @@      ?      ?rp   )r   r   r   r   rK   rG   rH   rM   r/   r>   )"r?   linspacereshapefloat64	vectorizeru   r@   rA   infravelrB   tuplemapr   getattrr   r
   stackrf   rK   dtypeboolallrJ   int32rG   rH   maxr	   r   r   r   r6   r   )rL   rf   rM   r[   r   rr   rN   r9   r:   r<   r=   ir;   refsr   attrsattrrefref_attrres_attrr6   rq   s   `                   @@r   test_vectorization"TestBracketRoot.test_vectorization   s    <ABKKtR(007bjjQTot		2 
	2
	+ 	ii##G,zzuz%%jjej$Wc#gd


&,A "wDGTW'#-"3TCIIK(*

3C(*

4(8"**T:J(*

6(:(<$$f ST*+Asdf!%w8 CDBFG$3

73#56$HGsD)HHX"5rxx7IJ>>U***	  {{  BGG+++66#++a+,,,,zz288+++xx~~)))ww}}(((vvcgg!))a-///svvsvv&

466#&&+@4+@ AB

466#&&+@4+@ AB Hs   5%N4c                 Z  ^ U4S jnTR                  STR                  S94n[        UTR                  / SQ5      TR                  / SQ5      TR                  TR                  * STR                  * TR                  * S/5      TR                  TR                  STR                  TR                  S	/5      US
S9nTR                  [
        R                  [        [
        R                  [
        R                  [
        R                  /TR                  S9n[        UR                  U5        g )Nc                    > S S S U4S jS /n[        X5       VVs/ s H  u  p4U[        U5         " U5      PM     snn$ s  snnf )Nc                     U S-
  $ )Nrz    r5   s    r   <lambda>7TestBracketRoot.test_flags.<locals>.f.<locals>.<lambda>   s    q3wr   c                     U S-
  $ Ni  r   r   s    r   r   r          q4xr   c                     U S-
  $ r   r   r   s    r   r   r      r   r   c                 "   > U TR                   -  $ r   )nanr5   rM   s    r   r   r      s    q266zr   c                     U $ r   r   r   s    r   r   r          qr   zipintxsjsfuncsr5   jrM   s        r   r6   %TestBracketRoot.test_flags.<locals>.f   sF    &'') 	"E 25R=E#a&M!$===    Ar.   r   )      r   r   r         @)r/   r/   r/   r/   r|      r/   r>   r)   )r9   r:   r<   r=   r   rq   )arangeint64r   rB   r   eim_ECONVERGEDr   	_ECONVERR
_EVALUEERR
_EINPUTERRr   r   rJ   )rL   rM   r6   r   r   	ref_flagss    `    r   
test_flagsTestBracketRoot.test_flags   s    	> 		!288	,.A "

+C D "

+; <!#bffWb266'BFF7A,N!O!#RVVQ,J!K!%q2 JJ ( # # #	 0
 &(XX  /	 	

I.r   root灕Cl?V-?r   float16float32r   c                   ^^ [        TT5      mUc  UOTR                  UTS9nUc  UOTR                  UTS9nTR                  UTS9nUU4S jnTR                  SS/TS9n[        U/UQ7X#U4S.6nTR                  UR                  5      (       d   eUR
                  R                  UR                  R                  s=:X  a  T:X  d   e   eUR                  R                  UR                  R                  s=:X  a  T:X  d   e   eg )Nr   c                 2   > TR                  X-
  S-  T5      $ )Nr)   astype)r5   r   r   rM   s     r   r6   %TestBracketRoot.test_dtype.<locals>.f   s    99ah1_e44r   rb   rc   )r<   r=   r   )
r   rB   r   r   rK   r   r   r   r   r   )	rL   r   r<   r=   r   rM   r6   r   r   s	       ``   r   
test_dtypeTestBracketRoot.test_dtype   s     E"|tD)F|tD)Fzz$ez,	5 **eT]%*8ALLdTGLvvckk""""vv||svv||4u44444vv||svv||4u44444r   c           	         Sn[         R                  " [        US9   [        S SS5        S S S 5        Sn[         R                  " [        US9   [        S SS5        S S S 5        [         R                  " [        US9   [        S SS	5        S S S 5        [         R                  " [        US9   [        S
 SSS	S9  S S S 5        [         R                  " [        US9   [        S SSS	S9  S S S 5        [         R                  " [        US9   [        S SSS	S9  S S S 5        Sn[         R                  " [        US9   [        S SSSS9  S S S 5        Sn[         R                  " [        US9   [        S UR                  SS/5      UR                  / SQ5      5        S S S 5        Sn[         R                  " [        US9   [        S SSSS9  S S S 5        [         R                  " [        US9   [        S SSSS9  S S S 5        [         R                  " [        US9   [        S SSSS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN~= f! , (       d  f       GN_= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f) N`func` must be callable.matchr   rj   ...must be numeric and real.c                     U $ r   r   r   s    r   r   7TestBracketRoot.test_input_validation.<locals>.<lambda>       Ar   y            ?c                     U $ r   r   r   s    r   r   r      r   r         @      ?c                     U $ r   r   r   s    r   r   r      r   r   r<   c                     U $ r   r   r   s    r   r   r      r   r   r=   c                     U $ r   r   r   s    r   r   r     r   r   r;   0All elements of `factor` must be greater than 1.c                     U $ r   r   r   s    r   r   r     r   r   ry   	broadcastc                     U $ r   r   r   s    r   r   r     r   r   )r)   rj   r.   )`maxiter` must be a non-negative integer.c                     U $ r   r   r   s    r   r   r     r   r   rz   )rq   c                     U $ r   r   r   s    r   r   r     r   r   r|   c                     U $ r   r   r   s    r   r   r     r   r   	shrubbery)pytestraises
ValueErrorr   	ExceptionrB   rL   rM   messages      r   test_input_validation%TestBracketRoot.test_input_validation   s    -]]:W5$A& 6 1]]:W5+ua0 6]]:W5+r40 6]]:W5+r148 6]]:W5+r148 6]]:W5+r1T: 6 E]]:W5+r1S9 6 ]]9G4+rzz2r(';RZZ	=RS 5 >]]:W5+r1c: 6]]:W5+r1b9 6]]:W5+r1kB 65A 65 6555555555 65
 54 655555s   H6I=I-I,I>J<J"-1J4K0KK(6
I
I
I),
I;>
J
J"
J14
K
K
K%(
K6c                 
  ^^ U4S jm[        TTR                  S5      TR                  S5      5      nUR                  (       d   eS mTR                  S5      TR                  S5      4n[        T/UQ7SS06nUR                  (       d   UR                  U:H  5       eUR
                  S:X  d   eUR                  S:X  d   eUR                  S	:X  d   eS
 m[        TTR                  S5      TR                  S5      TR                  S5      S9nUR                  (       d   e[        UR                  T" UR                  S5      5        U4S jmSTl
        [        TTR                  S5      TR                  S5      5        TR                  S:X  d   eSTl
        [        TTR                  S5      TR                  S5      SS9nUR                  S:X  d   e[        UR                  TR                  S5      SS9  [        UR                  TR                  S5      SS9  [        R                  " SS9   [        TTR                  S5      TR                  S5      SS9nS S S 5        [        UR                  TR                  S5      SS9  [        R                  " SS9   [        TTR                  S5      TR                  S5      SS9nS S S 5        [        UR                  TR                  S5      SS9  [        R                  " SS9   [        TTR                  S5      TR                  S5      SS9nS S S 5        UR                  (       a   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       ND= f) Nc                 Z   > TR                  U R                  S5      (       d   eU S-  S-
  $ )Nzreal floatingc   r/   isdtyper   r   s    r   r6   -TestBracketRoot.test_special_cases.<locals>.f  s,    ::agg77777Q;r         g      @c                     U S-
  $ )Nr-   r   r   s    r   r6   r   $  s    r6Mr         rq   r   r>   r   c                     X-  S-
  $ r1   r   r5   cs     r   r6   r   /  s    37Nr   r         ?      @r   r)   c                 2   > T=R                   S-  sl         U $ r1   r2   r4   s    r   r6   r   9  r8   r   i   g      $@r   rj           gV瞯<)atolignore)overr   g      $g      r   r/   )r   rB   rK   r   r   rH   rG   rJ   r   r   r3   r?   errstate)rL   rM   r   r   r6   s    `  @r   test_special_cases"TestBracketRoot.test_special_cases  s   	 Arzz#

2?{{{	 ::c?BJJrN3A333vv(svv((vww!||xx1}}zzR	 Arzz#

2!#B1{{{#&&!-	
 aC"**R.9ww!|| Arzz"~rzz##$& xx1}}

2U;

2U; [[h'2::b>2::c?%&(C ( 	

2U;[[h'2::d#3RZZ_%&(C ( 	

2U; [[h'2::b>2::c?%&(C ( ;;; ('
 (' ('s$   5+M +M#+M4
M #
M14
Nc           	      &   S n[         R                  " SS/5      n[        US[         R                  * SU4S9nS n/ SQn/ S	Qn/ S
Qn/ SQn[         R                  * S[         R                  * [         R                  * S[         R                  * [         R                  * [         R                  * /nS[         R                  SS[         R                  SSS/n[        XXgXU4S9n[        S S[         R                  * SS9nUR                  (       d   eg )Nc                 4    [         R                  " U 5      U-
  $ r   r?   exp)r5   r[   s     r   r6   )TestBracketRoot.test_bug_fixes.<locals>.fc  s    66!9q= r   g(\?gffffff?r|   r   )r9   r<   r=   r   c                 8    [         R                  " X-  5      U-
  $ r   r  )r5   r[   r   s      r   r6   r
  j  s    66!#;?"r   )gi<?gx?gt\c?gL0+?gt4?gj~?gE.K?g'2L?)r   r   r   r   r   r   r   r   )gʷG;g_.:
@gbG g9jgWM!?geg~:ZgV^ܿ)gʷG;g/B_@gŎzgH_sgЫ?gˆ-r   r   r   r9   r:   r<   r=   r   c                     U S-   $ )Ng      ?r   r   s    r   r   0TestBracketRoot.test_bug_fixes.<locals>.<lambda>|  s    a$hr         )r9   r<   r=   )r?   rB   r   r   rK   )	rL   r6   r[   r   r   r9   r:   r<   r=   s	            r   test_bug_fixesTestBracketRoot.test_bug_fixes\  s    	! JJd|$A2RVVG!1%H	#1.B0bffWrvvgrBFF7RVVGBFFBBFFBB7ACPQFS .DwQO{{{r   r   )__name__
__module____qualname____firstlineno__r   markparametrizerT   r6   r?   r}   rd   r   r   r   r   r   r  r  __static_attributes__r   r   r   r!   r!   .   s    [[V%GH[[Z7[[\=9[[^];G < : 8 IGR: [[S3D$(C"DE[[Vb$Z0[[VaY/[[XQx0; 1 0 1 F; [[Wuwvy&IJ2C K2Ch/: [[VeeU^%<=[[Vb$Z0[[VaY/[[W&GH5 I 0 1 >5%CNBH!r   r!   torchzdata-apis/array-api-compat#271c                      \ rS rSrS rS rSSSSSSS.S jr\R                  R                  SS5      \R                  R                  S	S
5      \R                  R                  SS
5      S 5       5       5       r
S r\R                  R                  SSSS/45      \R                  R                  SS5      \R                  R                  SSS/5      \R                  R                  SSS/5      S 5       5       5       5       r\R                  R                  SSS9S 5       r\R                  R                  SSS/5      \R                  R                  SS5      \R                  R                  S S!5      \R                  R                  S"S#5      S$ 5       5       5       5       r\R                  R                  S%S&5      \R                  R                  S"S'5      S( 5       5       r\R                  R                  S)S*5      \R                  R                  S"S+5      S, 5       5       r\R                  R                  S-S.5      S/ 5       r\R                  R                  S0\" 5       S1S2S3/5      S4 5       rS5 rS6 rS7 rS8rg)9TestBracketMinimumi  c                 "   ^ U4S jmSTl         T$ )Nc                 B   > T=R                   S-  sl         X-
  S-  U-   $ )Nr/   r>   r2   )r5   abr6   s      r   r6   $TestBracketMinimum.init_f.<locals>.f  s     GGqLGEA:>!r   r   r2   )rL   r6   s    @r   init_fTestBracketMinimum.init_f  s    	" r   c                    UR                  UR                  UR                  :  UR                  UR                  :  -  5      (       d   eUR                  UR                  UR
                  :  UR                  UR
                  :  -  UR                  UR
                  :  UR                  UR
                  :  -  -  5      (       d   eg r   )r   r   r   r   r   r   r   )rL   resultrM   s      r   assert_valid_bracket'TestBracketMinimum.assert_valid_bracket  s    vvYY"vyy699'<=
 
 	
 
 vvYY&))#		FII(=>yy699$VYY)>?@
 
 	
 
r   N)r9   r:   r;   r<   r=   r   c          	      d    Sn[        XqX$XSU45       VV	s0 s H  u  pU	c  M
  X_M     sn	n$ s  sn	nf )Nr9   r:   r<   r=   r;   r   )r   )
rL   r9   r:   r;   r<   r=   r   namesnamevals
             r   
get_kwargsTestBracketMinimum.get_kwargs  sG     A'*54QU2V'W
'W)$ DI'W
 	
 
s   	,,r#   )l	   ^0#,N0Lb*& l	   }SES].HMa l	   FDuBP_KU r$   r%   r&   c           	         [         R                  R                  U5      nUR                  S5      UR                  S5      4nUR                  UR                  SS9/ SQ-  5      u  pxpXx-   nX-   nU
S-  n
U(       a  UR                  UR                  5       * S-  UR                  S9n[        UR                  UR                  X}-
  * U-  5      UR                  U
5      -  5      5      nXU-
  X* -  -  -   nXU-
  XS-
  * -  -  -   nUS:  a  XU-
  XS-
  * -  -  -   OUnUS-  US-  :  a  US-  nXU-
  X* -  -  -   UUnnnOS n[        UR                  UR                  Xx-  5      UR                  U
5      -  5      5      nXxX-  -  -
  nUS:  a  XxXS-
  -  -  -
  OUnUS:  a  XxXS-
  -  -  -
  OUnUS-  US-  :  a  US-  nXxX-  -  -
  UUnnnU R                  5       nS nU(       a  U* U* U* pnS Ub  U* OS nnU* U* U* nnnU R                  X|UUXS	9n[        UUR                  U5      40 UD6nUR                  UR                  S
-   :X  d   eUR                  UR                  :X  d   eUR                  U:X  d   e[        UR                  U5        [        UR                   U5        [        UR"                  U5        [        UR$                  U" U/UQ76 5        [        UR&                  U" U/UQ76 5        [        UR(                  U" U/UQ76 5        U R+                  UU5        UR,                  S:X  d   eUR.                  (       d   eg )Nr   rj   r*   )r,   r-   r-   r.   r/   r.   r   r>   r(  r)   r   )r?   r@   rA   rB   r   r   rC   rD   r!  r,  r   rG   rH   r3   r   r   r   r   r   r   r   r%  rJ   rK   )rL   r#   r$   r&   rM   rN   r   r9   d1d2r;   xm0r:   r<   rP   lowermiddleupperr6   r=   r   r$  s                         r   rT   %TestBracketMinimum.test_nfev_expected  s^    ii##D)

2

2/ !jj);>N)NOhh!::szz|ma/rzz:BDBGGBFFSZ=4#78266&>IJKA$J
22E4ZQ377F:;a%D$JA#66SE qy5!8#Q$J
22E6  %v DBGGBFF38,rvvf~=>?AVY,&E/01uSfsm++#F./!eCVc]**E qy5!8#QVY,&v  %v KKM D3$cC(8ud$D$)6F7UF56E4d6 ! 
 "!RZZ_?? {{fjj1n,,,{{agg%%%zzQ 			5)		6*		5)		1U?T?3		1V#3d#34		1U?T?3!!&"-}}!!!~~~r   c           
      $  ^ U4S jnTR                  STR                  S94nTR                  / SQ5      nTR                  / SQ5      nTR                  / SQ5      nTR                  TR                  * STR                  * TR                  * S/5      n[	        X%XFUUS	S
9nTR                  [
        R                  [        [
        R                  [
        R                  [
        R                  /TR                  S9n	[        UR                  U	5        g )Nc                    > S S S U4S jS /n[        X5       VVs/ s H  u  p4U[        U5         " U5      PM     snn$ s  snnf )Nc                     U S-
  S-  $ )Nrz   r>   r   r   s    r   r   :TestBracketMinimum.test_flags.<locals>.f.<locals>.<lambda>  s    C!|r   c                     U $ r   r   r   s    r   r   r9    r   r   c                     U $ r   r   r   s    r   r   r9    r   r   c                 :   > TR                  TR                  5      $ r   )rB   r   r   s    r   r   r9    s    rzz"&&1r   c                     U S-  $ Nr>   r   r   s    r   r   r9    s    q!tr   r   r   s        r   r6   (TestBracketMinimum.test_flags.<locals>.f  sF    +  1#	%E 25R=E#a&M!$===r   r.   r   )r   r   r   r         @)r   r   r   r   r   )r   r   r   r          @r   g       @r)   )r9   r:   r<   r   rq   )r   r   rB   r   r   r   r   r   r   r   r   r   r   rJ   )
rL   rM   r6   r   r9   r1  r:   r<   r$  reference_flagss
    `        r   r   TestBracketMinimum.test_flags  s    	> 		!288	,.jj67jj23jj23zzBFF7D266'BFF7C@A!!c'+Q8 **coox&)mmS^^&)nn&6=?XX % G 	7r   minimumr   r   r   r   r<   r_   r=   r.   c           
        ^^ [        TT5      mUc  UOTR                  UTS9nUc  UOTR                  UTS9nTR                  UTS9nUU4S jn/ SQu  pxn	[        UTR                  UTS9TR                  UTS9TR                  U	TS9X#U4S9n
TR                  U
R                  5      (       d   eU
R
                  R                  U
R                  R                  s=:X  a"  U
R                  R                  s=:X  a  T:X  d   e   eU
R                  R                  U
R                  R                  s=:X  a"  U
R                  R                  s=:X  a  T:X  d   e   eg )Nr   c                 2   > TR                  X-
  S-  T5      $ r>  r   )r5   rD  r   rM   s     r   r6   )TestBracketMinimum.test_dtypes.<locals>.f  s    99akA-u55r   )rb   r   rc   r  )r   rB   r   r   rK   r   r   r   r   r   r   r   )rL   rD  r<   r=   r   rM   r6   r9   r1  r:   r$  s       ``     r   test_dtypesTestBracketMinimum.test_dtypes	  s+   
 E"|tD)F|tD)F**WE*2	6 +#!rzz#Uz+Cu1M

3e
,4'
 vvfnn%%%%yy&))//MVYY__MMMMMMyy&))//MVYY__MMMMMMr   Tzstr/object arrays)np_onlyr   c                 n   Sn[         R                  " [        US9   [        S SSS9  S S S 5        Sn[         R                  " [        US9   [        S UR	                  S5      5        S S S 5        [         R                  " [        US9   [        S	 UR	                  S5      SS9  S S S 5        [         R                  " [        US9   [        S
 UR	                  S5      SS9  S S S 5        [         R                  " [        US9   [        S UR	                  S5      SS9  S S S 5        [         R                  " [        US9   [        S UR	                  S5      SS9  S S S 5        [         R                  " [        US9   [        S UR	                  S5      SS9  S S S 5        Sn[         R                  " [        US9   [        S UR	                  S5      SS9  S S S 5        Sn[         R                  " [        US9   [        S UR	                  SS/5      / SQS9  S S S 5        Sn[         R                  " [        US9   [        S UR	                  S5      SSS9  S S S 5        [         R                  " [        US9   [        S UR	                  S5      SSS9  S S S 5        [         R                  " [        US9   [        S  UR	                  S5      SS!S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNf= f! , (       d  f       GN;= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN\= f! , (       d  f       GN.= f! , (       d  f       GN= f! , (       d  f       g = f)"Nr   r   r   rj   )r9   r   c                     U S-  $ r>  r   r   s    r   r   :TestBracketMinimum.test_input_validation.<locals>.<lambda>)      q!tr   r   c                     U S-  $ r>  r   r   s    r   r   rM  +  rN  r   c                     U S-  $ r>  r   r   s    r   r   rM  -  rN  r   r:   c                     U S-  $ r>  r   r   s    r   r   rM  /  rN  r   r   c                     U S-  $ r>  r   r   s    r   r   rM  1  rN  r   r   c                     U S-  $ r>  r   r   s    r   r   rM  3  rN  r   r   r   c                     U $ r   r   r   s    r   r   rM  7  s    qr   ry   z/Array shapes are incompatible for broadcasting.c                     U S-  $ r>  r   r   s    r   r   rM  ;  rN  r   r   r   )r   r   r_   r   c                     U S-  $ r>  r   r   s    r   r   rM  ?  rN  r   rz   )r:   rq   c                     U S-  $ r>  r   r   s    r   r   rM  A  rN  r   r|   c                     U S-  $ r>  r   r   s    r   r   rM  C  rN  r   ekki)r   r   r   r   rB   r   s      r   r   (TestBracketMinimum.test_input_validation  s^    -]]:W5T21- 6 1]]:W5^RZZ-=> 6]]:W5^RZZ^F 6]]:W5^RZZ^F 6]]:W5^RZZ^$G 6]]:W5^RZZ^$G 6]]:W5^RZZ^DI 6 E]]:W5["**R.E 6 D]]:W5^RZZR-A|T 6 >]]:W5^RZZ^CP 6]]:W5^RZZ^BO 6]]:W5^RZZ^FS 65= 65 655555555555 65 65 655555s   K K2	LLL( L:=M<M; M0>N<N:N& 
K/2
L
L
L%(
L7:
M	
M
M-0
M?
N
N#&
N4r9   r   r1  )r^   皙?g333333?r:   )皙?皙?r]   Nr   ))r`   r   )r  r   )r\  r   )r]  r   )g@r   )gffffff5@r   )gffffff^@r   )g@r   )gr   )g)r   )gfffffFbr   c           
      h   U R                  5       nU R                  X[        [        UR                  U5      5      S9n[        XeR	                  X%R                  S940 UD6nU R                  X5        UR                  S:X  d   eUR                  (       d   eUR                  UR                  :X  d   eg )Nr9   r:   r   r   r   )r!  r,  r   r   rB   r   r   r%  rJ   rK   rG   r3   )	rL   r9   r1  r:   r   rM   r6   r   r$  s	            r   test_scalar_no_limits(TestBracketMinimum.test_scalar_no_limitsE  s     KKMSc"**d>S8TU!!ZZ::Z%FQ&Q!!&-}}!!!~~~{{agg%%%r   zxl0,xm0,xr0,xmin))ry         ?r   r   )r         @r   r   )rA  r   r@  r   )g      (@      0@      4@r   )Nrc  r   r   )Nrd  r   r   )Nr   r@  r   )Nre  rf  r   ))r   r   )gYnr   )g#B;r   )r\  r   )r]  r   )r^  r   c                 Z   U R                  5       nU R                  XU[        [        UR                  U5      5      S9n[        XvR	                  U5      40 UD6n	U R                  X5        U	R                  S:X  d   eU	R                  (       d   eU	R                  UR                  :X  d   eg )N)r9   r:   r<   r   r   )r!  r,  r   r   rB   r   r%  rJ   rK   rG   r3   )
rL   r9   r1  r:   r<   r   rM   r6   r   r$  s
             r   test_scalar_with_limit_left.TestBracketMinimum.test_scalar_with_limit_left[  s    : KKMS&+C

D,A&B ! D!!ZZ_??!!&-}}!!!~~~{{agg%%%r   zxl0,xm0,xr0,xmax))r]  333333?r^  r   )r^   333333?r\  r   )皙ɿ皙r   r   )3333335333331gffffff,r   )r]  rj  Nr   )r^   rk  Nr   )rl  rm  Nr   )rn  ro  Nr   ))g?r   )g?r   )gffffff?r   )ry   r   c                 `  ^ U R                  5       n[        U4S jU 5       5      nU R                  XXES9n[        UTR	                  UTR
                  S940 UD6n	U R                  U	T5        U	R                  S:X  d   eU	R                  (       d   eU	R                  UR                  :X  d   eg )Nc              3   X   >#    U  H  nTR                  UTR                  S 9v   M!     g7fr   NrB   r   .0argrM   s     r   	<genexpr>BTestBracketMinimum.test_scalar_with_limit_right.<locals>.<genexpr>  "     G$3RZZ2::Z6$   '*)r9   r:   r=   r   r   r   )r!  r   r,  r   rB   r   r%  rJ   rK   rG   r3   )
rL   r9   r1  r:   r=   r   rM   r6   r   r$  s
         `   r   test_scalar_with_limit_right/TestBracketMinimum.test_scalar_with_limit_right  s    4 KKMG$GGSH!!RZZ2::Z%FQ&Q!!&"-}}!!!~~~{{agg%%%r   zxl0,xm0,xr0,xmin,xmax,args))r]  rj  r^  Nr   r   r   )gffffff?333333?rd  rj  Nrj  r   )g@      
@g333333@N皙X@r  r   )rj         @r.   L:Nr  r   )Nrj  NNr   r}  )Nr~  Nrj  Nr  )Nr  NNr  r  )Nr  Nr  Nr  c                 T   U R                  5       nU R                  X4U[        [        UR                  U5      5      S9n	[        XR	                  U5      40 U	D6n
U
R                  S:X  d   eUS   U
R                  U
R                  4;   d   eU
R                  UR                  :X  d   eg )N)r:   r<   r=   r   r|   r   )r!  r,  r   r   rB   r   rJ   r   r   rG   r3   )rL   r9   r1  r:   r<   r=   r   rM   r6   r   r$  s              r   test_minimum_at_boundary_point1TestBracketMinimum.test_minimum_at_boundary_point  s    z KKMS$&+C

D,A&B ! D!!ZZ_??}}"""Aw699fii0000{{agg%%%r   rf   rg   ri   rk   c                 F  ^ ^^ U(       a'  [         R                  " SSS5      R                  U5      OSnUS4nSm[         R                  UU 4S j5       nT R	                  5       n[         R
                  R                  S5      nUR                  US	9* nUR                  US	9n	XR                  US	9X-
  -  -   n
S
U-  S
U	-  pU(       a8  UR                  US	9S:  n[         R                  * [         R                  sX'   X'   UR                  US	9S-   nU" XXXU5      R                  5       n[        U4S jU 5       5      n[        UTR                  U
5      TR                  U5      TR                  U	5      TR                  U5      TR                  U5      TR                  U5      UTS9	n/ SQnU Ho  nU Vs/ s H  nTR                  [        UU5      5      PM      nn[        UU5      n[        [        UTS9TR                  U5      5        UR                   U:X  a  Mo   e   UR"                  R$                  TR&                  :X  d   eU(       a%  TR)                  UR"                  SS 5      (       d   eUR*                  R$                  TR,                  :X  d   eUR.                  R$                  TR,                  :X  d   eUR0                  R$                  TR,                  :X  d   eTR3                  UR0                  5      UR4                  S-
  :X  d   eT R7                  UT5        [        UR8                  U" UR:                  /UQ76 5        [        UR<                  U" UR>                  /UQ76 5        [        UR@                  U" URB                  /UQ76 5        g s  snf )Nrm   rn   rh   r]   r   r-   c                 @   > [        TR                  5       XX#XETUS4S9	$ )Nr   )r9   r:   r<   r=   r;   rq   r   )r   r!  )	r1  r9   r:   r<   r=   r;   r  rq   rL   s	          r   bracket_minimum_singleETestBracketMinimum.test_vectorization.<locals>.bracket_minimum_single  s(    #DKKM3S)-g*+S3 3r   rw   r*   rx   ry   rz   c              3   X   >#    U  H  nTR                  UTR                  S 9v   M!     g7frr  rs  rt  s     r   rw  8TestBracketMinimum.test_vectorization.<locals>.<genexpr>#  ry  rz  )r9   r:   r<   r=   r;   r   rq   )	r   r   r   r   r   r   rK   rG   rH   r{   r/   r|   r)   )"r?   r}   r~   r   r!  r@   rA   r   r   r   r   rB   r   r   r
   r   rf   rK   r   r   r   rJ   r   rG   rH   r   r3   r%  r   r   r   r   r   r   )rL   rf   rM   r  r   r  r6   rN   r9   r:   r1  r<   r=   r   r;   r   r   r   r   r   r   r   rq   s   ` `                   @r   r   %TestBracketMinimum.test_vectorization	  s    <ABKKtR(007c2w		3 
	3
 KKMii##G,zzuz%%jjej$JJEJ*ci88Wc#gd


&,A "wDGTW'#-%c4KQQSG$GGq"**S/rzz##%::c?D9I$&JJt$4RZZ=O$(';
 ODBFG$3

73#56$HGsD)HHX"5rxx7IJ>>U***	  {{  BGG+++66#++a+,,,,zz288+++xx~~)))ww}}(((vvcgg!''A+---!!#r*#&& 04 01#&& 04 01#&& 04 01 Hs   8%Nc                   ^ U4S jn[        UTR                  STR                  S9SS9nUR                  (       d   eS nTR                  S5      TR                  S5      TR                  S	5      pen[        X%XFS
S9n[	        UR
                  U5        [	        UR                  U5        [	        UR                  U5        S n[        UTR                  S5      TR                  S5      S9nUR                  (       d   e[        UR                  U" UR
                  S5      5        U R                  5       nTR                  S5      TR                  S5      TR                  S5      penTR                  S5      TR                  S5      4n[        X%XFUS9nUR                  S:X  d   e[	        UR
                  U5        [	        UR                  U5        [	        UR                  U5        [	        UR                  U" U/UQ76 5        [	        UR                  U" U/UQ76 5        [	        UR                  U" U/UQ76 5        g )Nc                 Z   > TR                  U R                  S5      (       d   eU S-  S-
  $ )Nnumericb   r/   r   r   s    r   r6   0TestBracketMinimum.test_special_cases.<locals>.fA  s,    ::aggy11117Q;r   r   r   r.   rQ  c                     U S-  S-
  $ )Nr>   r-   r   r   s    r   r6   r  I  s    a4"9r   r   r   rA  r   )r9   r:   rq   c                     XS-  -  S-
  $ )Nr>   r/   r   r   s     r   r6   r  S  s    T6A:r   r   r   r)   rl  r   r   r`  )r   rB   r   rK   r   r   r   r   r   r   r!  r3   r   r   )rL   rM   r6   r$  r9   r1  r:   r   s    `      r   r  %TestBracketMinimum.test_special_cases<  s   
	 "!RZZ2::Z%FAN~~~	 

3C"**R.#!!cAF		3'		3'		3'	 "!RZZ_2::b>J~~~		1VYY?3 KKM

4("**T*:BJJsO#

2

2/!!cFww!||		3'		C(		3'		1S=4=1		1S=4=1		1S=4=1r   c                    ^^^ TR                  S5      TR                  S5      smmUUU4S jn[        UTR                  S5      TTS9n[        UR                  T5        g )NgJg7e4?g[2\WZ?c                 \   > TR                  T5      TR                  T5      p!X!-
  U -  S-  * $ Nr|   rD   r5   log_alog_br=   r<   rM   s      r   r6   0TestBracketMinimum.test_gh_20562_left.<locals>.fm  s/    66$<5mQ&+++r   g_\ݶ?r<   r=   )rB   r   r   r   rL   rM   r6   r$  r=   r<   s    `  @@r   test_gh_20562_left%TestBracketMinimum.test_gh_20562_lefth  sT     ZZ
+RZZ
-C
d	, "!RZZ0B%C$'+-		4(r   c                    ^^^ TR                  S5      TR                  S5      smmUUU4S jn[        UTR                  S5      TTS9n[        UR                  T5        g )Ng[2\WZgJg7e4̿c                 ^   > TR                  T* 5      TR                  T* 5      p!X!-
  U -  S-  $ r  r  r  s      r   r6   1TestBracketMinimum.test_gh_20562_right.<locals>.fz  s0    664%="&&$-5]A%**r   g_\ݶr  )rB   r   r   r   r  s    `  @@r   test_gh_20562_right&TestBracketMinimum.test_gh_20562_rightu  sT     ZZ,bjj.E
d	+ "!RZZ0C%D'+$8		4(r   r   )r  r  r  r  r!  r%  r,  r   r  r  rT   r   rH  skip_xp_backendsr   ra  rh  r{  r  r   r   r  r  r  r  r   r   r   r  r    s   

 44dQU
 [[	
 [[Z7[[\=9E : 8EN84 [[Y(?@[[W&GH[[Vb$Z0[[VaY/N 0 1 I AN$ [[!!$7J!K#T L#TJ [[US$K0[[U$56[[U$9: [[	
&	 ; 7 1& [[	
" [[ 

&
#8& [[	
  [[ 
&!2& [[$X	
[x&y[x& [[Wuw	&JK02 L02d*2X))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	   scipy._lib._array_apir
   r   r   array_api_strict_skip_reasonboolean_index_skip_reasonr  r  r!   r  r   r   r   <module>r     s;     , D 6 6 9 9 *  W P 09UVk2KLl3LML L N M WL^
 g.NO09UVk2KLl3LM|) |) N M W P|)r   