+
    LV-ji8  ã                   óŒ  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIt^ RIHt ^ RI	t	^ RI
Ht  ^ RIt ! R R4      t ! R R4      t ! R	 R
4      t ! R R4      tR t ! R R4      tR tR tR tR tR t ^ RItR]! ]4      9   t ! R R]4      tR]P<                  R3R ltR t R t!RR lt"R#   ] d     L‡i ; i  ] d    Rt LBi ; i) é    N)Úzip_longest)Úassert_)Úassert_func_equalc                   ól   a € ] tR t^t o Rt]P                  ) ]P                  RR3R ltR tR t	Rt
V tR# )ÚArgzzGenerate a set of numbers on the real axis, concentrating on
'interesting' regions and covering all orders of magnitude.

Tc                ób  € W8”  d   \        R 4      hV\        P                  ) 8X  d,   R\        P                  ! \        4      P
                  ,          pV\        P                  8X  d,   R\        P                  ! \        4      P
                  ,          pWuV n        V n        W4uV n        V n	        R# )z#a should be less than or equal to bç      à?Ng      à¿)
Ú
ValueErrorÚnpÚinfÚfinfoÚfloatÚmaxÚaÚbÚinclusive_aÚinclusive_b)Úselfr   r   r   r   s   &&&&&Úk/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/special/_mptestutils.pyÚ__init__ÚArg.__init__   sx   € ØŒ5ÜÐBÓCÐCØ”—‘�Œ<Ø”R—X’Xœe“_×(Ñ(Õ(ˆAØ”—‘Œ;Ø”B—H’HœU“O×'Ñ'Õ'ˆAØˆˆŒ�”à-8Ð*ˆÔ˜$Ö*ó    c                ó  € V^ 8  d   \        R4      hV^,          ^ 8X  d   V^,          pTpMV^,          pV^,           pV^
8¼  dC   \        P                  ! \        P                  ! V4      \        P                  ! V4      V4      pEMèV^ 8”  d!   V^
8  d   \        P                  ! WV4      pEMÁV^ 8”  d`   \        P                  ! V^
VRR7      p\        P                  ! ^\        P                  ! V4      V4      p\        P
                  ! Wx34      pEM[V^ 8X  d�   V^
8:  dz   \        P                  ! ^ W%4      pVP                  ^8”  d   \        P                  ! V^,          4      p	MRp	\        P                  ! RW”RR7      p\        P
                  ! W‡34      pMÔV^,          ^ 8X  d   V^,          p
T
pMV^,          p
V
^,           p\        P                  ! ^ ^
VRR7      pVP                  ^8”  d   \        P                  ! V^,          4      p	MRp	\        P                  ! RWšRR7      p\        P                  ! ^\        P                  ! V4      V4      p\        P
                  ! WÇV34      p\        P                  ! V4      # )r   za should be positiveF)Úendpointiâÿÿÿ)r
   r   ÚlogspaceÚlog10ÚlinspaceÚhstackÚsizeÚsort)r   r   r   ÚnÚnlogptsÚnlinptsÚptsÚlinptsÚlogptsÚrightÚnlogpts1Únlogpts2Úlogpts1Úlogpts2s   &&&&          r   Ú_positive_valuesÚArg._positive_values'   så  € ØˆqŒ5ÜÐ3Ó4Ð4ð ˆq�5�AŒ:Ø˜•dˆGØ‰Gà˜•dˆGØ •kˆGà�Œ7ä—+’+œbŸhšh q›k¬2¯8ª8°A«;¸Ó:ŠCØ�ŒU�q˜2”vä—+’+˜a AÓ&ŠCØ�ŒUô —[’[  B¨¸%Ô@ˆFÜ—[’[ ¤B§H¢H¨Q£K°Ó9ˆFÜ—)’)˜VÐ,Ó-ŠCØ�!ŒV˜˜Rœô —[’[  AÓ/ˆFØ�{‰{˜QŒÜŸš ¨¥Ó+‘à�Ü—[’[  e¸uÔEˆFÜ—)’)˜VÐ,Ó-‰Cð
 ˜�{˜aÔØ" A�:�Ø#‘à" A�:�Ø# a�<�Ü—[’[  B¨¸%Ô@ˆFØ�{‰{˜QŒÜŸš ¨¥Ó+‘à�Ü—k’k # uÀÔGˆGÜ—k’k !¤R§X¢X¨a£[°(Ó;ˆGÜ—)’)˜W¨gÐ6Ó7ˆCä�wŠw�s‹|Ðr   c                ó¾  € V P                   V P                  r2W#8X  d   \        P                  ! V4      # V P                  '       g
   V^,          pV P
                  '       g
   V^,          pV^,          ^ 8X  d   V^,          pTpMV^,          pV^,           pV^ 8¼  d   V P                  W#V4      p. pMWV^ 8:  d   . pV P                  V) V) V4      ) pM7V P                  ^ W44      pV P                  ^ V) V^,           4      ) pVR,          p\        P                  ! VRRR1,          V34      pV P                  '       g
   VR,          pV P
                  '       g   VRR pV# )z%Return an array containing n numbers.:é   NNNéÿÿÿÿ)r   r   r   Úzerosr   r   r,   r   )	r   r!   r   r   Ún1Ún2ÚposptsÚnegptsr$   s	   &&       r   ÚvaluesÚ
Arg.values_   sB  € à�v‰v�t—v‘vˆ1ØŒ6Ü—8’8˜A“;Ðà××ÐØ��FˆAØ××ÐØ��FˆAàˆq�5�AŒ:Ø�A•ˆBØ‰Bà�A•ˆBØ�a•ˆBà�Œ6Ø×*Ñ*¨1°Ó3ˆFØ‰FØ�!ŒVØˆFØ×+Ñ+¨Q¨B°°°AÓ6Ð6‰Fà×*Ñ*¨1¨aÓ4ˆFØ×+Ñ+¨A°¨r°2¸µ6Ó:Ð:ˆFà˜B•ZˆFÜ�iŠi˜¡ " � vÐ.Ó/ˆà××ÐØ�b•'ˆCØ××ÐØ�c�r�(ˆCØˆ
r   )r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r,   r6   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s5   ø‡ € ñð
 Ÿ&™&˜ B§F¡F¸È$ô 	Fò6÷p#ð #r   r   c                   ó,   a € ] tR t^…t o R tR tRtV tR# )ÚFixedArgc                ó<   € \         P                  ! V4      V n        R # ©N)r   ÚasarrayÚ_values)r   r6   s   &&r   r   ÚFixedArg.__init__†   s   € Ü—z’z &Ó)ˆŽr   c                ó   € V P                   # rD   ©rF   )r   r!   s   &&r   r6   ÚFixedArg.values‰   s   € Ø�|‰|Ðr   rI   N©r8   r9   r:   r;   r   r6   r=   r>   r?   s   @r   rB   rB   …   s   ø‡ € ò*÷ð r   rB   c                   ó¤   a € ] tR t^�t o ]! ]P                  ) ]P                  ) 4      ]! ]P                  ]P                  4      3R ltR tRt	V t
R# )Ú
ComplexArgc                óš   € \        VP                  VP                  4      V n        \        VP                  VP                  4      V n        R # rD   )r   ÚrealÚimag©r   r   r   s   &&&r   r   ÚComplexArg.__init__Ž   s.   € Ü˜Ÿ™ §¡Ó'ˆŒ	Ü˜Ÿ™ §¡Ó'ˆŽ	r   c                ó:  € \        \        P                  ! \        P                  ! V4      4      4      pV P                  P                  V4      pV P                  P                  V^,           4      pVR,          RVR,          ,          ,           P                  4       # )r/   y              ð?)ºNNNN)NrT   )Úintr   ÚfloorÚsqrtrO   r6   rP   Úravel)r   r!   ÚmÚxÚys   &&   r   r6   ÚComplexArg.values’   si   € Ü”—’œŸš ›Ó$Ó%ˆØ�I‰I×Ñ˜QÓˆØ�I‰I×Ñ˜Q �UÓ#ˆØ�&•	˜B˜q �y�LÕ(×/Ñ/Ó1Ð1r   )rP   rO   N)r8   r9   r:   r;   Úcomplexr   r   r   r6   r=   r>   r?   s   @r   rM   rM   �   s;   ø‡ € Ù  "§&¡& ¨2¯6©6¨'Ó2±g¸b¿f¹fÀbÇfÁfÓ6Mô (÷2ð 2r   rM   c                   ó0   a € ] tR t^™t o RR ltR tRtV tR# )ÚIntArgc                ó   € Wn         W n        R # rD   ©r   r   rQ   s   &&&r   r   ÚIntArg.__init__š   s   € ØŒØŽr   c                óž  € \        V P                  V P                  4      P                  \	        ^V^,          ,           V^,
          4      4      P                  \        4      p\        P                  ! R^4      p\        P                  ! \        P                  W#3,          4      pWDV P                  8¬  W@P                  8  ,          ,          pV# )r/   éûÿÿÿ)r   r   r   r6   r   ÚastyperU   r   ÚarangeÚuniqueÚr_)r   r!   Úv1Úv2Úvs   &&   r   r6   ÚIntArg.valuesž   s‡   € Ü�—‘˜Ÿ™Ó ×'Ñ'¬¨A°°1µ­H°a¸µcÓ(:Ó;×BÑBÄ3ÓGˆÜ�YŠY�r˜1ÓˆÜ�IŠI”b—e‘e˜B˜F•mÓ$ˆØ�D—F‘F‰{˜q§6¡6™zÕ*Õ+ˆØˆr   ra   N)iüÿÿiè  rK   r?   s   @r   r_   r_   ™   s   ø‡ € ô÷ð r   r_   c           	      óx  € \        V \        P                  4      '       d   V P                  4       pV# \	        V 4      p\        P
                  ! V  Uu. uF  p\        V\        4      '       d   R MRNK  	  up4      pW\        V4      ,          ,          P                  \        4      ^,           p\        W4       UUu. uF  w  rFVP                  V4      NK  	  ppp\        P                  ! \        P                  ! \        P                  ! V!  !  4      P                  VR4      P                   pV# u upi u uppi )g      ø?g      ð?r0   )Ú
isinstancer   ÚndarrayÚcopyÚlenrE   rM   Úsumre   rU   Úzipr6   ÚarrayÚbroadcast_arraysÚix_ÚreshapeÚT)Úargspecr!   ÚargsÚnargsÚspecÚmsrY   s   &&     r   Úget_argsr~   ¦   sì   € Ü�'œ2Ÿ:™:×&Ò&Ø�|‰|‹~ˆð €Kô �G“ˆÜ�ZŠZÙFMÓNÁg¸d”J˜t¤Z×0Ò0‰S°cÒ9ÁgÑNó
ˆð ”S˜“W•*�o×%Ñ%¤cÓ*¨QÕ.ˆä.1°'Ô.>Ô?Ñ.>¡7 4�—‘˜A–Ñ.>ˆÑ?Ü�xŠxœ×+Ò+¬R¯VªV°T©]Ñ;Ó<×DÑDÀUÈBÓO×QÑQˆà€Kùò Oùó @s   Á#D1Â<D6c                   ó6   a € ] tR t^¶t o RR ltR tR tRtV tR# )Ú
MpmathDataNc           	     ó  € Vf7    \        \        P                  P                  RR4      4      pV'       d   RMRpWn        W n        W0n        WPn        W`n	        Wpn
        W€n        W�n        W n        WÀn        \        V P                  \         P"                  4      '       d@   \         P$                  ! V P                  P&                  \         P(                  4      V n        M8\-        V P                   Uu. uF  p\        V\.        4      NK  	  up4      V n        W n        W°n        V'       d   VR8X  d   \3        VRR 4      pV'       d   VR8X  d   \3        VRR 4      pW@n        WÐn        R #   \         d    Rp ELKi ; iu upi )NÚSCIPY_XSLOWÚ0Fiˆ  iô  z<lambda>r8   )rU   ÚosÚenvironÚgetr
   Ú
scipy_funcÚmpmath_funcÚarg_specÚdpsÚprecr!   ÚrtolÚatolÚignore_inf_signÚnan_okrn   r   ro   Ú
issubdtypeÚdtypeÚcomplexfloatingÚ
is_complexÚanyrM   Údistinguish_nan_and_infÚgetattrÚnameÚparam_filter)r   r‡   rˆ   r‰   r—   rŠ   r‹   r!   rŒ   r�   rŽ   r•   r�   r˜   Úis_xslowÚargs   &&&&&&&&&&&&&&  r   r   ÚMpmathData.__init__·   s*  € ð Š9ð!ÜœrŸz™zŸ~™~¨m¸SÓAÓB�÷ !‘ cˆAà$ŒØ&ÔØ ŒØŒØŒ	ØŒØŒ	ØŒ	Ø.ÔØŒÜ�d—m‘m¤R§Z¡Z×0Ò0Ü Ÿmšm¨D¯M©M×,?Ñ,?Ä×ASÑASÓTˆD�Oä!Ø8<¿ºÓF¹°”˜C¤Ö,¹ÑFóˆDŒOð  /ÔØ'>Ô$ß�t˜zÔ)Ü˜: z°4Ó8ˆDß�t˜zÔ)Ü˜;¨
°DÓ9ˆDØŒ	Ø(Öøô9 ô !Ø “ð!üò& Gs   †)E* Ã3E>Å*E;Å:E;c                ó¦  a a
a€ \         P                  P                  R 4       \        S P                  S P
                  4      p\        P                  P                  \        P                  P                  r2 S P                  e   S P                  .pM^.pS P                  e    S P                  \        P                  n	        \         P                  ! VP                  \         P                  4      '       d   \        oR o
MR o
R o\        V4       F|  w  rVV\        P                  n         \        S P                   V
VV 3R lVRS P"                  S P$                  S P&                  S P(                  S P*                  S P,                  R7
        M	  W#u\        P                  n        \        P                  n	        R#   \.         dX    T\1        T4      ^,
          8¼  d<   \2        P4                  ! 4       w  rxp	TP6                  T	Jd   TP9                  T	4      hTh EK  i ; i  Y#u\        P                  n        \        P                  n	        i ; i)iÒ  Nc                 ó@   € \         P                  ! \        V 4      4      # rD   )ÚmpmathÚmpcr]   ©rZ   s   &r   ÚmptypeÚ MpmathData.check.<locals>.mptypeö   s   € Ü!Ÿ:š:¤g¨a£jÓ1Ð1r   c                 ó@   € \         P                  ! \        V 4      4      # rD   )rž   Úmpfr   r    s   &r   r¡   r¢   ù   s   € Ü!Ÿ:š:¤e¨A£hÓ/Ð/r   c                 óÂ   € \        V P                  4      R ^\        V P                  4      ,           ,          8”  d   \        P                  # \        V P                  4      # )g¼‰Ø—²Òœ<)ÚabsrP   rO   r   ÚnanÚ	mpf2floatr    s   &r   ÚpytypeÚ MpmathData.check.<locals>.pytypeü   s;   € Ü˜1Ÿ6™6“{ U¨A´°A·F±F³­OÕ%<Ô<Ü!Ÿv™v˜ä(¨¯©Ó0Ð0r   c                  óD   <€ S! SP                   ! \        SV 4      !  4      # rD   )rˆ   Úmap)r   r¡   r©   r   s   *€€€r   Ú<lambda>Ú"MpmathData.check.<locals>.<lambda>	  s   ø€ ¡6¨$×*:Ò*:¼CÀÈ»NÑ*KÔ#Lr   F)Ú
vectorizedrŒ   r�   rŽ   r•   r�   r˜   )r   ÚrandomÚseedr~   r‰   r!   rž   ÚmprŠ   r‹   r�   r‘   r’   Úmpc2complexÚ	enumerater   r‡   rŒ   r�   rŽ   r•   r�   r˜   ÚAssertionErrorrq   ÚsysÚexc_infoÚ__traceback__Úwith_traceback)r   ÚargarrÚold_dpsÚold_precÚdps_listÚjrŠ   ÚtpÚvalueÚtbr¡   r©   s   f         @@r   ÚcheckÚMpmathData.checkà   s§  ú€ Ü
�	‰	�‰�tÔô ˜$Ÿ-™-¨¯©Ó0ˆô #ŸI™IŸM™M¬6¯9©9¯>©>�ð4	>Ø�x‰xÒ#Ø ŸH™H˜:‘à˜4�Ø�y‰yÒ$Ø!%§¡”—	‘	”ô
 �}Š}˜VŸ\™\¬2×+=Ñ+=×>Ò>Ü$�ó2ò0ò1ô $ HÖ-‘�Ø #”—	‘	”ð$Ü%ØŸ™ÞLØØ#(Ø!ŸY™YØ!ŸY™YØ(,×(<Ñ(<Ø04×0LÑ0LØ#Ÿ{™{Ø%)×%6Ñ%6õñ ñ! .ð2 -4Ð)ŒF�I‰IŒMœ6Ÿ9™9ž>øô &ô $ØœC ›M¨!�OÔ+ä(+¯ª«™˜ 2Ø ×.Ñ.°bÓ8Ø"'×"6Ñ"6°rÓ":Ð:Ø#˜ó ,ð$ûð -4Ð)ŒF�I‰IŒMœ6Ÿ9™9�>ús9   Á7B H$ Ã85H$ Ä.A!F?ÆH$ Æ?AH!ÈH$ È H!È!H$ È$,Ic                óf   € V P                   '       d   R V P                   R2# R V P                   R2# )z<MpmathData: z (complex)>Ú>)r“   r—   )r   s   &r   Ú__repr__ÚMpmathData.__repr__  s1   € Ø�?�?ˆ?Ø" 4§9¡9 +¨[Ð9Ð9à" 4§9¡9 +¨QÐ/Ð/r   )r‰   r�   r•   rŠ   rŽ   r“   rˆ   r!   r—   r�   r˜   r‹   rŒ   r‡   )
NNNNgH¯¼šò×z>gYóøÂn¥FTTN)	r8   r9   r:   r;   r   rÂ   rÆ   r=   r>   r?   s   @r   r€   r€   ¶   s   ø‡ € ô')òR<>÷|0ð 0r   r€   c                  ó<   € \        V / VB pVP                  4        R # rD   )r€   rÂ   )r   ÚkwÚds   *, r   Úassert_mpmath_equalrË   %  s   € Ü�AÐ˜Ñ€AØ‡G�G†Ir   c                 óN   € \         P                  P                  R R7      ! V 4      # )z8    Test not yet functional (too slow), needs more work.)Úreason)ÚpytestÚmarkÚskip)Úfuncs   &r   Únonfunctional_tooslowrÒ   *  s)   € Ü�;‰;×ÑØIð ô à
óð r   c           	     óH   € \        \        P                  ! V ^^ ^ R7      4      # )zÍ
Convert an mpf to the nearest floating point number. Just using
float directly doesn't work because of results like this:

with mp.workdps(50):
    float(mpf("0.99999999999999999")) = 0.9999999999999999

©Ú	min_fixedÚ	max_fixed)r   rž   Únstrr    s   &r   r¨   r¨   4  s   € ô ”—’˜Q ¨a¸1Ô=Ó>Ð>r   c                 óf   € \        \        V P                  4      \        V P                  4      4      # rD   )r]   r¨   rO   rP   r    s   &r   r³   r³   @  s!   € Ü”9˜QŸV™VÓ$¤i°·±Ó&7Ó8Ð8r   c                 ó   a a€ R  oV V3R lpV# )c                 ón   € \        V \        P                  4      '       d   \        V 4      # \	        V 4      # rD   )rn   rž   rŸ   r]   r   r    s   &r   ÚtofloatÚtrace_args.<locals>.tofloatE  s&   € Ü�aœŸ™×$Ò$Ü˜1“:Ðä˜“8ˆOr   c                  ó  <€ \         P                  P                  \        \	        SV 4      4      : R 24       \         P                  P                  4         S! V / VB p\         P                  P                  RV: 24       \         P                  P                  R4       \         P                  P                  4        V#   \         P                  P                  R4       \         P                  P                  4        i ; i)ú: z-> Ú
)r¶   ÚstderrÚwriteÚtupler¬   Úflush)r   rÉ   ÚrrÑ   rÛ   s   *, €€r   ÚwrapÚtrace_args.<locals>.wrapK  s¯   ø€ Ü�
‰
×ÑœE¤# g¨q£/Ó2Ñ5°RÐ8Ô9Ü�
‰
×ÑÔð	Ù�a�˜2‘ˆAÜ�J‰J×Ñ˜s 1¡%˜[Ô)ä�J‰J×Ñ˜TÔ"Ü�J‰J×ÑÔØˆøô �J‰J×Ñ˜TÔ"Ü�J‰J×ÑÕús   Á+C Ã?D © )rÑ   rå   rÛ   s   f @r   Ú
trace_argsrè   D  s   ù€ òö	ð €Kr   Ú	setitimerFc                   ó   € ] tR tRtRtR# )ÚTimeoutErrori_  rç   N)r8   r9   r:   r;   r=   rç   r   r   rë   rë   _  s   † Ûr   rë   r	   Tc                ó\   a aa€ \         '       d   V'       d   R oVVV 3R lpV# VV 3R lpV# )aê  
Decorator for setting a timeout for pure-Python functions.

If the function does not return within `timeout` seconds, the
value `return_val` is returned instead.

On POSIX this uses SIGALRM by default. On non-POSIX, settrace is
used. Do not use this with threads: the SIGALRM implementation
does probably not work well. The settrace implementation only
traces the current thread.

The settrace implementation slows down execution speed. Slowdown
by a factor around 10 is probably typical.
c                 ó   € \        4       hrD   )rë   )ÚsignumÚframes   &&r   Úsigalrm_handlerÚ%time_limited.<locals>.sigalrm_handlers  s
   € Ü“.Ð r   c                 ó   <a € V VVV3R  lpV# )c                  ó–  <€ \         P                   ! \         P                  S4      p\         P                  ! \         P                  S4        S! V / VB \         P                  ! \         P                  ^ 4       \         P                   ! \         P                  V4       #   \         dP    Su \         P                  ! \         P                  ^ 4       \         P                   ! \         P                  T4       # i ; i  \         P                  ! \         P                  ^ 4       \         P                   ! \         P                  T4       i ; i)r   )ÚsignalÚSIGALRMré   ÚITIMER_REALrë   )r   rÉ   Úold_handlerrÑ   Ú
return_valrð   Útimeouts   *, €€€€r   rå   Ú(time_limited.<locals>.deco.<locals>.wrapw  sÑ   ø€ Ü$Ÿmšm¬F¯N©N¸OÓL�Ü× Ò ¤×!3Ñ!3°WÔ=ð?Ù ˜> b™>ô ×$Ò$¤V×%7Ñ%7¸Ô;Ü—M’M¤&§.¡.°+Õ>øô	 $ô &Ø%Ñ%ä×$Ò$¤V×%7Ñ%7¸Ô;Ü—M’M¤&§.¡.°+Õ>ð	&ûô ×$Ò$¤V×%7Ñ%7¸Ô;Ü—M’M¤&§.¡.°+Õ>ús%   ÁB ÂC9Â,C< Ã8C9Ã9C< Ã<AErç   )rÑ   rå   rø   rð   rù   s   f €€€r   ÚdecoÚtime_limited.<locals>.decov  s   ù€ ÷	?ð 	?ð ˆKr   c                 ó   <a € V VV3R  lpV# )c                  ó`  <aa€ \         P                   ! 4       oVVV3R  lo\        P                  ! S4        S! V / VB \        P                  ! R4       #   \         d2    \        P                  ! R4       Su \        P                  ! R4       # i ; i  \        P                  ! R4       i ; i)c                 ó^   <€ \         P                   ! 4       S,
          S8”  d   \        4       hS# rD   )Útimerë   )rï   Úeventrš   Ú
start_timerù   Útraces   &&&€€€r   r  Ú7time_limited.<locals>.deco.<locals>.wrap.<locals>.trace‡  s#   ø€ Ü—y’y“{ ZÕ/°'Ô9Ü*›nÐ,Ø �Lr   N)r   r¶   Úsettracerë   )r   rÉ   r  r  rÑ   rø   rù   s   *,@@€€€r   rå   rú   „  s}   ú€ Ü!ŸYšY›[�
÷!ô —’˜UÔ#ð'Ù ˜> b™>ô
 —L’L Õ&øô	 $ô &Ü—L’L Ô&Ø%Ñ%ä—L’L Õ&ð	&ûô —L’L Õ&ús#   ¸A Á#BÁ9B ÂBÂB ÂB-rç   )rÑ   rå   rø   rù   s   f €€r   rû   rü   ƒ  s   ù€ ÷'ð ˆKr   )ÚPOSIX)rù   rø   Úuse_sigalrmrû   rð   s   ff& @r   Útime_limitedr  c  s)   ú€ ÷ ƒu—ò	!÷	ð< €Kö#	ð" €Kr   c                ó   a € V 3R lpV# )z9Decorate function to return nan if it raises an exceptionc                  óX   <€  S! V / VB #   \          d    \        P                  u # i ; irD   )Ú	Exceptionr   r§   )r   rÉ   rÑ   s   *,€r   rå   Úexception_to_nan.<locals>.wrap™  s.   ø€ ð	Ù˜�>˜b‘>Ð!øÜô 	Ü—6‘6ŠMð	ús   ƒ ‹)¨)rç   ©rÑ   rå   s   f r   Úexception_to_nanr  —  s   ø€ õð
 €Kr   c                ó   a € V 3R lpV# )z1Decorate function to return nan if it returns infc                  óp   <€ S! V / VB p\         P                  ! V4      '       g   \         P                  # V# rD   )r   Úisfiniter§   )r   rÉ   rk   rÑ   s   *, €r   rå   Úinf_to_nan.<locals>.wrap£  s+   ø€ Ù�!ˆN�r‰NˆÜ�{Š{˜1�~Š~Ü—6‘6ˆMØˆr   rç   r  s   f r   Ú
inf_to_nanr  ¡  s   ø€ õð
 €Kr   c                óP  € . p\        \        W4      4       Fr  w  pw  rgVe   Vf   \        R4      h\        P                  ! Wg,
          4      W#\        P                  ! V4      ,          ,           8”  g   K_  VP                  WVV34       Kt  	  \        V4      pV^ 8”  Ed   \        \        \        P                  ! V4      4      4      p	R.p
V
P                  RV RX^,            R24       V F™  w  rVp\        P                  ! Wi^ ^ R7      p\        P                  ! Wy^ ^ R7      pV^ 8X  d   RpM:\        P                  ! Wg,
          V,          4      p\        P                  ! V^4      pV
P                  V R	V R
V RV R24       K›  	  \        RRP                  V
4      4       R# R# )zp
Compare lists of mpmath.mpf's or mpmath.mpc's directly so that it
can be done to higher precision than double.
Nz,Lengths of inputs res and std are not equal.Ú zBad results (z out of z) for the following points:rÔ   r   rÞ   z != z (rdiff Ú)Frß   )r´   r   r
   rž   ÚfabsÚappendrq   rU   r¦   r   r   r×   r   Újoin)ÚresÚstdr�   rŒ   ÚfailuresÚkÚresvalÚstdvalÚnfailÚndigitsÚmsgÚresrepÚstdrepÚrdiffs   &&&&          r   Úmp_assert_allcloser&  «  sb  € ð
 €HÜ(¬°SÓ)>Ö?ÑˆÑˆFØŠ>˜Vš^ÜÐKÓLÐLÜ�;Š;�v•Ó'¨$´f·k²kÀ&Ó6IÕ1IÕ*IÖIØ�O‰O˜Q¨Ð/Ö0ñ	  @ô �‹M€EØˆq…yÜ”cœ"Ÿ(š( 4›.Ó)Ó*ˆØˆdˆØ�
‰
�] 5 '¨°!°aµ%°Ð8SÐTÔUÛ!)ÑˆA�vÜ—[’[ ¸AÈÔKˆFÜ—[’[ ¸AÈÔKˆFØ˜Œ{Ø‘äŸš V¥_°fÕ$<Ó=�ÜŸš E¨1Ó-�Ø�J‰J˜!˜˜B˜v˜h d¨6¨(°(¸5¸'ÀÐCÖDñ "*ô 	��t—y‘y “~Ö&ñ r   )r   g—ÔFFõg<)#r„   r¶   r   Ú	itertoolsr   Únumpyr   Únumpy.testingr   rÎ   Úscipy.special._testutilsr   rž   ÚImportErrorr   rB   rM   r_   r~   r€   rË   rÒ   r¨   r³   rè   rô   Údirr  r  rë   r§   r  r  r  r&  rç   r   r   Ú<module>r-     sê   ðÛ 	Û 
Û Ý !ã Ý !Û å 6ð	Û÷lñ l÷^ñ ÷	2ñ 	2÷
ñ 
ò÷ l0ñ l0ò^ò
ò	?ò9òð(ÛØ™C ›KÑ'€Eô
	�9ô 	ð ¨¯©¸Tô 1òhòö'øð{ ô 	Ùð	ûðZ
 ô Ø‚Eðús#   ¨B* Á1B7 Â*B4Â3B4Â7	CÃC