+
    ,ir]                        ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RI	t
^ RIHtHt ^ RIt^ RIHt ^ RIHt ^ RIHtHt ^ RIHtHtHtHtHtHtHtHtHtH t H!t! ^ RI"H#u H$t% ^ R	I&H't' ^ R
I(H)t)H*t*H+t+H,t,H-t-H.t.H/t/ ]'! ]4       ]P`                  Pb                  R 4       t2R t3R t4R t5R t6R t7]!RR l4       t8R t9R t: ! R R4      t; ! R R4      t< ! R R4      t=R t> ! R R4      t?R# )    )PoolN)Fraction)assert_equalassert_)raises)skip_xp_invalid_arg)xp_assert_equalis_numpy)_aligned_zeroscheck_random_state
MapWrappergetfullargspec_no_selfFullArgSpecrng_integers_validate_int_rename_parameter_contains_nan_rng_html_rewrite_workers_wrapper)lazy_xp_function)clusterinterpolatelinalgoptimizesparsespatialstatsc                      ^
p R pR Ff  pR F]  pR FT  p\         P                  \         P                  3 F-  pV^^^V33 F  p\        V 4       F  pV! WeWB4       K  	  K   	  K/  	  KV  	  K_  	  Kh  	  R# )
   c                    \        WW#34      p\        WW#R 7      pVf!   \        P                  ! V4      P                  p\        VP                  R,          ^ ,          V,          ^ 4       \        V R4      '       d   \        VP                  W4       M\        VP                  V 3V4       \        VP                  V4       VR8X  d#   \        VP                  P                  V4       R# VR8X  d6   VP                  ^ 8  d#   \        VP                  P                  V4       R# R# Vf#   \        VP                  P                  V4       R# \        4       h))alignNdata__len__CF)reprr   npdtype	alignmentr   __array_interface__hasattrshaper   flagsc_contiguoussizef_contiguous
ValueError)r,   r(   orderr!   err_msgxs   &&&&  =/usr/lib/python3/dist-packages/scipy/_lib/tests/test__util.pycheck"test__aligned_zeros.<locals>.check   s    e345<=HHUO--EQ**6215=qA5)$$%15(G4QWWe$C<AGG(('2c\vvz,,g6  ]AGG(('2,    N)	                      @   N)r   r9   r;      )r$   r%   N)r'   uint8float64range)niterr6   r!   nr2   r(   r,   js           r5   test__aligned_zerosrH      sr    E. 3A) hh

3E"#aAq\!2!&uA!%= ". "3 4 *  3r8   c                  f   \        ^4      p \        \        V 4      \        P                  P
                  4       \        V 4      p \        \        V 4      \        P                  P
                  4       \        R4      p \        \        V 4      \        P                  P
                  4       \        \        \         R4       \        P                  P                  \        P                  P                  4       4      p\        V4      p \        \        V 4      \        P                  P                  4       R# )r9   Na)
r   r   typer'   randomRandomStateassert_raisesr1   	GeneratorPCG64)rsirgs     r5   test_check_random_staterS   ?   s    
 Q
CcBII112
S
!CcBII112
T
"CcBII112*0#6			RYY__.	/B
R
 CcBII//0r8   c                  n   \        ^4      p \        V P                  4      p\        V\	        R.RRR
. R/ 4      4       \        V P
                  4      p\        V\	        RR.RRR. R/ 4      4        ! R R4      pV! 4       p\        VP                  4      p\        V\	        . RORRRR	.R	R// 4      4       R# )r9   poolNfunciterablec                   2   a  ] tR t^Yt o RRR/R lltRtV tR# )0test_getfullargspec_no_self.<locals>._rv_genericr/   Nc                   R # N )selfrJ   bcr/   argskwargss   &&&&$*,r5   _rvs5test_getfullargspec_no_self.<locals>._rv_generic._rvsZ   s    r8   r\   r:   r;   )__name__
__module____qualname____firstlineno__rb   __static_attributes____classdictcell____classdict__s   @r5   _rv_genericrY   Y   s     	 	 	r8   rm   r`   ra   r/   )r9   )rJ   r^   r_   rd   )r   r   __init__r   r   __call__rb   )pargspecrm   rv_objs       r5   test_getfullargspec_no_selfrs   P   s    1A$QZZ0G+vhdD"&*B0 1$QZZ0G+vz&:D$&($4 5  ]F$V[[1G+ovx&,vhL Mr8   c                     \         P                  ! R 4      p \         P                  ! V 4      p\        ^4      p\	        VP
                  \        J 4       \	        VP                  RJ 4       \	        VP                  RJ 4       \        V! \         P                  V 4      4      p\        W14       \        \        4      ;_uu_ 4        \        ^ 4      pRRR4       R#   + '       g   i     R# ; i)      $@NF)r'   arangesinr   r   _mapfuncmaprU   	_own_poollistr   rN   RuntimeError)in_argout_argrp   outs       r5   test_mapwrapper_serialr   c   s    YYs^FffVnG1AAJJ#AFFdNAKK5 !
q 
!C	|	$	$qM 
%	$	$	$s   CC*	c                      \        ^4      ;_uu_ 4       p V P                  \        P                  . RO4       RRR4       R#   + '       g   i     R# ; i)r:   N)r9   r:   r;   r<   )r   ry   mathrw   )rp   s    r5   	test_poolr   r   s+    	aA	dhh% 
s   #AA	c                     \         P                  ! R 4      p \         P                  ! V 4      p\        ^4      ;_uu_ 4       pV! \         P                  V 4      p\	        \        V4      V4       \        VP                  RJ 4       \        \        VP                  \        4      4       \        VP                  RJ4       RRR4       \        \        4      ;_uu_ 4       pX! \         P                  V 4       RRR4       \        XP                  \        J 4       \!        ^4      ;_uu_ 4       p\        VP"                  4      p\        VP                  RJ 4       VP%                  4        VP#                  \         P                  V 4      p\	        \        V4      V4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)ru   TNF)r'   rv   rw   r   r   r{   r   rz   
isinstancerU   PWLrx   rN   	ExceptionrK   r1   r   ry   close)r}   r~   rp   r   excinfoqs         r5   test_mapwrapper_parallelr   w   s/   YYs^FffVnG	A!T#Y(t#$
1663'(

$&' 
 
y	!	!W	"&&& 
" GLLJ&' 
aAquuu$%		 eeBFFF#T#Y( 
! 
 
"	! 
s&    A>F'F:+A2G'F7	:G
	G	c           	          Vf   Q h\        V\        4      '       g   Q h\        P                  ! \	        V! \        P
                  W,          4      4      4      # r[   )r   r   r'   arrayr{   rw   )r4   r^   workerss   &&&r5   user_of_workersr      sB    gz****88D/011r8   c                     \         P                  ! ^ \         P                  4      p \         P                  ! V R,          4      p\	        ^4      ;_uu_ 4       p\        WP                  ^R7      p\        W14       RRR4       \        V R^R7      p\        W14       \        V ^^R7      p\        W14       \        P                  ! \
        ^R7      p\        V! V 4      V4       \	        ^4      ;_uu_ 4       p\        P                  ! \
        ^VP                  R7      p\        V! V 4      V4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r          @)r   r^   N)r^   )r^   r   )
r'   linspacepirw   r   r   ry   r   	functoolspartial)arrreqrp   vpart_fs        r5   test__workers_wrapperr      s    
++a
C
&&s
C	aAC!4Q 
 	TQ/AQ!,A !4Fc"	aA""?aGVC[#& 
 
 
s   #D84:E8E	E	c                  l   \         P                  P                  4       p \        V ^^^dRR7      p\         P                  ! V4      ^8X  g   Q h\         P
                  ! V4      ^8X  g   Q hVP                  R8X  g   Q h\        V ^^dRR7      p\         P                  ! V4      ^8X  g   Q h\         P
                  ! V4      ^ 8X  g   Q hVP                  R8X  g   Q h\        V ^^^dRR7      p\         P                  ! V4      ^8X  g   Q h\         P
                  ! V4      ^8X  g   Q hVP                  R8X  g   Q h\        V ^^dRR7      p\         P                  ! V4      ^8X  g   Q h\         P
                  ! V4      ^ 8X  g   Q hVP                  R8X  g   Q h \         P                  P                  4       p \        T ^^^dRR7      p\         P                  ! T4      ^8X  g   Q h\         P
                  ! T4      ^8X  g   Q hTP                  R8X  g   Q h\        T ^^dRR7      p\         P                  ! T4      ^8X  g   Q h\         P
                  ! T4      ^ 8X  g   Q hTP                  R8X  g   Q h\        T ^^^dRR7      p\         P                  ! T4      ^8X  g   Q h\         P
                  ! T4      ^8X  g   Q hTP                  R8X  g   Q h\        T ^^dRR7      p\         P                  ! T4      ^8X  g   Q h\         P
                  ! T4      ^ 8X  g   Q hTP                  R8X  g   Q hR#   \         d     R# i ; i)r:   T)lowhighr/   endpoint)r   r/   r   FN)d   )	r'   rL   rM   r   maxminr,   default_rngAttributeError)rngr   s     r5   test_rng_integersr      s   
))


!C sd
CC66#;!66#;!99 sd
;C66#;!66#;!99 se
DC66#;!66#;!99 se
<C66#;!66#;!99ii##%
 sd
CC66#;!66#;!99 sd
;C66#;!66#;!99 se
DC66#;!66#;!99 se
<C66#;!66#;!993  s   L$ $L32L3c            	       L  a  ] tR t^t o ]P
                  P                  R^]P                  ! ^4      ]P                  ! ^4      ]P                  ! ^4      .4      R 4       t]P
                  P                  RR]P                  ! ^.4      ]! ^^4      .4      R 4       tR tRtV tR# )TestValidateIntrF   c                0    \        VR 4      pV^8X  g   Q hR# )rF   N)r   r]   rF   s   &&r5   test_validate_int!TestValidateInt.test_validate_int   s    !S!Avvr8         @c                    \         P                  ! \        R R7      ;_uu_ 4        \        VR4       RRR4       R#   + '       g   i     R# ; i)zn must be an integermatchrF   N)pytestr   	TypeErrorr   r   s   &&r5   test_validate_int_bad%TestValidateInt.test_validate_int_bad   s.    ]]9,BCC!S! DCCCs	   <A	c                    \         P                  ! \        R R7      ;_uu_ 4        \        RR^ 4       RRR4       R#   + '       g   i     R# ; i)z$n must be an integer not less than 0r   rF   N)r   r   r1   r   r]   s   &r5   test_validate_int_below_min+TestValidateInt.test_validate_int_below_min   s;    ]]: .; < <"c1%< < < <s	   =A	r\   N)re   rf   rg   rh   r   markparametrizer'   rB   int16r   r   r   r   r   ri   rj   rk   s   @r5   r   r      s     [[S1bhhqk288A;"LM N [[S3!x1~"FG" H"& &r8   r   c                      a  ] tR tRt o ]! RR4      R 4       t]! RRRR7      R 4       tR t]P                  R	 4       t
R
 tRtV tR# )TestRenameParameteri  oldnewc                    V# r[   r\   r]   r   s   &&r5   old_keyword_still_accepted.TestRenameParameter.old_keyword_still_accepted      
r8   z1.9.0)dep_versionc                    V# r[   r\   r   s   &&r5   old_keyword_deprecated*TestRenameParameter.old_keyword_deprecated  r   r8   c                   V P                  ^
4      pV P                  ^
R7      pV P                  ^
R7      pYu;8X  d   Tu;8X  d	   ^
8X  g   Q h Q h\        P                  ! R4      p\        P                  ! \
        VR7      ;_uu_ 4        V P                  ^
R7       RRR4       \        P                  ! R4      p\        P                  ! \
        VR7      ;_uu_ 4        V P                  ^
^
R7       RRR4       \        P                  ! \
        VR7      ;_uu_ 4        V P                  ^
^
R7       RRR4       \        P                  ! \
        VR7      ;_uu_ 4        V P                  ^
^
R7       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lx; i  + '       g   i     R# ; i)	r   r   r   z.old_keyword_still_accepted() got an unexpectedr   
unexpectedNz)old_keyword_still_accepted() got multipler   r   )r   reescaper   r   r   )r]   res1res2res3messages   &    r5   test_old_keyword_still_accepted3TestRenameParameter.test_old_keyword_still_accepted  s>   ..r2..2.6..2.6)t)r))))) ))LM]]9G44++r+: 5 ))GH]]9G44++BB+7 5]]9G44++BB+7 5]]9G44+++; 54 54
 5444444s0   E> F F$ F7>F	F!	$F4	7G	c                    ^ RI Hp V! 4       # )r   )Lock)	threadingr   )r]   r   s   & r5   
kwarg_lockTestRenameParameter.kwarg_lock$  s    "vr8   c                   R pV P                  ^
4      pV P                  ^
R7      pT;_uu_ 4        \        P                  ! \        VR7      ;_uu_ 4        V P                  ^
R7      pRRR4       RRR4       Y4u;8X  d   Xu;8X  d	   ^
8X  g   Q h Q h\        P
                  ! R4      p\        P                  ! \        VR7      ;_uu_ 4        V P                  ^
R7       RRR4       \        P
                  ! R4      p\        P                  ! \        VR7      ;_uu_ 4        V P                  ^
^
R7       RRR4       T;_uu_ 4        \        P                  ! \        VR7      ;_uu_ 4        \        P                  ! \        VR7      ;_uu_ 4        V P                  ^
^
R7       RRR4       RRR4       RRR4       T;_uu_ 4        \        P                  ! \        VR7      ;_uu_ 4        \        P                  ! \        VR7      ;_uu_ 4        V P                  ^
^
R7       RRR4       RRR4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELO; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     EL	; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)	z+Use of keyword argument `old` is deprecatedr   r   r   Nz*old_keyword_deprecated() got an unexpectedr   z%old_keyword_deprecated() got multipler   )r   r   warnsDeprecationWarningr   r   r   r   )r]   r   dep_msgr   r   r   r   s   &&     r5   test_old_keyword_deprecated/TestRenameParameter.test_old_keyword_deprecated)  s    @**2.**r*2Z0@@6626>D A  )t)r))))) ))HI]]9G44''2'6 5
 ))CD]]9G44'''3 5Zy88LL!37CC///; D 9 
 Zy88LL!37CC//BB/? D 9 Z' A@@ ZZ 544 544 DC 98 ZZ DC 98 ZZs   %II 	(II("I<%J6-%J#	J&J#	.J6%K0-%K	K
&K	.K0 I	II%	(I9	<J	J J#	#J3.J66K	
KK	K-(K00L	r\   N)re   rf   rg   rh   r   r   r   r   r   fixturer   r   ri   rj   rk   s   @r5   r   r     sf     
 ue$ % ue9 :<* ^^ @ @r8   r   c                     a  ] tR tRt o R tR t]R 4       t]P                  P                  RRR7      ]P                  P                  R. RO4      R	 4       4       t]P                  P                  R
RR7      ]P                  P                  RRR7      ]P                  P                  RRR7      ]P                  P                  RRR7      R 4       4       4       4       tRtV tR# )TestContainsNaNiJ  c                   \         P                  ! ^^^\         P                  .4      p\        V4      '       g   Q h\        VRR7      '       g   Q h\        VRR7      '       g   Q h\        VR,          4      '       d   Q h\        VR,          RR7      '       d   Q h\        VR,          RR7      '       d   Q h\        P
                  ! \        RR7      ;_uu_ 4        \        VRR7       RRR4       \        VR,          RR7      '       d   Q h\        P
                  ! \        R	R7      ;_uu_ 4        \        VR
R7       RRR4       R#   + '       g   i     Lh; i  + '       g   i     R# ; i)r9   	propagate)
nan_policyomit:Nr;   NThe input contains nan valuesr   raiseNznan_policy must be one ofnan)r'   r   r   r   r   r   r1   )r]   r"   s   & r5   test_policyTestContainsNaN.test_policyK  s   xxAq"&&)*T""""Tk::::Tf5555 b**** bkBBBB bf====]]:-LMM$73 N bg>>>>]]:-HII$51 JI	 NM JIIs   E
2E
E	E.	c                   \        \        P                  ! . \        R 7      4      '       d   Q h\        \        P                  ! . RO4      4      '       d   Q h\        \        P                  ! ^^.^^..4      4      '       d   Q h\        \        P                  ! . RO4      4      '       d   Q h\        \        P                  ! . R	O4      4      '       d   Q h\        \        P                  ! RR\        P                  .4      4      '       g   Q h\        \        P                  ! RR\        P                  .4      4      '       g   Q h\        \        P                  ! \        P                  R\        P                  .4      4      '       g   Q h\        \        P                  ! RR.RR..4      4      '       d   Q h\        \        P                  ! RR.R\        P                  ..4      4      '       g   Q hR# )
r(         ?r         @               @r   N)r9   r:   r;   )r   r   r   )r   r   r   )r   r'   r   floatr   r   s   &r5   test_contains_nan!TestContainsNaN.test_contains_nan\  sZ    "E!:;;;; !)!45555 Aq6Aq6*:!;<<<< ,!78888 -!89999RXXr3&789999RXXr2rvv&678888RXXrvvr266&:;<<<< B8b"X*>!?@@@@RXXBx"bff&>?@@@@r8   c                   \         P                  ! ^^R\         P                  .4      p\        V4      '       d   Q h\         P                  ! ^^R\         P                  .RR7      p\        V4      '       g   Q h\         P                  ! R^.^\         P                  ..4      p\        V4      '       d   Q h\         P                  ! R^.^\         P                  ..RR7      p\        V4      '       g   Q hR# )r9   3objectr   1N)r'   r   r   r   )r]   data1data2data3data4s   &    r5   test_contains_nan_with_strings.TestContainsNaN.test_contains_nan_with_stringsl  s    !QRVV,- ''''!QRVV,H=U####3(QK01 ''''3(QK0AU####r8   Tzlazy backends tested separately)
eager_onlyreasonr   c                   \         P                  P                  R 4      pVP                  RR7      pVP                  V4      p\	        WR4      '       d   Q h\
        P                  ! V4      R,          P                  \         P                  4      pVR8X  d;   \        P                  ! \        RR7      ;_uu_ 4        \	        WR4       RRR4       R# VR8X  da   \        V4      '       gP   \        P                  ! \        RR7      ;_uu_ 4        \	        WR4       RRR4       \	        WRRR	7      '       g   Q hR# VR
8X  d   \	        WR4      '       g   Q hR# R#   + '       g   i     R# ; i  + '       g   i     LY; i)   }? r/   r   r   r   Nr   z!nan_policy='omit' is incompatibleTxp_omit_okayr   r:   r;   r<   r9   r:   r9   )r'   rL   r   asarrayr   xpxatsetr   r   r   r1   r
   )r]   xpr   r   x0r4   s   &&&   r5   test_array_apiTestContainsNaN.test_array_apiz  s
    ii##O4ZZYZ'JJrN ////FF1Ig""266* z1PQQa, RQ6!(2,,z1TUUa, V TBBBB;& //// ' RQQ VUs   ;EE*E'	*E:	numpyzlazy backends only)r  cupyarray_api_stricttorchc                (   \         P                  P                  R 4      pVP                  RR7      pVP                  V4      p\	        \        V4      VP                  R4      4       \	        \        VR4      VP                  R4      4       \	        \        VRRR7      VP                  R4      4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        VR4       R	R	R	4       \        P                  ! \        VR7      ;_uu_ 4        \        VR
4       R	R	R	4       \        P                  ! V4      R,          P                  \         P                  4      p\	        \        V4      VP                  R4      4       \	        \        VR4      VP                  R4      4       \	        \        VRRR7      VP                  R4      4       \        P                  ! \        VR7      ;_uu_ 4        \        VR4       R	R	R	4       \        P                  ! \        VR7      ;_uu_ 4        \        VR
4       R	R	R	4       R	#   + '       g   i     ELh; i  + '       g   i     ELC; i  + '       g   i     Ls; i  + '       g   i     R	# ; i)r  r  Fr   r   Tr  znot supported for lazy arraysr   Nr   r  r  )r'   rL   r   r	  r	   r   r   r   r   r
  r  r  r   )r]   r  r   r  r4   r   s   &&    r5   test_array_api_lazy#TestContainsNaN.test_array_api_lazy  s   
 ii##O4ZZYZ'JJrNa("**U*;<a5rzz%7HIadCRZZPUEVW/]]9E22!V$ 3]]9E22!W% 3 FF1Ig""266*a("**T*:;a5rzz$7GHadCRZZPTEUV]]9E22!V$ 3]]9E22!W% 32 322222 32222s0   II5I-.J I	I*	-I=	 J	r\   N)r   r   r   )re   rf   rg   rh   r   r   r   r   r   r   skip_xp_backendsr   r  r  ri   rj   rk   s   @r5   r   r   J  s     2"A  $ $ [[!!T)J " L[[\+IJ0 KL0$ [[!!'2F!G[[!!&1E!F[[!!"4=Q!R[[!!'2F!G& H S G H&r8   r   c                  D    R  p \        V 4      ! 4       p. ROpW8X  g   Q hR# )c                      . ROp V # )np.random.default_rng(8989843))r  np.random.default_rng(seed)z8np.random.default_rng(0x9a71b21474694f919882289dc1559ca) bob r\   )liness    r5   mock_str(test__rng_html_rewrite.<locals>.mock_str  s    
 r8   N)np.random.default_rng()r  r!  r  )r   )r  resrefs      r5   test__rng_html_rewriter$    s)     H
%
'CC ::r8   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t] PB                  PE                  ^
4      ] PB                  PF                  ] PB                  PI                  R]R3]R3]R 3]R3]R3]
R3]R3]R3]R 3]R 3]R 3]R 3]R 3]R 3]R 3]R 3]R 3]R 3]R 3]R 3]R3]R3]R3]R3]R3]R3.4      R! 4       4       4       t%R"t&V t'R## )$TestTransitionToRNGi  c                    \         P                  P                  R 4      p\        P                  P
                  ! VP                  RR7      ^3/ VB #    2Faj  r  )   r;   r'   rL   r   r   vqkmeans2r]   ra   r   s   &, r5   kmeansTestTransitionToRNG.kmeans  >    ii##$78zz!!#**'*":AHHHr8   c                    \         P                  P                  R 4      p\        P                  P
                  ! VP                  RR7      ^3/ VB # r(  r+  r.  s   &, r5   r-  TestTransitionToRNG.kmeans2  r1  r8   c                    \         P                  P                  R 4      pVP                  R4      w  r4p\        P                  ! W53/ VB pV! V4      # )r)  )r;   r   )r'   rL   r   r   BarycentricInterpolator)r]   ra   r   x1x2y1fs   &,     r5   barycentricTestTransitionToRNG.barycentric  sG    ii##$78ZZ(
//A&Aur8   c                    \         P                  P                  R 4      p\        P                  ! VP                  R4      ^3/ VB # r)  r   r   )r'   rL   r   r   clarkson_woodruff_transformr.  s   &, r5   r?  /TestTransitionToRNG.clarkson_woodruff_transform  s8    ii##$7811#**X2FTVTTr8   c                    \         P                  P                  R 4      p\        P                  ! \        P
                  VP                  ^4      3/ VB P                  # r)  )r'   rL   r   r   basinhoppingrosenr4   r.  s   &, r5   rC   TestTransitionToRNG.basinhopping  sA    ii##$78$$X^^SZZ]MfMOOOr8   c                   \         P                  P                  R 4      p\        P                  ! VP                  ^4      ) ^
,          VP                  ^4      ^
,          4      pV! \        P
                  V3/ VB P                  # rB  )r'   rL   r   r   BoundsrD  r4   )r]   funra   r   boundss   &&,  r5   optTestTransitionToRNG.opt  s_    ii##$78#**Q-"!4cjjmb6HI8>>64V4666r8   c                D    V P                   ! \        P                  3/ VB # r[   )rJ  r   differential_evolutionr]   ra   s   &,r5   rM  *TestTransitionToRNG.differential_evolution  s    xx77B6BBr8   c                D    V P                   ! \        P                  3/ VB # r[   )rJ  r   dual_annealingrN  s   &,r5   rQ  "TestTransitionToRNG.dual_annealing  s    xx//:6::r8   c                    \         P                  P                  R 4      pVP                  ^4      p\        P                  ! \        P
                  \        P                  V3RR/VB # )r)  	directionrL   )r'   rL   r   r   
check_gradrD  	rosen_der)r]   ra   r   r4   s   &,  r5   rU  TestTransitionToRNG.check_grad  s[    ii##$78JJqM""8>>83E3Eq A-5A9?A 	Ar8   c                N    \         P                  ! RRR/VB P                  4       # )r   densityr   )r>  )r   random_arraytoarrayrN  s   &,r5   rZ   TestTransitionToRNG.random_array  s$    ""CSCFCKKMMr8   c                N    \         P                  ! RRR/VB P                  4       # r   rY  r   r>  )r   rL   r[  rN  s   &,r5   rL   TestTransitionToRNG.random  s"    }};S;F;CCEEr8   c                N    \         P                  ! RRR/VB P                  4       # r^  )r   randr[  rN  s   &,r5   ra  TestTransitionToRNG.rand  s"    {{939&9AACCr8   c                    \         P                  P                  R 4      pVP                  R4      p\        P                  P
                  ! V3/ VB # r=  )r'   rL   r   r   r   svds)r]   ra   r   As   &,  r5   rd  TestTransitionToRNG.svds  s?    ii##$78JJx }}!!!.v..r8   c                r    \         P                  P                  P                  ! R/ VB P	                  4       # )r;   )r;   )r   	transformRotationrL   	as_matrixrN  s   &,r5   random_rotation#TestTransitionToRNG.random_rotation  s+      ))00=f=GGIIr8   c                    \         P                  P                  R 4      pVP                  ^d4      p\        P                  ! \        P
                  V3/ VB P                  # rB  )r'   rL   r   r   goodness_of_fitlaplacepvaluer]   ra   r   r"   s   &,  r5   rn  #TestTransitionToRNG.goodness_of_fit  sF    ii##$78zz#$$U]]DCFCJJJr8   c                    \         P                  P                  R 4      p\        VP                  R4      4      pR p\        P
                  ! W43/ VB P                  # )r)  c                 h    \         P                  ! WR 7      \         P                  ! WR 7      ,
          # ))axis)r'   mean)r4   yru  s   &&&r5   	statistic7TestTransitionToRNG.permutation_test.<locals>.statistic  s    "''!*?"''!BW*W#Wr8   r:   r   )r'   rL   r   tupler   permutation_testrp  )r]   ra   r   r"   rx  s   &,   r5   r|  $TestTransitionToRNG.permutation_test   sI    ii##$78SZZ)*W%%d@@GGGr8   c                    \         P                  P                  R 4      pVP                  ^d4      3p\        P                  ! V\         P
                  3/ VB P                  # rB  )r'   rL   r   r   	bootstraprv  confidence_intervalrq  s   &,  r5   r  TestTransitionToRNG.bootstrap  sG    ii##$78

3!tRWW77KKKr8   c                    \         P                  P                  R 4      pVP                  R4      w  r4p\        P                  ! W43RV/VB P
                  # )r)  control)r;   r   )r'   rL   r   r   dunnettrp  )r]   ra   r   r4   rw  r  s   &,    r5   r  TestTransitionToRNG.dunnett  sH    ii##$78

8,g}}Q=7=f=DDDr8   c           	        R  p\         P                  ! \        P                  ) ^\        P                  ,          R7      \         P                  ! \        P                  ) ^\        P                  ,          R7      \         P                  ! \        P                  ) ^\        P                  ,          R7      .p\         P                  ! RRVRRRV/VB pVP
                  # )c                    \         P                  ! V ^ ,          4      ^\         P                  ! V ^,          4      ^,          ,          ,           RV ^,          ^,          ,          \         P                  ! V ^ ,          4      ,          ,           # )r   g?)r'   rw   )r4   s   &r5   
f_ishigami5TestTransitionToRNG.sobol_indices.<locals>.f_ishigami  sX    266!A$<!bffQqTla6G2G#G%(AaDAI%6!%E$F Gr8   )locscalerV   rF   i   distsr\   )r   uniformr'   r   sobol_indicesfirst_order)r]   ra   r  r  r"  s   &,   r5   r  !TestTransitionToRNG.sobol_indices  s    	GBEE6RUU;BEE6RUU;BEE6RUU;= !!QzQTQQ&Qr8   c                8    V! RR ^/VB pVP                  ^4      # )dr\   )rL   )r]   enginera   qrngs   &&, r5   
qmc_engineTestTransitionToRNG.qmc_engine  s"    $$V${{1~r8   c                X    V P                   ! \        P                  P                  3/ VB # r[   )r  r   qmcHaltonrN  s   &,r5   haltonTestTransitionToRNG.halton  s     uyy//:6::r8   c                X    V P                   ! \        P                  P                  3/ VB # r[   )r  r   r  SobolrN  s   &,r5   sobolTestTransitionToRNG.sobol   s    uyy9&99r8   c                X    V P                   ! \        P                  P                  3/ VB # r[   )r  r   r  LatinHypercuberN  s   &,r5   latin_hypercube#TestTransitionToRNG.latin_hypercube#  s     uyy77B6BBr8   c                X    V P                   ! \        P                  P                  3/ VB # r[   )r  r   r  PoissonDiskrN  s   &,r5   poisson_disk TestTransitionToRNG.poisson_disk&  s     uyy44???r8   c                h    \         P                  P                  ! ^ .3/ VB pVP                  ^4      # )r   )r   r  MultivariateNormalQMCrL   r]   ra   Xs   &, r5   multivariate_normal_qmc+TestTransitionToRNG.multivariate_normal_qmc)  s+    II++QC:6:xx{r8   c                l    \         P                  P                  ! R R .^3/ VB pVP                  ^4      # )g      ?)r   r  MultinomialQMCrL   r  s   &, r5   multinomial_qmc#TestTransitionToRNG.multinomial_qmc-  s/    II$$c3Z=f=xx{r8   c                    \         P                  P                  R 4      p\        VP                  R4      4      p\        P
                  ! R/ VB p\        P                  ! VRV/ P                  # )r)  methodrz  r\   )r'   rL   r   r{  r   PermutationMethodpearsonrrp  )r]   ra   r   r"   r  s   &,   r5   permutation_method&TestTransitionToRNG.permutation_method1  sW    ii##$78SZZ)*((262~~t3F3:::r8   c                    \         P                  P                  R 4      p\        VP                  R4      4      p\        P
                  ! V!  p\        P                  ! R/ VB pVP                  VR7      # )r)  )r  rz  r\   )r'   rL   r   r{  r   r  BootstrapMethodr  )r]   ra   r   r"   r"  r  s   &,    r5   bootstrap_method$TestTransitionToRNG.bootstrap_method7  s_    ii##$78SZZ)*nnd#&&00&&f&55r8   zmethod, arg_nameseedrandom_statec           
        \         P                  P                  R 4       Rp\         P                  P                  V4      pRp\        P
                  ! \        VR7      ;_uu_ 4        V! V 3/ RWBV/B  R R R 4       \         P                  P                  V4      pV! WR7      pV! WR7      p\        Wv4       VP                  R9   d   V! V 3/ W#/B p\        W4       R # \         P                  P                  V4      pV! V 3/ W$/B pV! V 3/ W#/B pVP                  R9   dK   V! V 3/ V\         P                  P                  V4      /B p	\        W4       V! V 3/ W#/B p
\        W4       R # \         P                  P                  V4       V! V 3/ VR /B p\        Wv4       \        W4       R #   + '       g   i     ELE; i)Nl   p_ z3got multiple values for argument now known as `rng`r   r   )r   >   r  r  >   r  r  r  r  r  r  )
r'   rL   r  r   r   r   r   r   re   rM   )r]   r  arg_namer  r   r   r   r   r   res1bres2bs   &&&        r5   test_rng_deterministic*TestTransitionToRNG.test_rng_deterministic>  s   > 			tii##D)G]]9G4448E3$78 5 ii##D)d$d%T ??::$38"23D$ii##D)d.xo.d/x./?? M M 4KHbii.C.CD.I#JKE%44H#34E%
		td/x./T T ? 544s   'F00G	r\   N)(re   rf   rg   rh   r/  r-  r:  r?  rC  rJ  rM  rQ  rU  rZ  rL   ra  rd  rk  rn  r|  r  r  r  r  r  r  r  r  r  r  r  r  r   r   	fail_slowslowr   r  ri   rj   rk   s   @r5   r&  r&    s    IIUP7
C;ANFD/
JK
HL
E
;:C@;6 [[2[[[[/		&	n%	$f-	v	(	 	V	~&	 	~	~	.)	.)	>*	N#	^,	>*	.!	'			&!	v	 &)	&!52 8%!9  <%!r8   r&  )r9   N)@multiprocessingr   multiprocessing.poolr   r   r   r   	fractionsr   r  r'   numpy.testingr   r   r   r   rN   scipy.conftestr   scipy._lib._array_apir	   r
   scipy._lib._utilr   r   r   r   r   r   r   r   r   r   r   scipy._lib.array_api_extra_libarray_api_extrar
  "scipy._lib.array_api_extra.testingr   scipyr   r   r   r   r   r   r   r   r  rH   rS   rs   r   r   r   r   r   r   r   r   r   r$  r&  r\   r8   r5   <module>r     s      , 	     /  * . ;R R R R ) ( ? P P P    >  >F1"M&&
)@ 2 2'.7 t& &$F@ F@R`& `&F*! !r8   