Ë
    ÏÍ:jš˜  ã                   óŒ  — d dl Z d dlmZ d dlZd dlmZmZmZmZ d dl	Z
d dl	mZmZmZmZmZmZmZ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m Z! d	 e
j                  e"«      jF                  z  Z$ ee"«      jF                  Z%ejL                  ejN                  ejP                  ejR                  ejT                  gZ+ej0                  gZ,e+e,z   Z-d
„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4ed„ «       Z5 G d„ d«      Z6 G d„ de6«      Z7 G d„ de6«      Z8d„ Z9d„ Z:d„ Z; G d„ d«      Z<d„ Z=d„ Z>d„ Z?d „ Z@d!„ ZAd"„ ZBej†                  j‰                  d#d$ejŠ                  fd%ejŒ                  fg«      d&„ «       ZGd'„ ZHej†                  j‰                  d(g d)¢«      d*„ «       ZIej†                  j‰                  d+g d)¢«      d,„ «       ZJej†                  j‰                  d(g d)¢«      ej†                  j‰                  d-d.d/g«      d0„ «       «       ZKd1„ ZLej†                  j‰                  d(g d)¢«      ej†                  j‰                  d-d.d/g«      d2„ «       «       ZMd3„ ZNd4„ ZOej†                  j‰                  d+e-«      d5„ «       ZPej†                  j‰                  d+ejL                  ejN                  ejP                  ejR                  g«      d6„ «       ZQ G d7„ d8«      ZRy)9é    N)Ú	lru_cache)Úassert_Úassert_allcloseÚassert_equalÚassert_array_equal)ÚfinfoÚpowerÚnanÚiscloseÚsqrtÚexpÚsinÚcos)Úoptimize)Ú	_zeros_pyÚnewtonÚroot_scalarÚOptimizeResult)Úgetfullargspec_no_self)Ú	get_testsÚ	functionsé   c                 ó   — | dz  d| z  z
  dz
  S ©Né   é   © ©Úxs    út/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/optimize/tests/test_zeros.pyÚf1r!   "   s   € Ø�‰6�A˜‘E‰>˜AÑÐó    c                 ó   — d| z  dz
  S ©Nr   r   r   s    r    Úf1_1r%   &   s   € Øˆq‰5�1‰9Ðr"   c                 ó   — dd| z  z   S ©Nç       @r   r   r   s    r    Úf1_2r)   *   s   € Ø��Q‘‰;Ðr"   c                 óB   — t        | «      t        | «      t        | «      fS ©N)r!   r%   r)   r   s    r    Úf1_and_p_and_ppr,   .   s   € Üˆa‹5”$�q“'œ4 ›7Ð"Ð"r"   c                 ó0   — t        | «      t        | «      z
  S r+   ©r   r   r   s    r    Úf2r/   3   ó   € Üˆq‹6”C˜“F‰?Ðr"   c                 ó0   — t        | «      t        | «      z   S r+   )r   r   r   s    r    Úf2_1r2   7   r0   r"   c                 ó0   — t        | «      t        | «      z   S r+   r.   r   s    r    Úf2_2r4   ;   r0   r"   c                 ó   — | S r+   r   r   s    r    Úf_lrucachedr6   @   s   € à€Hr"   c                   ó¨   — e Zd Zd ej                  e«      j                  z  Zd ej                  e«      j                  z  Z	 	 dd„Z	dd„Z
	 	 dd„Zy)ÚTestScalarRootFindersr   Nc           	      óÂ  — g }|xs g D ]0  }||vrddddœj                  ||«      }|j                  ||   «       Œ2 t        d
i |¤Ž}|j                  dddœ«       |xs g D ]
  }||   ||<   Œ |j                  d«      }	|j                  d	d
«      }
	  ||d	|
i|¤Ž\  }}|	||fS # t        $ r1 |	t        j                  t        ddt
        j                  |«      |fcY S w xY w)NÚx0Úx1Úf)ÚaÚbÚfuncTF©Úfull_outputÚdispÚrootÚargsr   éÿÿÿÿ)	ÚgetÚappendÚdictÚupdateÚ	ExceptionÚzerosÚRootResultsr
   Ú
_EVALUEERR)ÚselfÚtcÚmethodÚsig_args_keysÚsig_kwargs_keysÚkwargsÚmethod_argsÚkÚmethod_kwargsrC   Ú	func_argsÚrÚrrs                r    Ú_run_one_testz#TestScalarRootFinders._run_one_testK   s  € àˆØÒ$ "ò 	&ˆAØ˜‰{à T°3Ñ7×;Ñ;¸A¸qÓA�Ø×Ñ˜r !™uÕ%ð		&ô ™˜v™ˆØ×Ñ¨T¸5ÑAÔBØ Ò& Bò 	%ˆAØ! !™uˆM˜!Òð	%ð �v‰v�f‹~ˆØ—F‘F˜6 2Ó&ˆ	ð	VÙ˜KÐI¨iÐI¸=ÑI‰EˆAˆrØ˜˜R�<ÐøÜò 	VØœ×*Ñ*¬3°°B¼×8HÑ8HÈ&ÓQÐSUÐUÒUð	Vús   ÂB$ Â$7CÃCc                 ó<  — t        |«      }t        |j                   «       t        |j                  «      }t        |j
                  «      |z
  }|j
                  d| }	g }
|dv r:|dv r&|
j                  d«       |dv r|
j                  d«       | j                  |d<   n| j                  |d<   | j                  |d	<   |D �cg c]"  }t         | j                  ||f|	|
d
œ|¤Ž«      ‘Œ$ }}|xs g }|D �cg c]  }|d   j                  rŒ|‘Œ }}|D �cg c]  }|d   d   |vsŒ|‘Œ }}|D �cg c]
  }|d   d   ‘Œ }}t        t        |«      |gdg g«       | j                  | j                  dœ} |j                  di |¤Ž |d	   }|j                  d|d   «      }|D �cg c]  }|d   j                  sŒ|‘Œ }}|D �cg c]  }|d   j                  ‘Œ }}|D �cg c]  }|d   ‘Œ	 }}t!        |||«      D ���cg c]%  \  }}}t#        ||||¬«      s|d   d   |vr|g|z   ‘Œ' }}}}|D ����cg c]+  \  }}}} |d   |g|j                  dt%        «       «      ¢­Ž ‘Œ- }}}}}t!        ||«      D ��cg c]  \  }}|dk7  sŒ|g|z   ‘Œ }}}t        |t        |«      gg dg«       |D �cg c]  }|d   j&                  ‘Œ }}|D �cg c]  }|‘Œ } }t        || «       yc c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}}}w c c}}}}w c c}}w c c}w c c}w )zÒRun test-cases using the specified method and the supplied signature.

        Extract the arguments for the method call from the test case
        dictionary using the supplied keys for the method's signature.N)Úsecantr   Úhalley)r   r]   Úfprime)r]   Úfprime2ÚtolÚxtolÚrtol)rQ   rR   r   rE   ÚIDr   ©ra   rb   )rb   Úatolr<   rD   r   )Ú_getfullargspecr   Ú
kwonlyargsÚlenÚdefaultsrD   rG   ra   rb   ÚlistrZ   Ú	convergedr   rI   rF   rC   Úzipr   ÚtuplerP   )!rN   ÚtestsrP   ÚnameÚ
known_failrS   ÚsigÚ	nDefaultsÚ	nRequiredrQ   rR   rO   ÚresultsÚeltÚnotcvgdÚnotcvged_IDSÚtolsrb   re   ÚcvgdÚapproxÚcorrectr=   ÚcÚnotcloseÚarootÚfulloutÚfvsÚfvÚresultÚmethod_from_resultÚ_Úexpected_methods!                                    r    Ú	run_testszTestScalarRootFinders.run_testsb   s]  € ô ˜fÓ%ˆÜ�C—N‘NÐ"Ô#Ü˜Ÿ™Ó%ˆ	Ü˜Ÿ™“M IÑ-ˆ	ØŸ™  )Ð,ˆØˆØÐ1Ñ1ØÐ+Ñ+Ø×&Ñ& xÔ0Ø˜:Ñ%Ø#×*Ñ*¨9Ô5Ø ŸI™IˆF�5ŠMà!ŸY™YˆF�6‰NØ!ŸY™YˆF�6‰Nð CHöIà<>ô Ð*˜×*Ñ*Ø�ð7Ø&3Ø+ñ7à/5ñ7õ 8ð Iˆð Ið
  Ò% 2ˆ
Ø")ÖB˜3°°Q±×1AÓ1A’3ÐBˆÐBØ")ÖM˜3¨S°©W°T©]À*Ò-L’3ÐMˆÐMØ18Ö9¨#˜˜B™ ›Ð9ˆÐ9Ü”c˜,Ó'¨Ð6¸¸B¸Ô@ð Ÿ	™	¨4¯9©9Ñ5ˆØˆ�‰Ñ�fÒØ�F‰|ˆØ�x‰x˜˜t F™|Ó,ˆà&Ö;˜¨#¨a©&×*:Ó*:’Ð;ˆÐ;Ø)-Ö. #�#�a‘&—+“+Ð.ˆÐ.Ø%)Ö*˜c�3�q“6Ð*ˆÐ*ä/2°6¸7ÀDÓ/I÷ 9ð 9¡) ! Q¨Ü  1¨4°dÕ;Ø˜B™ ™¨ZÑ7ð �C˜#“Ið 9ˆò 9ð
 -5÷6ñ 6Ù(�5˜!˜W bð ˆr�#‰w�uÐ7˜rŸv™v f¬e«gÓ6Ô7ð 6ˆó 6ä.1°#°xÓ.@×L¡7 2 sÀBÈ!ÃG�R�D˜3“JÐLˆÑLÜ�h¤ H£Ð.°°Q°Ô8Ø=DÖE°6˜f Q™i×.Ó.ÐEÐÐEØ)0Ö1 Aš4Ð1ˆÐ1ÜÐ'¨Õ9ùò?Iùò CùÚMùÚ9ùò <ùÚ.ùÚ*ùô9ùõ6ùãLùâEùÚ1s`   Ã 'KÃ3K!ÄK!ÄK&Ä"K&Ä,K+ÆK0Æ4K0Æ>K5ÇK:Ç9*K?È.0L
É2LÊ LÊ(LË	Lc                 óL   — t        ||¬«      } | j                  |||fd|i|¤Ž y)zuRun a collection of tests using the specified method.

        The name is used to determine some optional arguments.©Ú
smoothnessrp   N)r   r†   )rN   Ú
collectionrP   ro   r‰   rp   rS   rn   s           r    Úrun_collectionz$TestScalarRootFinders.run_collection�   s,   € ô
 ˜*°Ô<ˆØˆ�‰�u˜f dÑL°zÐLÀVÓLr"   )NNr+   )Ú__name__Ú
__module__Ú__qualname__Únpr   ÚfloatÚepsra   rb   rZ   r†   r‹   r   r"   r    r8   r8   E   sZ   „ ð ˆxˆr�x‰x˜‹×"Ñ"Ñ"€DØˆxˆr�x‰x˜‹×"Ñ"Ñ"€Dà6:Ø&*óVó.9:ðv CGØ"&ôMr"   r8   c                   ó¦  — e Zd Zej                  j                  de«      ej                  j                  de«      d„ «       «       Zej                  j                  de«      ej                  j                  de«      d„ «       «       Z	ej                  j                  de«      ej                  j                  de«      d„ «       «       Z
ej                  j                  de«      d„ «       Zej                  j                  dej                  ej                  ej                  g«      d„ «       Zej                  j                  de«      d„ «       Zd	„ Zy
)ÚTestBracketMethodsrP   Úfunctionc                 ó,  — dt        d«      }}t        ||j                  ||g|| j                  | j                  ¬«      }|j
                  sJ ‚t        |j                  d| j                  | j                  ¬«       |j                  |j                  k(  sJ ‚y ©Nç      à?é   )rP   Úbracketr:   ra   rb   ç      ð?©re   rb   )	r   r   rŒ   ra   rb   rk   r   rC   rP   ©rN   rP   r”   r=   r>   rX   s         r    Útest_basic_root_scalarz)TestBracketMethods.test_basic_root_scalar§   st   € ð ”4˜“7ˆ1ˆä˜¨¯©À1ÀaÀ&ÈQØ!ŸY™Y¨T¯Y©Yô8ˆà�{Š{Ðˆ{Ü˜Ÿ™ ¨$¯)©)¸$¿)¹)ÕDØ�x‰x˜6Ÿ?™?Ò*Ð*Ñ*r"   c                 óÊ   — dt        d«      }} ||||| j                  | j                  d¬«      \  }}|j                  sJ ‚t	        |d| j                  | j                  ¬«       y )Nr—   r˜   T)ra   rb   rA   rš   r›   )r   ra   rb   rk   r   )rN   rP   r”   r=   r>   rC   rX   s          r    Útest_basic_individualz(TestBracketMethods.test_basic_individualµ   sX   € ð ”4˜“7ˆ1ˆÙ˜ 1 a¨d¯i©i¸d¿i¹iØ%)ô+‰ˆˆað �{Š{Ðˆ{Ü˜˜c¨¯	©	¸¿	¹	ÖBr"   c                 óR  — dt        d«      }}t        ||j                  t        j                  ||g«      || j
                  | j                  ¬«      }|j                  sJ ‚t        |j                  d| j
                  | j                  ¬«       |j                  |j                  k(  sJ ‚y r–   )r   r   rŒ   r�   Úarrayra   rb   rk   r   rC   rP   rœ   s         r    Útest_bracket_is_arrayz(TestBracketMethods.test_bracket_is_arrayÂ   s€   € ð ”4˜“7ˆ1ˆÜ˜¨¯©Ü "§¡¨!¨Q¨Ó 0°Q¸T¿Y¹YØ!ŸY™Yô(ˆð �{Š{Ðˆ{Ü˜Ÿ™ ¨$¯)©)¸$¿)¹)ÕDØ�x‰x˜6Ÿ?™?Ò*Ð*Ñ*r"   c                 óB   — | j                  d||j                  d¬«       y )NÚapsr   rˆ   ©r‹   rŒ   ©rN   rP   s     r    Útest_aps_collectionz&TestBracketMethods.test_aps_collectionÑ   s   € à×Ñ˜E 6¨6¯?©?ÀqÐÕIr"   c                 ó>   — | j                  d||j                  «       y )NÚchandrupatlar¥   r¦   s     r    Útest_chandrupatla_collectionz/TestBracketMethods.test_chandrupatla_collectionÕ   s   € ð 	×Ñ˜N¨F°F·O±OÕDr"   c                 óh   — d\  }} |t         ||d¬«      \  }}|j                  sJ ‚t        |d«       y )N)rE   r   T©rA   r   )r6   rk   r   )rN   rP   r=   r>   rC   rX   s         r    Útest_lru_cached_individualz-TestBracketMethods.test_lru_cached_individualÚ   s7   € ð ‰ˆˆ1Ùœ a¨¸Ô=‰ˆˆaØ�{Š{Ðˆ{Ü˜˜aÕ r"   c                 ó˜   — t        j                  t        d¬«      5  t        j                  d„ ddd¬«       d d d «       y # 1 sw Y   y xY w)Nzmaxiter must be >= 0©Úmatchc                 ó   — | dz  dz
  S r   r   r   s    r    ú<lambda>z2TestBracketMethods.test_gh_22934.<locals>.<lambda>å   ó   €  1 a¡4¨!¡8€ r"   éþÿÿÿr   rE   ©Úmaxiter)ÚpytestÚraisesÚ
ValueErrorrK   Úbrentq©rN   s    r    Útest_gh_22934z TestBracketMethods.test_gh_22934ã   s=   € Ü�]‰]œ:Ð-CÔDñ 	@Ü�L‰LÑ+¨R°¸BÕ?÷	@÷ 	@ñ 	@ús   œA Á A	N)rŒ   r�   rŽ   r·   ÚmarkÚparametrizeÚbracket_methodsÚtstutils_functionsr�   rŸ   r¢   r§   rK   ÚbisectÚridderÚtoms748rª   r­   r¼   r   r"   r    r“   r“   ¦   sP  „ Ø‡[�[×Ñ˜X Ó7Ø‡[�[×Ñ˜ZÐ);Ó<ñ
+ó =ó 8ð
+ð ‡[�[×Ñ˜X Ó7Ø‡[�[×Ñ˜ZÐ);Ó<ñ	Có =ó 8ð	Cð ‡[�[×Ñ˜X Ó7Ø‡[�[×Ñ˜ZÐ);Ó<ñ+ó =ó 8ð+ð ‡[�[×Ñ˜X Ó7ñJó 8ðJð ‡[�[×Ñ˜X¨¯©°e·l±lØ(-¯©ð(7ó 8ñEó8ðEð ‡[�[×Ñ˜X Ó7ñ!ó 8ð!ó@r"   r“   c                   ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej*                  j-                  d e«       ddig«      d„ «       Zej*                  j-                  dddg«      d„ «       Zd„ Zy)Ú
TestNewtonc                 ón   — dg}|ddgz  }dD ]&  }| j                  |t        j                  dd|¬«       Œ( y )Nú	aps.13.00z	aps.12.05ú	aps.12.17©r¤   Úcomplexr   r   ©r‰   rp   ©r‹   rK   r   ©rN   rp   rŠ   s      r    Útest_newton_collectionsz"TestNewton.test_newton_collectionsé   sL   € Ø!�]ˆ
Ø�{ KÐ0Ñ0ˆ
Ø,ò 	EˆJØ×Ñ 
¬E¯L©L¸(Ø+,¸ð  õ Eñ	Er"   c                 ób   — g d¢}dD ]&  }| j                  |t        j                  dd|¬«       Œ( y )N)z	aps.12.06z	aps.12.07z	aps.12.08z	aps.12.09z	aps.12.10z	aps.12.11z	aps.12.12z	aps.12.13z	aps.12.14z	aps.12.15z	aps.12.16rÈ   z	aps.12.18rÇ   rÉ   r]   r   rË   rÌ   rÍ   s      r    Útest_halley_collectionsz"TestNewton.test_halley_collectionsð   s?   € ò0ˆ
ð -ò 	EˆJØ×Ñ 
¬E¯L©L¸(Ø+,¸ð  õ Eñ	Er"   c                 óÂ  — t         t        t        ft        t        t
        ffD ]º  \  }}}t        j                  |dd¬«      }t         ||«      dd¬«       t        j                  |ddd¬«      }t         ||«      dd¬«       t        j                  |d|d¬«      }t         ||«      dd¬«       t        j                  |d||d¬	«      }t         ||«      dd¬«       Œ¼ y )
Nr˜   ç�íµ ÷Æ°>©r`   r   ©re   é   )r;   r`   )r^   r`   )r^   r_   r`   )	r!   r%   r)   r/   r2   r4   rK   r   r   )rN   r<   Úf_1Úf_2r   s        r    Útest_newtonzTestNewton.test_newtonù   sº   € Ü¤¤tÐ,¬r´4¼Ð.>Ð?ò 	0‰KˆAˆs�CÜ—‘˜Q  tÔ,ˆAÜ™A˜a›D !¨$Õ/Ü—‘˜Q  a¨TÔ2ˆAÜ™A˜a›D !¨$Õ/Ü—‘˜Q ¨#°4Ô8ˆAÜ™A˜a›D !¨$Õ/Ü—‘˜Q ¨#°sÀÔEˆAÜ™A˜a›D !¨$Ö/ñ	0r"   c                 óf  — t         t        t        ft        t        t
        ffD ]4  \  }}}t        |dd|d¬«      }t         ||j                  «      dd¬«       Œ6 t         t        t        ft        t        t
        ffD ]3  \  }}}t        |ddd¬«      }t         ||j                  «      dd¬«       Œ5 y)	z#Invoke newton through root_scalar()r   r˜   rÒ   )rP   r:   r^   ra   r   rÔ   ©rP   r:   ra   N©	r!   r%   r)   r/   r2   r4   r   r   rC   ©rN   r<   rÖ   r×   rX   s        r    Útest_newton_by_namezTestNewton.test_newton_by_name  sž   € ä¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1¸SÀtÔLˆAÜ™A˜aŸf™f›I q¨tÖ4ð	5ô  ¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1¸4Ô@ˆAÜ™A˜aŸf™f›I q¨tÖ4ñ	5r"   c                 óÂ  — t         t        t        ft        t        t
        ffD ]b  \  }}}t        |dddd¬«      }t         ||j                  «      dd¬«       t        |dddd¬«      }t         ||j                  «      dd¬«       Œd t         t        t        ft        t        t
        ffD ]3  \  }}}t        |ddd¬	«      }t         ||j                  «      dd¬«       Œ5 y
)z#Invoke secant through root_scalar()r\   r˜   r   rÒ   ©rP   r:   r;   ra   r   rÔ   rÕ   rÚ   NrÛ   rÜ   s        r    Útest_secant_by_namezTestNewton.test_secant_by_name  sÄ   € ä¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1¸ÀÔFˆAÜ™A˜aŸf™f›I q¨tÕ4Ü˜A h°1¸ÀÔFˆAÜ™A˜aŸf™f›I q¨tÖ4ð		5ô
  ¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1¸4Ô@ˆAÜ™A˜aŸf™f›I q¨tÖ4ñ	5r"   c           	      ó¸   — t         t        t        ft        t        t
        ffD ]5  \  }}}t        |dd||d¬«      }t         ||j                  «      dd¬«       Œ7 y)z#Invoke halley through root_scalar()r]   r˜   rÒ   )rP   r:   r^   r_   ra   r   rÔ   NrÛ   rÜ   s        r    Útest_halley_by_namezTestNewton.test_halley_by_name  sV   € ä¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1Ø#&°¸$ô@ˆAä™A˜aŸf™f›I q¨tÖ4ñ	5r"   c                 ó,  — d}t        j                  t        |¬«      5  t        t        dt
        dd¬«       d d d «       d}t        j                  t        |¬«      5  t        t        dt        dd¬«       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)	Nz$fprime2 must be specified for halleyr¯   r]   r˜   rÒ   )rP   r^   r:   ra   z#fprime must be specified for halley)rP   r_   r:   ra   )r·   r¸   r¹   r   r!   r%   r)   )rN   Úmessages     r    Útest_root_scalar_failz TestNewton.test_root_scalar_fail  s€   € Ø8ˆÜ�]‰]œ:¨WÔ5ñ 	KÜœ 8´D¸QÀTÕJ÷	Kà7ˆÜ�]‰]œ:¨WÔ5ñ 	LÜœ 8´T¸aÀdÕK÷	Lð 	L÷	Kð 	Kú÷	Lð 	Lús   žA>ÁB
Á>BÂ
Bc                 óˆ  — d„ }d„ }d„ }t        j                  g d¢«      }t        j                  t        d«      «      dz   dz  }||dd	dd
f}dgdz  }t	        j
                  ||||«      }d}	t        ||	«       t	        j
                  |||||¬«      }t        ||	«       t	        j
                  |||¬«      }t        ||	«       y)ztest newton with arrayc                 óŠ   — |d   | |d   z  z   }|d   |d   t        j                  ||d   z  «      dz
  z  z
  ||d   z  z
  | z
  S )Nr   r˜   r   r   rÕ   rš   r   ©r�   r   ©r   r=   r>   s      r    r!   z(TestNewton.test_array_newton.<locals>.f1*  sW   € Ø�!‘�q˜1˜Q™4‘x‘ˆAØ�Q‘4˜!˜A™$¤"§&¡&¨¨Q¨q©T©Ó"2°SÑ"8Ñ9Ñ9¸AÀÀ!Á¹HÑDÀqÑHÐHr"   c                 ó’   — |d   |d   z  }|d    t        j                  |d   |d   z  | |z  z   «      z  |z  |d   |d   z  z
  dz
  S )Nr˜   rÕ   r   r   r   r   rè   ré   s      r    r%   z*TestNewton.test_array_newton.<locals>.f1_1.  s]   € Ø�!‘�q˜‘t‘ˆAØ�a‘D�5œ2Ÿ6™6 ! A¡$¨¨1©¡+°°A±Ñ"5Ó6Ñ6¸Ñ:¸Q¸q¹TÀAÀaÁD¹[ÑHÈ1ÑLÐLr"   c                 óz   — |d   |d   z  }|d    t        j                  |d   |d   z  | |z  z   «      z  |dz  z  S )Nr˜   rÕ   r   r   rè   ré   s      r    r)   z*TestNewton.test_array_newton.<locals>.f1_22  sK   € Ø�!‘�q˜‘t‘ˆAØ�a‘D�5œ2Ÿ6™6 ! A¡$¨¨1©¡+°°A±Ñ"5Ó6Ñ6¸¸A¹Ñ=Ð=r"   )
g“ù4O@g�­Nkò@g]0Jû@g]QçÝšt@g~�EO¡5@g$ÇJŠ— ÷?g~5È,ì@gXCÚ­Ø@gÍ®9@@g¬¹’Ó�®@é
   rš   g      @ç•Ö&è.>çü©ñÒMbp?çn‹2d’Ñ?)
gÔ©áË°@g9~¨4bŠ'@g’¹�a©q(@géŽ0Òp@gk"zçò?g€4s³eÂ?gU+ïñF@gw´»Qu%@gd¬6ÿ¯‚)@g)êiÓ!@)r_   ©rD   N)r�   r¡   r   ÚrangerK   r   r   )
rN   r!   r%   r)   Úa0Úa1rD   r:   r   Ú
x_expecteds
             r    Útest_array_newtonzTestNewton.test_array_newton'  sÆ   € ò	Iò	Mò	>ô �X‰Xò 
ó ˆô �f‰f”U˜2“YÓ #Ñ%¨Ñ,ˆØ�B˜˜u b¨'Ð2ˆØˆU�R‰ZˆÜ�L‰L˜˜R  tÓ,ˆð
ˆ
ô 	˜˜:Ô&ä�L‰L˜˜R  t°TÔ:ˆÜ˜˜:Ô&ä�L‰L˜˜R dÔ+ˆÜ˜˜:Õ&r"   c                 ó^  — d„ }d„ }t        j                  dd«      }t        j                  |||¬«      }t	         ||«      d«       t        j
                  d«      }t        j                  |||¬«      }t	         ||«      d«       t        j                  ||«      }t	         ||«      d«       y )Nc                 ó   — | dz   dz   S )Nr   ù              ð?r   r   s    r    r<   z/TestNewton.test_array_newton_complex.<locals>.fO  s   € Ø�q‘5˜‘8ˆOr"   c                  ó   — y©Nrš   r   r   s    r    r^   z4TestNewton.test_array_newton_complex.<locals>.fprimeR  s   € Ør"   r   rø   )r^   ç        )r�   ÚfullrK   r   r   Úones)rN   r<   r^   Útr   s        r    Útest_array_newton_complexz$TestNewton.test_array_newton_complexN  sŠ   € ò	ò	ô �G‰G�A�r‹NˆÜ�L‰L˜˜A fÔ-ˆÜ™˜!›˜bÔ!ô �G‰G�A‹JˆÜ�L‰L˜˜A fÔ-ˆÜ™˜!›˜bÔ!ä�L‰L˜˜AÓˆÜ™˜!›˜bÕ!r"   c                 ó~   — t        j                  d„ ddgt        j                  ddg«      g¬«      }t	        |d«       y)	z8test secant doesn't continue to iterate zero derivativesc                 ó   — | | z  |d   z
  S )Nr   r   ©r   r=   s     r    r²   z>TestNewton.test_array_secant_active_zero_der.<locals>.<lambda>c  s   €  q¨¡s¨Q¨q©T¡z€ r"   gË¡E¶ó}@rÕ   é   é   ©r:   rD   )çí¯f~@g      @N)rK   r   r�   r¡   r   ©rN   r   s     r    Ú!test_array_secant_active_zero_derz,TestNewton.test_array_secant_active_zero_dera  s7   € ä�L‰LÑ1°u¸a°jÜ!Ÿx™x¨¨R¨Ó1Ð2ô4ˆä˜Ð3Õ4r"   c                 ó´   — t        j                  d„ dgdz  ddgf¬«      }t        |d«       t        j                  d„ d	gdz  d
dgf¬«      }t        |d«       y )Nc                 ó   — || dz  z
  S r$   r   ©ÚyÚzs     r    r²   z7TestNewton.test_array_newton_integers.<locals>.<lambda>i  ó   €  a¨!¨q©&¡j€ r"   ç      @r   g      .@g      1@rð   )gÚNO±Þû@r  c                 ó   — || dz  z
  S r$   r   r  s     r    r²   z7TestNewton.test_array_newton_integers.<locals>.<lambda>m  r  r"   r   é   r  )rK   r   r   r  s     r    Útest_array_newton_integersz%TestNewton.test_array_newton_integersg  sY   € ä�L‰LÑ0°3°%¸!±)Ø $ d˜|˜oô/ˆä˜ÐAÔBä�L‰LÑ0°1°#¸±'À"ÀbÀÀÔLˆÜ˜ÐAÕBr"   c                 óÊ  — t        j                  t        «      5  t        j                  d„ ddgd„ «       d d d «       t        j                  t        «      5  t        j                  d„ ddgd„ d¬«      }t        |j                  d«       |j                  j                  «       sJ ‚|j                  j                  «       rJ ‚	 d d d «       y # 1 sw Y   Œ˜xY w# 1 sw Y   y xY w)	Nc                 ó   — | dz  dz
  S r$   r   ©r  s    r    r²   z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>s  r³   r"   rû   c                 ó   — d| z  S r$   r   r  s    r    r²   z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>s  s
   € ÀÀQÁ€ r"   c                 ó   — | dz  dz
  S r$   r   r  s    r    r²   z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>v  s   € ¨Q°©T°A©X€ r"   c                 ó   — d| z  S r$   r   r  s    r    r²   z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>w  s
   € ¨Q¨q©S€ r"   Tr¬   r   )r·   ÚwarnsÚRuntimeWarningrK   r   r   rC   Úzero_derÚallrk   Úany)rN   rt   s     r    Ú#test_array_newton_zero_der_failuresz.TestNewton.test_array_newton_zero_der_failuresp  sÂ   € ä�\‰\œ.Ó)ñ 	HÜ�L‰LÑ+¨b°"¨X±ÔG÷	Hô �\‰\œ.Ó)ñ 	/Ü—l‘lÑ#5¸¸B°xÙ#0¸dôDˆGä˜GŸL™L¨!Ô,Ø×#Ñ#×'Ñ'Ô)Ð)Ð)Ø×(Ñ(×,Ñ,Ô.Ð.Ð.Ð.÷	/ð 	/÷	Hð 	Hú÷	/ð 	/ús   šCÁA,CÃCÃC"c                 óª  — d„ }d„ }d„ }d„ }t        |dd|¬«      }t        |ddd¬«      }t        |j                  |j                  d	¬
«       t        d|j                  z  |j                  «       t        |dd||¬«      }t        |ddd¬«      }t        |j                  |j                  d	¬
«       t        d|j                  z  |j                  «       y )Nc                 ó   — | dz  d| z  z
  dz
  S r   r   r   s    r    r!   z+TestNewton.test_newton_combined.<locals>.f1}  s   € Ø˜‘6˜A ™E‘> AÑ%Ð%r"   c                 ó   — d| z  dz
  S r$   r   r   s    r    r%   z-TestNewton.test_newton_combined.<locals>.f1_1  s   € Ø�q‘5˜1‘9Ðr"   c                 ó   — dd| z  z   S r'   r   r   s    r    r)   z-TestNewton.test_newton_combined.<locals>.f1_2�  s   € Ø˜˜Q™‘;Ðr"   c                 ó0   — | dz  d| z  z
  dz
  d| z  dz
  dfS )Nr   r   r(   r   r   s    r    r,   z8TestNewton.test_newton_combined.<locals>.f1_and_p_and_pp„  s'   € Ø�a‘4˜!˜A™#‘:˜a‘<  1¡ Q¡¨Ð+Ð+r"   r   r˜   )rP   r:   r^   Tç:Œ0âŽyE>rÔ   r   r]   )rP   r:   r^   r_   )rP   r:   r_   )r   r   rC   r   Úfunction_calls)rN   r!   r%   r)   r,   Úsol0Úsols          r    Útest_newton_combinedzTestNewton.test_newton_combined|  s¸   € ò	&ò	ò	ò	,ô ˜2 h°1¸TÔBˆÜ˜/°(¸qÈÔNˆÜ˜Ÿ	™	 3§8¡8°$Õ7Ü�Q�s×)Ñ)Ñ)¨4×+>Ñ+>Ô?ä˜2 h°1¸TÈ4ÔPˆÜ˜/°(¸qÈ$ÔOˆÜ˜Ÿ	™	 3§8¡8°$Õ7Ü�Q�s×)Ñ)Ñ)¨4×+>Ñ+>Õ?r"   c                 ó’  — d}g d¢}t        d«      D �]¥  }dddœ}dt        gdt        ggd | D ]
  \  }}|||<   Œ t        j                  t
        |fdd	i|¤Ž\  }}	t        |	j                  «       t        ||	j                  «       t        |	j                  |	j                  f||   «       |d
k(  r|	j                  |	j                  dz   k  s(J ‚t        |	j                  |dz   |	j                  z  «       |	j                  dz
  }
t        j                  t
        |f|
d	dœ|¤Ž\  }}	t        |	j                   «       t        ||	j                  «       t        |	j                  |
«       |dk(  s�Œ[d|
› d�}t        j                  t        |¬«      5  t        j                  t
        |f|
ddœ|¤Ž\  }}	d d d «       �Œ¨ y # 1 sw Y   �Œ´xY w)Nr˜   ))é   é   )rÕ   rì   )r˜   é	   rÒ   T)r`   rA   r^   r_   rB   Fr   r   )r¶   rB   zFailed to converge after z iterations, value is .*r¯   )rñ   r%   r)   rK   r   r!   r   rk   r   rC   Ú
iterationsr%  r·   r¸   ÚRuntimeError)rN   Úcapsysr:   Úexpected_countsÚderivsrS   rU   Úvr   rX   ÚitersÚmsgs               r    Útest_newton_full_outputz"TestNewton.test_newton_full_output‘  s·  € ð
 ˆÚ3ˆä˜A“hó 	TˆFØ!°$Ñ9ˆFØ"¤DÐ)¨I´tÐ+<Ð=¸g¸vÐFò ‘��1Ø��q’	ðô —<‘<¤ BÑ=¨UÐ=°fÑ=‰DˆAˆqÜ�A—K‘KÔ Ü˜˜AŸF™FÔ#Ü˜!Ÿ,™,¨×(8Ñ(8Ð9¸?È6Ñ;RÔSØ˜Š{Ø×'Ñ'¨1¯<©<¸!Ñ+;Ò;Ð;Ð;ä˜Q×-Ñ-°¸±
¸a¿l¹lÑ/JÔKð —L‘L 1Ñ$ˆEÜ—<‘<¤ BÐL°¸EÑLÀVÑL‰DˆAˆqÜ˜Ÿ™�OÔ$Ü˜˜AŸF™FÔ#Ü˜Ÿ™ uÔ-à˜Œ{ð 2°%°Ð8PÐQ�Ü—]‘]¤<°sÔ;ñ TÜ Ÿ<™<¬¨BÐS¸ÀDÑSÈFÑS‘D�A�q÷Tñ Tñ3	T÷2Tñ Tús   Æ"F<Æ<G	c                 ó,  — d„ }d„ }t        j                  t        «      5  t        j                  |d|d¬«       d d d «       t        j
                  t        d¬«      5  t        j                  |d|«       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)Nc                 ó   — | dz  dz
  S )Nr   r(   r   r   s    r    r?   z0TestNewton.test_deriv_zero_warning.<locals>.func¶  s   € Ø˜‘6˜C‘<Ðr"   c                 ó   — d| z  S r$   r   r   s    r    Údfuncz1TestNewton.test_deriv_zero_warning.<locals>.dfunc¸  s   € Ø�q‘5ˆLr"   rû   F©rB   zDerivative was zeror¯   )r·   r  r  rK   r   r¸   r.  )rN   r?   r9  s      r    Útest_deriv_zero_warningz"TestNewton.test_deriv_zero_warningµ  sx   € ò	 ò	ä�\‰\œ.Ó)ñ 	7Ü�L‰L˜˜s E°Õ6÷	7ä�]‰]œ<Ð/DÔEñ 	+Ü�L‰L˜˜s EÔ*÷	+ð 	+÷	7ð 	7ú÷	+ð 	+ús    A>ÁB
Á>BÂ
Bc                 ó¼   — t        j                  ddg«      }|j                  «       }t        t         j                  |t         j
                  «       t        ||«       y )Nçš™™™™™¹?r˜   )r�   r¡   Úcopyr   r   r   r   )rN   r:   Úx0_copys      r    Útest_newton_does_not_modify_x0z)TestNewton.test_newton_does_not_modify_x0¿  s=   € ä�X‰X�s˜A�hÓˆØ—'‘'“)ˆÜŒr�v‰v�rœ2Ÿ6™6Ô"Ü˜2˜wÕ'r"   c                 óø  — d„ }t        |ddd¬«      }t        |dddd¬«      }t        |dddd	¬
«      d   }t         ||j                  «      dd¬«       |j                  j                  t        «       k(  sJ ‚t         ||j                  «      dd¬«       |j                  j                  t        «       k(  sJ ‚t         ||j                  «      dd¬«       |j                  j                  t        «       k(  sJ ‚|j                  |j                  cxk(  r|j                  k7  sJ ‚ J ‚|j                  |j                  dz
  cxk(  r3|j                  cxk(  r#|j                  cxk7  r|j                  dz  k(  sJ ‚ J ‚y )Nc                 óF   — t        j                  | «      sJ ‚t        | «      S r+   )r�   Úisscalarr!   r   s    r    r<   z+TestNewton.test_gh17570_defaults.<locals>.fÌ  s   € Ü—;‘;˜q”>Ð!�>Ü�a“5ˆLr"   r   r˜   rÒ   rÚ   r\   r   rß   T)r:   r;   r`   rA   r   r   rÔ   )r   r   r   rC   Úshaperm   r-  r%  )rN   r<   Úres_newton_defaultÚres_secant_defaultÚ
res_secants        r    Útest_gh17570_defaultsz TestNewton.test_gh17570_defaultsÆ  s€  € ò	ô )¨°8ÀÈÔMÐÜ(¨°8ÀÀaØ.2ô4Ðô ˜A !¨¨tÀÔFÀqÑIˆ
ô 	™Ð,×1Ñ1Ó2°A¸DÕAØ!×&Ñ&×,Ñ,´³Ò7Ð7Ð7Ü™Ð,×1Ñ1Ó2°A¸DÕAØ!×&Ñ&×,Ñ,´³Ò7Ð7Ð7Ü™˜*Ÿ/™/Ó*¨A°DÕ9Ø�‰×$Ñ$¬«Ò/Ð/Ð/ð #×'Ñ'Ø—?‘?ô1à%×0Ñ0ò1ð 	2ñ 1ð 	2ð 1ð #×-Ñ-Ø%×4Ñ4°qÑ8ô7à×(Ñ(ô7ð &×0Ñ0ô7ð &×4Ñ4°QÑ6ò	7ð 	8ñ 7ð 	8ñ 7r"   rS   rP   r   c                 ó„   — d„ }t        j                  |fdddœ|¤Ž}|j                  sJ ‚t        |j                  d«       y )Nc                 ó.   — |dk(  sJ ‚|dk(  sJ ‚| |z  |z
  S )Nr˜   r   r   ré   s      r    r<   z'TestNewton.test_args_gh19090.<locals>.fê  s&   € Ø˜’6ˆM�6Ø˜’6ˆM�6Ø˜‘F˜Q‘JÐr"   r˜   )r˜   r   r  r   )r   r   rk   r   rC   )rN   rS   r<   Úress       r    Útest_args_gh19090zTestNewton.test_args_gh19090è  s?   € ò	 ô
 ×"Ñ" 1ÐB¨°ÑB¸6ÑBˆØ�}Š}Ðˆ}Ü˜Ÿ™ !Õ$r"   r\   c                 ó  — d„ }t        j                  |d|¬«      }|j                  sJ ‚t        t	        |j
                  «      d«       |j
                  j                  t        j                  t        j                  «      k(  sJ ‚y )Nc                 ó   — | dz  dz
  S )Nr´   r   r   r   s    r    r<   z)TestNewton.test_int_x0_gh19280.<locals>.fø  s   € à�b‘5˜1‘9Ðr"   r   )r:   rP   gÍ;fž æ?)	r   r   rk   r   ÚabsrC   Údtyper�   Úfloat64)rN   rP   r<   rK  s       r    Útest_int_x0_gh19280zTestNewton.test_int_x0_gh19280ó  s^   € ò
	ô ×"Ñ" 1¨°6Ô:ˆØ�}Š}Ðˆ}Üœ˜CŸH™H› wÔ/Ø�x‰x�~‰~¤§¡¬"¯*©*Ó!5Ò5Ð5Ñ5r"   c                 óÎ  — t        j                  t        d¬«      5  t        j                  t
        dd¬«       d d d «       t        j                  t        d¬«      5  t        j                  t
        ddd¬	«       d d d «       t        j                  t        d
¬«      5  t        j                  t
        dd¬«       d d d «       y # 1 sw Y   Œ‹xY w# 1 sw Y   ŒVxY w# 1 sw Y   y xY w)Nztol too smallr¯   r˜   ç�íµ ÷Æ°¾rÓ   zmaxiter must be greater than 0rÒ   iÎÿÿÿ)r`   r¶   zx1 and x0 must be different)r;   )r·   r¸   r¹   rK   r   r!   r»   s    r    Útest_newton_special_parametersz)TestNewton.test_newton_special_parameters  sª   € ô �]‰]œ:¨_Ô=ñ 	+Ü�L‰Lœ˜Q EÕ*÷	+ô �]‰]œ:Ð-MÔNñ 	7Ü�L‰Lœ˜Q D°#Õ6÷	7ô �]‰]œ:Ð-JÔLñ 	&Ü�L‰Lœ˜Q 1Õ%÷	&ð 	&÷	+ð 	+ú÷	7ð 	7ú÷	&ð 	&ús#   œCÁCÂCÃCÃCÃC$N)rŒ   r�   rŽ   rÎ   rÐ   rØ   rÝ   rà   râ   rå   rõ   rÿ   r  r  r  r(  r5  r;  r@  rH  r·   r½   r¾   rH   rL  rR  rU  r   r"   r    rÅ   rÅ   è   sÁ   „ òEòEò	0ò5ò	5ò5òLò%'òN"ò&5òCò
/ò@ò*"TòH+ò(ò 8ðD ‡[�[×Ñ˜X©«°¸8Ð0DÐ'EÓFñ%ó Gð%ð ‡[�[×Ñ˜X¨°(Ð';Ó<ñ6ó =ð6ó
&r"   rÅ   c            	      óÆ   ‡— dŠˆfd„} t         j                  t         j                  g}t        x}}|D ],  } || dd||¬«      }t	        ‰|||d|j
                  › �¬«       Œ. y )Nr=  c                 ó   •— | ‰z
  S r+   r   ©r   rC   s    €r    r<   ztest_gh_5555.<locals>.f  ó   ø€ Ø�4‰xˆr"   ç    „×—Áç    ÐcArd   zmethod )re   rb   Úerr_msg)rK   rÁ   rÂ   ÚTOLr   rŒ   )r<   Úmethodsra   rb   rP   rK  rC   s         @r    Útest_gh_5555r_    sk   ø€ Ø€Dôô �|‰|œUŸ\™\Ð*€GÜÐ€Dˆ4Øò =ˆÙ�Q˜˜c¨°4Ô8ˆÜ˜˜c¨°4Ø")¨&¯/©/Ð):Ð ;ö	=ñ=r"   c                  ó¦   — d„ } d}dt         z  }t        j                  t        j                  g}|D ]  } || dd||¬«      }t	        d|||¬«       Œ  y )	Nc                 ó   — | dk  ry| dz
  S )Nr—   gš™™™™™¹¿ç333333ã?r   r   s    r    r<   ztest_gh_5557.<locals>.f&  s   € ØˆsŠ7Øà�s‘7ˆNr"   gR¸…ëQà?r   r   r   rd   rb  r›   )Ú
_FLOAT_EPSrK   rº   Úbrenthr   )r<   re   rb   r^  rP   rK  s         r    Útest_gh_5557re    sX   € òð €DØŒz‰>€DÜ�|‰|œUŸ\™\Ð*€GØò 8ˆÙ�Q˜˜1 4¨dÔ3ˆÜ˜˜S t°$Ö7ñ8r"   c                  óÎ   ‡— d} d}| |fD ]Y  \  }}}t        j                  |«      Št        j                  t        j                  fD ]  } |ˆfd„||«      }t        ||«       Œ Œ[ y )N)g      |Àg     àuÀg      yÀ)g     àu@g      |@g      y@c                 ó4   •— t        j                  | «      ‰z
  S r+   rè   )r   r|   s    €r    r²   z9test_brent_underflow_in_root_bracketing.<locals>.<lambda>?  s   ø€ ¤2§6¡6¨!£9¨Q¡;€ r"   )r�   r   rK   rd  rº   r   )Úunderflow_scenarioÚoverflow_scenarior=   r>   rC   rP   rK  r|   s          @r    Ú'test_brent_underflow_in_root_bracketingrj  4  sn   ø€ ð
 2ÐØ-Ðà)Ð+<Ð=ò '‰
ˆˆ1ˆdÜ�F‰F�4‹LˆÜ—|‘|¤U§\¡\Ð2ò 	'ˆFÙÓ.°°1Ó5ˆCÜ˜D #Õ&ñ	'ñ'r"   c                   óF   — e Zd Z ej                  ddddd¬«      Zd„ Zd„ Zy	)
ÚTestRootResultsrš   é,   é.   r   r   )rC   r-  r%  ÚflagrP   c                 óF   — d}t        t        | j                  «      |«       y )Nz…      converged: True
           flag: converged
 function_calls: 46
     iterations: 44
           root: 1.0
         method: newton)r   ÚreprrX   )rN   Úexpected_reprs     r    Ú	test_reprzTestRootResults.test_reprG  s   € ðIˆô 	”T˜$Ÿ&™&“\ =Õ1r"   c                 ó<   — t        | j                  t        «      sJ ‚y r+   )Ú
isinstancerX   r   r»   s    r    Ú	test_typezTestRootResults.test_typeM  s   € Ü˜$Ÿ&™&¤.Ô1Ð1Ñ1r"   N)rŒ   r�   rŽ   rK   rL   rX   rs  rv  r   r"   r    rl  rl  C  s)   „ Øˆ×Ñ˜s¨rÀ"È1Ø!)ô	+€Aò2ó2r"   rl  c                  ó  — d„ } d„ }d„ }t        dd«      }d}t        j                  | ||||d¬«      }t         | |g|¢­Ž d	d¬
«       |gdz  }d}t        j                  | ||||d¬«      }t         | |g|¢­Ž d	d¬
«       y)z&Test Halley's works with complex rootsc                 ó6   — |d   | dz  z  |d   | z  z   |d   z   S )Nr   r   r   r   r  s     r    r<   ztest_complex_halley.<locals>.fS  s*   € Ø�‰t�a˜‘d‰{˜Q˜q™T A™XÑ%¨¨!©Ñ,Ð,r"   c                 ó$   — d|d   z  | z  |d   z   S )Nr   r   r   r   r  s     r    rÖ   z test_complex_halley.<locals>.f_1V  s   € Ø�1�Q‘4‰x˜!‰|˜a ™dÑ"Ð"r"   c                 óX   — d|d   z  }	 t        | «      }|g|z  S # t        $ r |cY S w xY w)Nr   r   )rh   Ú	TypeError)r   r=   ÚretvalÚsizes       r    r×   z test_complex_halley.<locals>.f_2Y  sA   € Ø�Q�q‘T‘ˆð	#Ü�q“6ˆDð �8˜d‘?Ð"øô ò 	ØŠMð	ús   Š ›)¨)rš   r(   )r(   g      @r  rÒ   )rD   r^   r_   r`   r   rÔ   rì   N)rÊ   rK   r   r   )r<   rÖ   r×   r  Úcoeffsr  s         r    Útest_complex_halleyr  Q  sŒ   € ò-ò#ò#ô 	��SÓ€AØ€FÜ�‰�Q˜ ¨s¸CÀTÔJ€Aä‘A�a�M˜&’M 1¨4Õ0Ø	
ˆˆb‰€AØ€FÜ�‰�Q˜ ¨s¸CÀTÔJ€AÜ‘A�a�M˜&’M 1¨4Ö0r"   c                 ó  — t        j                  t        «      j                  dz  }d|z
  d|z   z  }t	        j
                  «       5  t	        j                  ddt        «       t        j                  d„ |gdz  ¬«      }d	d	d	«       t        d
gdz  «       d}t	        j
                  «       5  t	        j                  ddt        «       t        j                  d„ |d¬«      }d	d	d	«       t        |d«       t        j                  t        d¬«      5  t        j                  d„ |d¬«      }d	d	d	«       d}t	        j
                  «       5  t	        j                  ddt        «       t        j                  d„ |d¬«      }d	d	d	«       t        |d«       t        j                  t        d¬«      5  t        j                  d„ |d¬«      }d	d	d	«       y	# 1 sw Y   �ŒSxY w# 1 sw Y   ŒüxY w# 1 sw Y   Œ¿xY w# 1 sw Y   ŒxxY w# 1 sw Y   y	xY w)zBTest secant method with a non-zero dp, but an infinite newton stepg…ëQ¸Õ?g      i@r(   ÚignorezRMS ofc                 ó   — | dz
  dz  S )Ng      Y@r   r   r  s    r    r²   z%test_zero_der_nz_dp.<locals>.<lambda>z  s   €  A¨¡I°¡>€ r"   rì   ©r:   Néd   g.Ð—K.ÿï?úTolerance ofc                 ó   — | dz
  dz  S ©Nrš   r   r   r  s    r    r²   z%test_zero_der_nz_dp.<locals>.<lambda>€  ó   €  A¨¡G°¡>€ r"   F)r:   rB   r   r¯   c                 ó   — | dz
  dz  S r‡  r   r  s    r    r²   z%test_zero_der_nz_dp.<locals>.<lambda>ƒ  rˆ  r"   Tg.Ð—K.ÿï¿c                 ó   — | dz   dz  S r‡  r   r  s    r    r²   z%test_zero_der_nz_dp.<locals>.<lambda>‡  rˆ  r"   rE   c                 ó   — | dz   dz  S r‡  r   r  s    r    r²   z%test_zero_der_nz_dp.<locals>.<lambda>Š  rˆ  r"   )r�   r   r�   r‘   ÚwarningsÚcatch_warningsÚfilterwarningsr  rK   r   r   r·   r¸   r.  )r/  ÚdxÚp0r   s       r    Útest_zero_der_nz_dpr‘  m  sÀ  € ô 
�‰”%‹×	Ñ	 Ñ	$€Bð �"‰*˜˜r™Ñ	"€BÜ	×	 Ñ	 Ó	"ñ AÜ×Ñ ¨(´NÔCÜ�L‰LÑ1°r°d¸R±iÔ@ˆ÷Aô �A˜�u˜r‘zÔ"à	$€BÜ	×	 Ñ	 Ó	"ñ FÜ×Ñ ¨.¼.ÔIÜ�L‰LÑ1°b¸uÔEˆ÷Fô �A�qÔÜ	�‰”|¨>Ô	:ñ EÜ�L‰LÑ1°b¸tÔDˆ÷Eà	%€BÜ	×	 Ñ	 Ó	"ñ FÜ×Ñ ¨.¼.ÔIÜ�L‰LÑ1°b¸uÔEˆ÷Fô �A�rÔÜ	�‰”|¨>Ô	:ñ EÜ�L‰LÑ1°b¸tÔDˆ÷Eð E÷#Añ Aú÷Fð Fú÷Eð Eú÷Fð Fú÷Eð Eús<   Á8GÂ,5GÄG(Å5G4Æ,H ÇGÇG%Ç(G1Ç4G=È H	c                  ó¨  ‡— d} dŠd}d}d}||z  | z  |z  }ˆfd„}t        j                  t        «      5  t        j                  |g d¢d|| gd	¬
«      }|j
                  j                  «       rJ ‚	 ddd«       t        j                  t        «      5  t        j                  |dgdz  d|| gd	¬
«      }ddd«       y# 1 sw Y   ŒLxY w# 1 sw Y   yxY w)z(Test that array newton fails as expectedr=  ga2U0*©#?gÍÌÌÌÌàŽ@g\âmJôA?g�•C‹lç@c           	      óª   •— dt        j                  | «      z  dt        j                  ‰dz  |z  d|z  t        j                  | «      z  z   «      z  z   S )Nr   r   gš™™™™™@g®Gáz@)r�   r   Úlog10)Údarcy_frictionÚreÚdiaÚ	roughnesss      €r    Úcolebrook_eqnz1test_array_newton_failures.<locals>.colebrook_eqnš  s[   ø€ Ø”B—G‘G˜NÓ+Ñ+Ø”B—H‘H˜Y¨™_¨sÑ2Ø! B™Y¬¯©°Ó)@Ñ@ñAó Bñ BñBð 	Cr"   )ç{®Gáz„?gš™™™™™É?gˆ×õvÃ–?g333333Ó?r   T)r:   r¶   rD   rA   Nrš  )	r·   r  r  rK   r   rk   r  r¸   r.  )ÚdiameterÚrhoÚmuÚuÚreynolds_numberr™  r‚   r˜  s          @r    Útest_array_newton_failuresr   �  sä   ø€ ð
 €Hà€IØ
€CØ	€BØ€AØ˜A‘g Ñ(¨2Ñ-€OôCô 
�‰”nÓ	%ñ *Ü—‘ØÒ7ÀØ! 8Ð,¸$ô
ˆð ×#Ñ#×'Ñ'Ô)Ð)Ð)Ð)÷*ô 
�‰”|Ó	$ñ 
Ü—‘Ø˜t˜f q™j°!Ø! 8Ð,¸$ô
ˆ÷
ð 
÷*ð *ú÷
ð 
ús   µ;B<Â!CÂ<CÃCc                  óf  — d„ } t        j                  | d¬«      }t        |dt         j                  t         j                  ¬«       t        j                  | dgdz  ¬«      }t        |dt         j                  t         j                  ¬«       d„ }d„ }t        j                  | d|¬«      }t        |dt         j                  t         j                  ¬«       t        j                  | d||¬	«      }t        |dt         j                  t         j                  ¬«       t        j                  | dgdz  |¬«      }t        |dt         j                  t         j                  ¬«       t        j                  | dgdz  ||¬	«      }t        |dt         j                  t         j                  ¬«       t        j                  | d
|¬«      }t        |dt         j                  t         j                  ¬«       t        j                  | d
gdz  |¬«      }t        |dt         j                  t         j                  ¬«       y)z@Test that Newton or Halley don't warn if zero derivative at rootc                 ó   — | dz  | dz  z
  S ©Nr˜   r   r   r   s    r    Úf_zeroder_rootz9test_gh8904_zeroder_at_root_fails.<locals>.f_zeroder_root³  s   € Ø�!‰t�a˜‘d‰{Ðr"   r   rƒ  r›   rì   c                 ó   — d| dz  z  d| z  z
  S r£  r   r   s    r    Úfderz/test_gh8904_zeroder_at_root_fails.<locals>.fder¾  s   € Ø�1�a‘4‰x˜!˜a™%ÑÐr"   c                 ó   — d| z  dz
  S )Nr*  r   r   r   s    r    Úfder2z0test_gh8904_zeroder_at_root_fails.<locals>.fder2Â  ó   € Ø�‰s�Q‰wˆr"   )r:   r^   )r:   r^   r_   r—   N)rK   r   r   Ú_xtolÚ_rtol)r¤  rX   r¦  r¨  s       r    Ú!test_gh8904_zeroder_at_root_failsr¬  ¯  su  € òô 	�‰�^¨Ô*€AÜ�A�qœuŸ{™{´·±Õ=ä�‰�^¨¨¨B©Ô/€AÜ�A�qœuŸ{™{´·±Õ=ò òô 	�‰�^¨°$Ô7€AÜ�A�qœuŸ{™{´·±Õ=Ü�‰�^¨°$Ø"ô	$€Aä�A�qœuŸ{™{´·±Õ=ä�‰�^¨¨¨B©°tÔ<€AÜ�A�qœuŸ{™{´·±Õ=Ü�‰�^¨¨¨B©°tØ"ô	$€Aä�A�qœuŸ{™{´·±Õ=ô 	�‰�^¨°DÔ9€AÜ�A�qœuŸ{™{´·±Õ=ä�‰�^¨¨¨b©¸Ô>€AÜ�A�qœuŸ{™{´·±Ö=r"   c                  ó®   ‡— dŠˆfd„} ˆfd„}ˆfd„}d}t        | ||d¬«      \  }}|j                  sJ ‚t        | |||d¬«      \  }}|j                  sJ ‚y	)
zzTest that Halley's method realizes that the 2nd order adjustment
    is too big and drops off to the 1st order adjustment.r,  c                 óB   •— t        | d‰z  «      t        ‰d‰z  «      z
  S rú   ©r	   ©r   Úns    €r    r<   ztest_gh_8881.<locals>.fä  s"   ø€ Ü�Q˜˜A™‹¤ q¨#¨a©%£Ñ0Ð0r"   c                 ó.   •— t        | d‰z
  ‰z  «      ‰z  S rú   r¯  r°  s    €r    Úfpztest_gh_8881.<locals>.fpç  s   ø€ Ü�Q˜˜Q™ ™	Ó" 1Ñ$Ð$r"   c                 óL   •— t        | dd‰z  z
  ‰z  «      d‰z  z  d‰z
  z  ‰z  S r‡  r¯  r°  s    €r    Úfppztest_gh_8881.<locals>.fppê  s3   ø€ Ü�Q˜˜Q˜q™S™ !™Ó$¨¨A©Ñ.°#°a±%Ñ8¸Ñ:Ð:r"   r=  T)r^   rA   ©r^   r_   rA   N)r   rk   )r<   r³  rµ  r:   ÚrtrX   r±  s         @r    Útest_gh_8881r¸  ß  sf   ø€ ð 	
€Aô1ô%ô;ð 
€Bô �1�b °Ô6�E€BˆØ�;Š;Ðˆ;ô �1�b ¨S¸dÔC�E€BˆØ�;Š;Ð‰;r"   c                  óô  — d„ } d„ }d„ }t        j                  dgt         j                  ¬«      }t        | |||d¬«      \  }}|j                  sJ ‚t        j                  ddgt         j                  ¬«      }t        j                  t        «      5  t        j                  | |||d¬«      }d	d	d	«       d
„ }t        j                  | |||d¬«      }|j                  j                  «       sJ ‚y	# 1 sw Y   ŒCxY w)z_
    Test that shape is preserved for array inputs even if fprime or fprime2 is
    scalar
    c                 ó   — | dz  S r$   r   r   s    r    r<   z,test_gh_9608_preserve_array_shape.<locals>.fþ  s   € Ø�!‰tˆr"   c                 ó   — d| z  S r$   r   r   s    r    r³  z-test_gh_9608_preserve_array_shape.<locals>.fp  ó   € Ø�1‰uˆr"   c                  ó   — yr$   r   r   s    r    rµ  z.test_gh_9608_preserve_array_shape.<locals>.fpp  s   € Ør"   r´   ©rP  Tr¶  éýÿÿÿNc                 ót   — t        j                  t        j                  | «      dt         j                  ¬«      S )Nr   r¾  )r�   rü   rD  Úfloat32r   s    r    Ú	fpp_arrayz4test_gh_9608_preserve_array_shape.<locals>.fpp_array  s!   € Ü�w‰w”r—x‘x “{ A¬R¯Z©ZÔ8Ð8r"   )
r�   r¡   rÁ  r   rk   r·   r¸   Ú
IndexErrorrK   r  )	r<   r³  rµ  r:   r·  rX   Úx0_arrayr‚   rÂ  s	            r    Ú!test_gh_9608_preserve_array_shaperÅ  ù  s×   € ò
òòô 
�‰�2�$œbŸj™jÔ	)€BÜ�1�b ¨S¸dÔC�E€BˆØ�;Š;Ðˆ;ä�x‰x˜˜R˜¬¯
©
Ô3€Hä	�‰”zÓ	"ñ 
Ü—‘Øˆx ¨C¸Tô
ˆ÷
ò
9ô �\‰\Ø	ˆ8˜B¨	¸tô€Fð ×Ñ×ÑÔ!Ð!Ñ!÷
ð 
ús   ÂC.Ã.C7z maximum_iterations,flag_expectedrì   r„  c                 ó
  — t        j                  d„ ddddd| dd¬«	      }|d	   j                  |k(  sJ ‚|t         j                  k(  r|d	   j                  | k(  sJ ‚y
|t         j
                  k(  r|d	   j                  | k  sJ ‚y
y
)z]
    Test that if the maximum iterations is exceeded that the flag is not
    converged.
    c                 ó*   — d| z  dz
  | z  dz   | z  dz
  S )Ng333333ó?gffffff@g333333@g      @r   r   s    r    r²   z6test_gh9254_flag_if_maxiter_exceeded.<locals>.<lambda>$  s!   € �C˜‘E˜C‘K ‘? SÑ(¨!Ñ+¨cÑ1€ r"   iâÿÿÿé   r   rÒ   TFr@   r   N)rK   rº   ro  ÚCONVERRr-  Ú	CONVERGED)Úmaximum_iterationsÚflag_expectedr‚   s      r    Ú$test_gh9254_flag_if_maxiter_exceededrÍ    s�   € ô �\‰\Ù1ØˆR��T˜4Ð!3Ø˜uô&€Fð �!‰9�>‰>˜]Ò*Ð*Ð*ØœŸ™Ò%à�a‰y×#Ñ#Ð'9Ò9Ð9Ñ9Ø	œ%Ÿ/™/Ò	)à�a‰y×#Ñ#Ð&8Ò8Ð8Ñ8ð 
*r"   c                  óš  — d„ } d„ }t        j                  t        «      5  t        j                  | d|d¬«       ddd«       t        j
                  t        d¬«      5  t        j                  | d|«       ddd«       t        j                  | t        d	d	«      |«      }t        |t        d
d«      «       y# 1 sw Y   Œ|xY w# 1 sw Y   ŒMxY w)zBTest that if disp is true then zero derivative raises RuntimeErrorc                 ó   — | | z  dz   S ©Nr   r   r   s    r    r<   z/test_gh9551_raise_error_if_disp_true.<locals>.f3  r©  r"   c                 ó   — d| z  S r$   r   r   s    r    Úf_pz1test_gh9551_raise_error_if_disp_true.<locals>.f_p6  s   € Ø�‰sˆ
r"   rš   Fr:  NzY^Derivative was zero\. Failed to converge after \d+ iterations, value is [+-]?\d*\.\d+\.$r¯   g      $@rû   )	r·   r  r  rK   r   r¸   r.  rÊ   r   )r<   rÒ  rC   s      r    Ú$test_gh9551_raise_error_if_disp_truerÓ  0  s¨   € òòô 
�‰”nÓ	%ñ .Ü�‰�Q˜˜S uÕ-÷.ä	�‰Üð/ô
0ñ "ô 	�‰�Q˜˜SÔ!÷	"ô
 �<‰<˜œ7 4¨Ó.°Ó4€DÜ�Dœ' # sÓ+Õ,÷.ð .ú÷"ð "ús    B5ÁCÂ5B>ÃC
Úsolver_name)rº   rd  rÁ   rÂ   rÃ   c                 óž   — d„ }t        t        | «      }t        j                  t        d¬«      5   ||dd«       d d d «       y # 1 sw Y   y xY w)Nc                 ó"   — t         j                  S r+   )r�   r
   r   s    r    r<   ztest_gh3089_8394.<locals>.fI  s   € Ü�v‰vˆr"   zThe function value at x...r¯   r   r   )ÚgetattrrK   r·   r¸   r¹   )rÔ  r<   Úsolvers      r    Útest_gh3089_8394rÙ  D  sD   € ò
ô ”U˜KÓ(€FÜ	�‰”zÐ)EÔ	Fñ Ùˆq�!�QŒ÷÷ ñ ús   ¯AÁArP   c                 ó  ‡— ˆfd„Šd‰_         t        ‰d| ¬«      }|j                  du sJ ‚|j                  j	                  d«      sJ ‚|j
                  ‰j                   k(  sJ ‚t        |j                  «      |j                  v sJ ‚y )Nc                 óN   •— ‰xj                   dz  c_         t        j                  S rÐ  )Ú_countr�   r
   ©r   r<   s    €r    r<   ztest_gh18171.<locals>.fW  s   ø€ Ø	�Š�A‰�Ü�v‰vˆr"   r   )r   r   )r™   rP   FzThe function value at x)rÜ  r   rk   ro  Ú
startswithr%  ÚstrrC   )rP   rK  r<   s     @r    Útest_gh18171rà  Q  s|   ø€ ôð €A„Hä
�a °Ô
7€CØ�=‰=˜EÑ!Ð!Ð!Ø�8‰8×ÑÐ8Ô9Ð9Ð9Ø×Ñ §¡Ò)Ð)Ð)Üˆs�x‰x‹=˜CŸH™HÑ$Ð$Ñ$r"   Úrs_interfaceTFc                 óØ   ‡— |rd„ nt        t        | «      }ˆfd„Šd‰_         |‰ddd¬«      }|r|j                  ‰j                  k(  sJ ‚y |d   j                  ‰j                  k(  sJ ‚y )Nc                 ó    — t        | ||f¬«      S ©N)r™   ©r   ©r<   r=   r>   rS   s       r    r²   z%test_function_calls.<locals>.<lambda>i  ó   € ¬°QÀÀAÀÔ)G€ r"   c                 ó>   •— ‰xj                   dz  c_         | dz  dz
  S )Nr   r   )ÚcallsrÝ  s    €r    r<   ztest_function_calls.<locals>.fl  s   ø€ Ø	�Š�1‰�Ø�!‰t�a‰xˆr"   r   rì   Tr¬   r   )r×  rK   ré  r%  )rÔ  rá  rØ  rK  r<   s       @r    Útest_function_callsrê  c  sr   ø€ ñ ò HÜ#*¬5°+Ó#>ð ôð €A„Gá
��A�r tÔ
,€CáØ×!Ñ! Q§W¡WÒ,Ð,Ñ,à�1‰v×$Ñ$¨¯©Ò/Ð/Ñ/r"   c                  óŠ  — d„ } t        j                  t        d¬«      5  t        | ddd¬«      }ddd«       j                  rJ ‚|j
                  d	k(  sJ ‚t        j                  t        d¬«      5  t        | ddd
d¬«      d   }ddd«       |j                  rJ ‚|j
                  d	k(  sJ ‚y# 1 sw Y   ŒxY w# 1 sw Y   Œ5xY w)zDTest that zero slope with secant method results in a converged=Falsec                 ó@   — | t        j                  |  | z  «      z  dz
  S )NgìQ¸…ë±?rè   r   s    r    Úlhsz*test_gh_14486_converged_false.<locals>.lhs{  s    € Ø”2—6‘6˜1˜"˜Q™$“<Ñ $Ñ&Ð&r"   r…  r¯   r\   g333333Ã¿rš   )rP   r:   r;   Nzconvergence errorFT)r:   r;   rB   rA   r   )r·   r  r  r   rk   ro  r   )rí  rK  s     r    Útest_gh_14486_converged_falserî  y  s¾   € ò'ô 
�‰”n¨NÔ	;ñ BÜ˜# h°5¸SÔAˆ÷Bà�}Š}ÐÐØ�8‰8Ð*Ò*Ð*Ð*ä	�‰”n¨NÔ	;ñ MÜ�S˜U s°ÀDÔIÈ!ÑLˆ÷Mà�}Š}ÐÐØ�8‰8Ð*Ò*Ð*Ñ*÷Bð Bú÷
Mð Mús   ŸB-Á1B9Â-B6Â9Cc                 óª  — |rd„ nt        t        | «      }d„ }t        j                  t        d¬«      5   ||ddd¬«       d d d «        ||dd	d¬«      }|r|n|d
   }|j
                  sJ ‚t        |j                  dd¬«        ||dt        d«      d¬«      }|r|n|d
   }|j
                  sJ ‚t        |j                  dd¬«       y # 1 sw Y   Œ‰xY w)Nc                 ó    — t        | ||f¬«      S rä  rå  ræ  s       r    r²   ztest_gh5584.<locals>.<lambda>�  rç  r"   c                 ó   — d| z  S )Ng¬÷N’~hr   r   s    r    r<   ztest_gh5584.<locals>.f’  s   € Ø�a‰xˆr"   z...must have different signsr¯   g      à¿gš™™™™™Ù¿Tr¬   gš™™™™™Ù?r   r   r$  rÔ   z-0.0)	r×  rK   r·   r¸   r¹   rk   r   rC   r�   )rÔ  rá  rØ  r<   rK  s        r    Útest_gh5584rò  ‰  sÏ   € ñ ò HÜ#*¬5°+Ó#>ð òô 
�‰”zÐ)GÔ	Hñ 0Ùˆq�$˜¨$Õ/÷0ñ ��D˜#¨4Ô
0€CÙ‰# 3 q¡6€CØ�=Š=Ðˆ=Ü�C—H‘H˜a dÕ+ñ ��Dœ% ›-°TÔ
:€CÙ‰# 3 q¡6€CØ�=Š=Ðˆ=Ü�C—H‘H˜a dÖ+÷0ð 0ús   ´C	Ã	Cc            	      ó¬  — d„ } d}t        j                  t        «      j                  }t	        j
                  | dd|d|z  ¬«      } | |«      }t	        j
                  | dd|d|z  ¬«      } | |«      }||k  sJ ‚d|d	z  d
›d|d
›d�}t        j                  t        |¬«      5  t	        j
                  | dd||d	z  ¬«       d d d «       y # 1 sw Y   y xY w)Nc                 ó   — | dz  d| z  z
  dz
  S )Nr˜   r   rÕ   r   r   s    r    r<   ztest_gh13407.<locals>.f¬  s   € Ø�!‰t�a˜‘c‰z˜A‰~Ðr"   çYóøÂn¥ç»½×Ùß|Û=g    _ Br   rd   r   zrtol too small \(r   Úgz < z\)r¯   )	r�   r   r�   r‘   rK   rÃ   r·   r¸   r¹   )r<   ra   r‘   r;   r!   Úx4Úf4rä   s           r    Útest_gh13407rú  ¦  sË   € òð €DÜ
�(‰(”5‹/×
Ñ
€CÜ	�‰�q˜% ¨D°q¸±uÔ	=€BÙ	
ˆ2‹€BÜ	�‰�q˜% ¨D°q¸±uÔ	=€BÙ	
ˆ2‹€BØ�Š7€Nˆ7ð # 3 q¡5¨ )¨3¨s°1¨g°RÐ8€GÜ	�‰”z¨Ô	1ñ =Ü�‰�a˜ ¨4°c¸!±eÕ<÷=÷ =ñ =ús   Â#C
Ã
Cc                  óŒ   — d„ } t        | d«      }t        |dd¬«       t        | ddd¬«      }t        |j                  dd¬«       y )	Nc                 ó   — | dz
  S rÐ  r   )r  s    r    r<   z&test_newton_complex_gh10103.<locals>.fÁ  r¼  r"   y      ð?      ð?r   gê-�™—q=rÔ   y       @      ø?r\   )r:   r;   rP   )r   r   r   rC   )r<   rK  s     r    Útest_newton_complex_gh10103rý  ½  s>   € òä
��D‹/€CÜ�C˜ Õ'ä
�a˜D V°HÔ
=€CÜ�C—H‘H˜a eÖ,r"   c                 óˆ   — d}t        j                  t        |¬«      5   | t        ddd¬«       d d d «       y # 1 sw Y   y xY w)Nz2'float' object cannot be interpreted as an integerr¯   rû   rš   gÍÌÌÌÌR@rµ   )r·   r¸   r{  r!   )rP   rä   s     r    Útest_maxiter_int_check_gh10236rÿ  Ê  s;   € ð C€GÜ	�‰”y¨Ô	0ñ ,ÙŒr�3˜ UÕ+÷,÷ ,ñ ,ús	   ž8¸Ac           	      ój  ‡— dŠd}dt        j                  t        «      j                  z  dz  }ˆfd„}t	        j
                  t        d¬«      5   | |dd	|d
t        ¬«       d d d «       t	        j
                  t        d¬«      5   | |dd	|d|¬«       d d d «       y # 1 sw Y   Œ<xY w# 1 sw Y   y xY w)Nr=  )rí   rî   rì   rï   r   r   c                 ó   •— | ‰z
  S r+   r   rX  s    €r    r<   z(test_bisect_special_parameter.<locals>.fÛ  rY  r"   zxtol too smallr¯   rZ  r[  rT  )rD   ra   rb   zrtol too smallrÒ   )r�   r   r�   r‘   r·   r¸   r¹   r]  )rP   rD   Úrtolbadr<   rC   s       @r    Útest_bisect_special_parameterr  Ò  s©   ø€ ð
 €DØ&€DØ”"—(‘(œ5“/×%Ñ%Ñ%¨Ñ)€Gôô 
�‰”zÐ)9Ô	:ñ =Ùˆa��s ¨E¼Õ<÷=ä	�‰”zÐ)9Ô	:ñ @Ùˆa��s ¨D°wÕ?÷@ð @÷=ð =ú÷@ð @ús   ÁBÂB)ÂB&Â)B2c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestRidderUnderflowc                 ó‚   — d„ }t        j                  |ddddd¬«      \  }}|j                  sJ ‚t        |«      dk  sJ ‚y )	Nc                 ó   — | dz  S )NrÕ   r   r   s    r    r<   z6TestRidderUnderflow.test_gh_issue_underflow.<locals>.fé  s
   € ˜˜A™�+r"   rE   rÕ   rõ  Ti'  )ra   rA   r¶   rö  )r   rÂ   rk   rO  )rN   r<   rC   r‚   s       r    Útest_gh_issue_underflowz+TestRidderUnderflow.test_gh_issue_underflowä  sN   € ò
 	ô  —‘Øˆr�1ØØØô	
‰ˆˆfð ×ÒÐÐÜ�4‹y˜5Ò Ð Ñ r"   c                 óº   ‡— dŠˆfd„}t        j                  |ddd¬«      \  }}|j                  sJ ‚|dk(  sJ ‚|j                  ‰k(  sJ ‚|j                  dk(  sJ ‚y )	Nr   c                 ó   •— ‰dz  Š| S rÐ  r   )r   Únfevs    €r    r<   z7TestRidderUnderflow.test_early_exit_funcalls.<locals>.fù  s   ø€ à�A‰IˆDØˆHr"   rE   r   Tr¬   rû   r˜   )r   rÂ   rk   r%  )rN   r<   rC   r‚   r  s       @r    Útest_early_exit_funcallsz,TestRidderUnderflow.test_early_exit_funcallsö  sp   ø€ àˆô	ô  —‘Øˆr�1Øô
‰ˆˆfð
 ×ÒÐÐØ�sŠ{Ðˆ{Ø×$Ñ$¨Ò,Ð,Ð,Ø×$Ñ$¨Ò)Ð)Ñ)r"   N)rŒ   r�   rŽ   r  r  r   r"   r    r  r  ã  s   „ ò!ó$*r"   r  )SrŒ  Ú	functoolsr   r·   Únumpy.testingr   r   r   r   Únumpyr�   r   r	   r
   r   r   r   r   r   Úscipyr   Úscipy.optimizer   rK   r   r   r   Úscipy._lib._utilr   rf   Úscipy.optimize._tstutilsr   r   rÀ   r�   r‘   r]  rc  rÁ   rÂ   rº   rd  rÃ   r¿   Úgradient_methodsÚall_methodsr!   r%   r)   r,   r/   r2   r4   r6   r8   r“   rÅ   r_  re  rj  rl  r  r‘  r   r¬  r¸  rÅ  r½   r¾   rÉ  rÊ  rÍ  rÓ  rÙ  rà  rê  rî  rò  rú  rý  rÿ  r  r  r   r"   r    ú<module>r     sõ  ðÛ å ã ÷/ó /ó ß A× AÓ Aå ÷,ó ,õ G÷ Pàˆˆ�‰�‹×ÑÑ€á�5‹\×Ñ€
à—<‘< §¡¨u¯|©|¸U¿\¹\Ø—=‘=ð"€à—L‘L�>Ð ØÐ 0Ñ0€òòòò#ò
òòð
 ñó ð÷^Mñ ^MôB?@Ð.ô ?@ôDc&Ð&ô c&òL	=ò8ò0'÷2ñ 2ò1ò8Eò@
òD,>ò`ò4"ðD ‡�×ÑØ&Øˆ%�-‰-Ð˜3 §¡Ð0Ð1ó3ñ9ó3ð9ò$-ð( ‡�×Ñ˜ÚLóNñóNðð ‡�×Ñ˜ÚLóNñ%óNð%ð  ‡�×Ñ˜ÚLóNà‡�×Ñ˜¨$°¨Ó7ñ0ó 8óNð0ò&+ð  ‡�×Ñ˜ÚLóNà‡�×Ñ˜¨$°¨Ó7ñ,ó 8óNð,ò4=ò.
-ð ‡�×Ñ˜ ;Ó/ñ,ó 0ð,ð ‡�×Ñ˜ E§L¡L°%·,±,Ø$)§L¡L°%·,±,ð$@ó Añ@óAð@÷&*ò &*r"   