
    (phE`                         S SK Jr  S SKJr  S SKrS SKrS SKJr  S SKr	S SK
JrJr  S SKrS SKJr  S SKJs  Jr  S SKJrJrJr  S SKJrJr  S SKJrJrJrJrJr  S S	K J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+  S S
K,J-r-J.r.J/r/J0r0J1r1J2r2J3r3  \Rh                  Rj                  r5\Rh                  Rl                  S 5       r7S r8S r9S r:S r;S r<S r= " S S5      r> " S S5      r? " S S5      r@S rA " S S5      rB " S S5      rCg)    )PoolN)Fraction)assert_equalassert_)raises)given
strategiesreproduce_failure)array_api_compatibleskip_xp_invalid_arg)xp_assert_equalxp_assert_closeis_numpyxp_copyis_array_api_strict)_aligned_zeroscheck_random_state
MapWrappergetfullargspec_no_selfFullArgSpecrng_integers_validate_int_rename_parameter_contains_nan_rng_html_rewrite
_lazywhere)clusterinterpolatelinalgoptimizesparsespatialstatsc                      Sn S nS Hf  nS H]  nS HT  n[         R                  [         R                  4 H-  nUSSSU44 H  n[        U 5       H  nU" XeXB5        M     M      M/     MV     M_     Mh     g )	N
   c                 z   [        XX#45      n[        XX#S9nUc   [        R                  " U5      R                  n[        UR                  S   S   U-  S5        [        U S5      (       a  [        UR                  X5        O[        UR                  U 4U5        [        UR                  U5        US:X  a!  [        UR                  R                  U5        g US:X  a2  UR                  S:  a!  [        UR                  R                  U5        g g Uc!  [        UR                  R                  U5        g [        5       e)N)aligndatar   __len__CF)reprr   npdtype	alignmentr   __array_interface__hasattrshaper   flagsc_contiguoussizef_contiguous
ValueError)r2   r.   orderr'   err_msgxs         N/var/www/html/venv/lib/python3.13/site-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)r   r?   rA      )r*   r+   Nr?   r@   rA   )r-   uint8float64range)niterr<   r'   nr8   r.   r2   js           r;   test__aligned_zerosrN      sr    E. 3A) hh

3E"#aAq\!2!&uA!%= ". "3 4 *  3r>   c                  d   [        S5      n [        [        U 5      [        R                  R
                  5        [        U 5      n [        [        U 5      [        R                  R
                  5        [        S 5      n [        [        U 5      [        R                  R
                  5        [        [        [         S5        [        R                  R                  [        R                  R                  5       5      n[        U5      n [        [        U 5      [        R                  R                  5        g )Nr?   a)
r   r   typer-   randomRandomStateassert_raisesr7   	GeneratorPCG64)rsirgs     r;   test_check_random_staterY   >   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//0r>   c                  l   [        S5      n [        U R                  5      n[        U[	        S/S S S/ S 0 5      5        [        U R
                  5      n[        U[	        SS/S S S / S 0 5      5         " S S5      nU" 5       n[        UR                  5      n[        U[	        / SQS	S
SS/SS 00 5      5        g )Nr?   pool)r?   funciterablec                   &    \ rS rSrSSS.S jjrSrg)0test_getfullargspec_no_self.<locals>._rv_genericX   Nr5   c                    g N )selfrP   bcr5   argskwargss          r;   _rvs5test_getfullargspec_no_self.<locals>._rv_generic._rvsY   s    r>   rd   r@   rA   )__name__
__module____qualname____firstlineno__rj   __static_attributes__rd   r>   r;   _rv_genericr_   X   s    	 	 	r>   rr   )rP   rf   rg   rh   ri   rl   r5   )r   r   __init__r   r   __call__rj   )pargspecrr   rv_objs       r;   test_getfullargspec_no_selfrx   O   s    1A$QZZ0G+vhdD"&*B0 1$QZZ0G+vz&:D$&($4 5  ]F$V[[1G+ovx&,vhL Mr>   c                     [         R                  " S5      n [         R                  " U 5      n[        S5      n[	        UR
                  [        L 5        [	        UR                  S L 5        [	        UR                  SL 5        [        U" [         R                  U 5      5      n[        X15        [        [        5         [        S5      nS S S 5        g ! , (       d  f       g = f)N      $@r?   Fr   )r-   arangesinr   r   _mapfuncmapr[   	_own_poollistr   rT   RuntimeError)in_argout_argru   outs       r;   test_mapwrapper_serialr   b   s    YYs^FffVnG1AAJJ#AFFdNAKK5 !
q 
!C	|	$qM 
%	$	$s   ;C
Cc                      [        S5       n U R                  [        R                  / SQ5        S S S 5        g ! , (       d  f       g = f)Nr@   )r?   r@   rA   rB   )r   r~   mathr|   )ru   s    r;   	test_poolr   q   s'    	aA	dhh% 
s	   #8
Ac                     [         R                  " S5      n [         R                  " U 5      n[        S5       nU" [         R                  U 5      n[	        [        U5      U5        [        UR                  SL 5        [        [        UR                  [        5      5        [        UR                  S L5        S S S 5        [        [        5       nW" [         R                  U 5        S S S 5        [        WR                  [        L 5        [!        S5       n[        UR"                  5      n[        UR                  SL 5        UR%                  5         UR#                  [         R                  U 5      n[	        [        U5      U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nrz   r@   TF)r-   r{   r|   r   r   r   r   r   
isinstancer[   PWLr}   rT   	ExceptionrQ   r7   r   r~   close)r   r   ru   r   excinfoqs         r;   test_mapwrapper_parallelr   v   s&   YYs^FffVnG	A!T#Y(t#$
1663'(

$&' 
 
y	!W	"&&& 
" GLLJ&' 
aAquuu$%		 eeBFFF#T#Y( 
! 
 
"	! 
s%   A>FFA2F0
F
F-0
F>c                     [         R                  R                  5       n [        U SSSSS9n[         R                  " U5      S:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   e[        U SSSS9n[         R                  " U5      S:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   e[        U SSSS	S9n[         R                  " U5      S
:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   e[        U SSS	S9n[         R                  " U5      S
:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   e [         R                  R                  5       n [        U SSSSS9n[         R                  " U5      S:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   e[        U SSSS9n[         R                  " U5      S:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   e[        U SSSS	S9n[         R                  " U5      S
:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   e[        U SSS	S9n[         R                  " U5      S
:X  d   e[         R
                  " U5      S:X  d   eUR                  S:X  d   eg ! [         a     g f = f)Nr@      d   T)lowhighr5   endpoint)r   )r   r5   r   r   FrB   )	r-   rR   rS   r   maxminr2   default_rngAttributeError)rngarrs     r;   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   :K3 3
L ?L c            	       @   \ rS rSr\R
                  R                  SS\R                  " S5      \R                  " S5      \R                  " S5      /5      S 5       r\R
                  R                  SS\R                  " S/5      \" SS5      /5      S 5       rS rS	rg
)TestValidateInt   rL   rB   c                 ,    [        US5      nUS:X  d   eg )NrL   rB   )r   re   rL   s     r;   test_validate_int!TestValidateInt.test_validate_int   s    !S!Avvr>   g      @r?   c                     [         R                  " [        SS9   [        US5        S S S 5        g ! , (       d  f       g = f)Nzn must be an integermatchrL   )pytestr   	TypeErrorr   r   s     r;   test_validate_int_bad%TestValidateInt.test_validate_int_bad   s(    ]]9,BC!S! DCCs   0
>c                     [         R                  " [        SS9   [        SSS5        S S S 5        g ! , (       d  f       g = f)Nz$n must be an integer not less than 0r   rL   r   )r   r   r7   r   )re   s    r;   test_validate_int_below_min+TestValidateInt.test_validate_int_below_min   s1    ]]: .; <"c1%< < <s   1
?rd   N)rm   rn   ro   rp   r   markparametrizer-   rH   int16arrayr   r   r   r   rq   rd   r>   r;   r   r      s    [[S1bhhqk288A;"LM N [[S3!x1~"FG" H"&r>   r   c                   ~    \ rS rSr\" SS5      S 5       r\" SSSS9S 5       rS r\R                  S	 5       r
S
 rSrg)TestRenameParameter   oldnewc                     U$ rc   rd   re   r   s     r;   old_keyword_still_accepted.TestRenameParameter.old_keyword_still_accepted       
r>   z1.9.0)dep_versionc                     U$ rc   rd   r   s     r;   old_keyword_deprecated*TestRenameParameter.old_keyword_deprecated   r   r>   c                     U R                  S5      nU R                  SS9nU R                  SS9nXs=:X  a  Us=:X  a  S:X  d   e   e[        R                  " S5      n[        R                  " [
        US9   U R                  SS9  S S S 5        [        R                  " S5      n[        R                  " [
        US9   U R                  SSS9  S S S 5        [        R                  " [
        US9   U R                  SSS9  S S S 5        [        R                  " [
        US9   U R                  SSS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nc= f! , (       d  f       g = f)	Nr%   r   r   z.old_keyword_still_accepted() got an unexpectedr   
unexpectedz)old_keyword_still_accepted() got multipler   r   )r   reescaper   r   r   )re   res1res2res3messages        r;   test_old_keyword_still_accepted3TestRenameParameter.test_old_keyword_still_accepted   s/   ..r2..2.6..2.6)t)r))))) ))LM]]9G4++r+: 5 ))GH]]9G4++BB+7 5]]9G4++BB+7 5]]9G4+++; 54 54
 544444s0   7D<>E0E"E/<
E

E
E,/
E=c                     SSK Jn  U" 5       $ )Nr   )Lock)	threadingr   )re   r   s     r;   
kwarg_lockTestRenameParameter.kwarg_lock  s    "vr>   c                    SnU R                  S5      nU R                  SS9nU   [        R                  " [        US9   U R                  SS9nS S S 5        S S S 5        X4s=:X  a  Ws=:X  a  S:X  d   e   e[        R
                  " S5      n[        R                  " [        US9   U R                  SS9  S S S 5        [        R
                  " S5      n[        R                  " [        US9   U R                  SSS9  S S S 5        U   [        R                  " [        US9   [        R                  " [        US9   U R                  SSS9  S S S 5        S S S 5        S S S 5        U   [        R                  " [        US9   [        R                  " [        US9   U R                  SSS	9  S S S 5        S S S 5        S S S 5        g ! , (       d  f       GN}= f! , (       d  f       GN= f! , (       d  f       GN:= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)
Nz+Use of keyword argument `old` is deprecatedr%   r   r   r   z*old_keyword_deprecated() got an unexpectedr   z%old_keyword_deprecated() got multipler   )r   r   warnsDeprecationWarningr   r   r   r   )re   r   dep_msgr   r   r   r   s          r;   test_old_keyword_deprecated/TestRenameParameter.test_old_keyword_deprecated
  s    @**2.**r*20@6626>D A  )t)r))))) ))HI]]9G4''2'6 5
 ))CD]]9G4'''3 5y8LL!37C///; D 9 
 y8LL!37C//BB/? D 9 Z' A@ Z 54 54 DC 98 Z DC 98 Zs   GGG&G)-G;H/"H<HHH/'I"II ,I4I"
G	G
G&)
G8;
H

HH
H,	(H//
H= 
I
I
I	I""
I0rd   N)rm   rn   ro   rp   r   r   r   r   r   fixturer   r   rq   rd   r>   r;   r   r      s]    
 ue$ % ue9 :<* ^^ @r>   r   c                       \ rS rSrS rS r\S 5       r\" SSS9\	R                  R                  S5      \\	R                  R                  S	/ S
Q5      S 5       5       5       5       rSrg)TestContainsNaNTesti+  c                    [         R                  " SSS[         R                  /5      n[        USS9u  p#U(       d   eUS:X  d   e[        USS9u  p#U(       d   eUS:X  d   eSn[        R
                  " [        US9   [        US	S9  S S S 5        S
n[        R
                  " [        US9   [        USS9  S S S 5        g ! , (       d  f       N== f! , (       d  f       g = f)Nr?   r@   rA   	propagate
nan_policyomitzThe input contains nan valuesr   raiseznan_policy must be one ofnan)r-   r   r   r   r   r   r7   )re   r(   contains_nanr   msgs        r;   test_policyTestContainsNaNTest.test_policy-  s    xxAq"&&)*#0+#N |[(((#0&#I |V###-]]:S1$73 2 *]]:S1$51 21	 21 21s   >C ,C 
C
Cc                 N   [         R                  " / SQ5      n[        U5      S   (       a   e[         R                  " SSS[         R                  /5      n[        U5      S   (       d   e[         R                  " [         R                  SS[         R                  /5      n[        U5      S   (       d   e[         R                  " SS/SS//5      n[        U5      S   (       a   e[         R                  " SS/S[         R                  //5      n[        U5      S   (       d   eg )N)r?   r@   rA   r   r?   r@   rA   rB   )r-   r   r   r   )re   data1data2data3data4data5s         r;   test_contains_nan%TestContainsNaNTest.test_contains_nan@  s    # '***!Q266*+U#A&&&"&&!Q/0U#A&&&1a&1a&)* '***1a&1bff+./U#A&&&r>   c                    [         R                  " SSS[         R                  /5      n[        U5      S   (       a   e[         R                  " SSS[         R                  /SS9n[        U5      S   (       d   e[         R                  " SS/S[         R                  //5      n[        U5      S   (       a   e[         R                  " SS/S[         R                  //SS9n[        U5      S   (       d   eg )	Nr?   r@   3r   object)r.   1rA   )r-   r   r   r   )re   r   r   r   r   s        r;   test_contains_nan_with_strings2TestContainsNaNTest.test_contains_nan_with_stringsP  s    !QRVV,- '***!QRVV,H=U#A&&&3(QK01 '***3(QK0AU#A&&&r>   	jax.numpy)JAX arrays do not support item assignmentreasonskip_xp_backendsr   )r   r   r   c                 h   [         R                  R                  S5      nUR                  SS9nUR                  U5      n[	        XQS9n[         R
                  US'   [        XRS9u  pxU(       a   eX:X  d   eUS:X  a.  Sn	[        R                  " [        U	S	9   [        XbS9  S S S 5        g US
:X  a>  [        U5      (       d.  Sn	[        R                  " [        U	S	9   [        XbS9  S S S 5        g US:X  a  [        XbS9u  pxU(       d   eX:X  d   eg g ! , (       d  f       g = f! , (       d  f       g = f)Nl   }? )r@   rA   rB   ra   )xp)r?   r@   r?   r   r   zThe input contains...r   r   z%`nan_policy='omit' is incompatible...r   )r-   rR   r   asarrayr   r   r   r   r   r7   r   )
re   r   r   r   x0r:   x_nanr   nan_policy_outr   s
             r;   test_array_api"TestContainsNaNTest.test_array_api^  s    ii##O4ZZYZ'JJrN!g'4Q'N$+++ -Gz9e; :96!(2,,=Gz9e; :9;&+8,.(L<!///	 ' :9 :9s   
D
D#
D #
D1rd   N)rm   rn   ro   rp   r   r   r   r   r   r   r   usefixturesr   r   r  rq   rd   r>   r;   r   r   +  s{    2&'  ' ' kHJ[[/0[[\+IJ0 K  1J
0r>   r   c                  @    S n [        U 5      " 5       n/ SQnX:X  d   eg )Nc                      / SQn U $ )N)znp.random.default_rng(8989843)np.random.default_rng(seed)z8np.random.default_rng(0x9a71b21474694f919882289dc1559ca) bob rd   )liness    r;   mock_str(test__rng_html_rewrite.<locals>.mock_str~  s    
 r>   )np.random.default_rng()r  r  r  )r   )r
  resrefs      r;   test__rng_html_rewriter  }  s)     H
%
'CC ::r>   c                    
   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\ RB                  RE                  S5      \ RB                  RF                  \ RB                  RI                  S\S 4\S 4\S!4\S 4\S 4\
S 4\S 4\S 4\S!4\S!4\S!4\S!4\S!4\S!4\S!4\S!4\S!4\S!4\S!4\S!4\S 4\S 4\S 4\S 4\S 4\S 4/5      S" 5       5       5       r%S#r&g$)%TestTransitionToRNGi  c                     [         R                  R                  S5      n[        R                  R
                  " UR                  SS9S40 UD6$ N   2Faj  )   rA   ra   rA   r-   rR   r   r   vqkmeans2re   ri   r   s      r;   kmeansTestTransitionToRNG.kmeans  >    ii##$78zz!!#**'*":AHHHr>   c                     [         R                  R                  S5      n[        R                  R
                  " UR                  SS9S40 UD6$ r  r  r  s      r;   r  TestTransitionToRNG.kmeans2  r  r>   c                     [         R                  R                  S5      nUR                  S5      u  p4n[        R                  " X540 UD6nU" U5      $ )Nr  )rA   r%   )r-   rR   r   r   BarycentricInterpolator)re   ri   r   x1x2y1fs          r;   barycentricTestTransitionToRNG.barycentric  sG    ii##$78ZZ(
//A&Aur>   c                     [         R                  R                  S5      n[        R                  " UR                  S5      S40 UD6$ )Nr  r%   r%   rA   )r-   rR   r   r   clarkson_woodruff_transformr  s      r;   r)  /TestTransitionToRNG.clarkson_woodruff_transform  s8    ii##$7811#**X2FTVTTr>   c                     [         R                  R                  S5      n[        R                  " [        R
                  UR                  S5      40 UD6R                  $ )Nr  rA   )r-   rR   r   r    basinhoppingrosenr:   r  s      r;   r,   TestTransitionToRNG.basinhopping  sA    ii##$78$$X^^SZZ]MfMOOOr>   c                     [         R                  R                  S5      n[        R                  " UR                  S5      * S-  UR                  S5      S-  5      nU" [        R
                  U40 UD6R                  $ )Nr  rA   r%   )r-   rR   r   r    Boundsr-  r:   )re   funri   r   boundss        r;   optTestTransitionToRNG.opt  s_    ii##$78#**Q-"!4cjjmb6HI8>>64V4666r>   c                 D    U R                   " [        R                  40 UD6$ rc   )r3  r    differential_evolutionre   ri   s     r;   r6  *TestTransitionToRNG.differential_evolution  s    xx77B6BBr>   c                 D    U R                   " [        R                  40 UD6$ rc   )r3  r    dual_annealingr7  s     r;   r:  "TestTransitionToRNG.dual_annealing  s    xx//:6::r>   c                     [         R                  R                  S5      nUR                  S5      n[        R                  " [        R
                  [        R                  U4SS0UD6$ )Nr  rA   	directionrR   )r-   rR   r   r    
check_gradr-  	rosen_der)re   ri   r   r:   s       r;   r>  TestTransitionToRNG.check_grad  s[    ii##$78JJqM""8>>83E3Eq A-5A9?A 	Ar>   c                 N    [         R                  " SSS0UD6R                  5       $ )Ndensity      ?)r(  )r!   random_arraytoarrayr7  s     r;   rD   TestTransitionToRNG.random_array  s$    ""CSCFCKKMMr>   c                 N    [         R                  " SSS0UD6R                  5       $ NrB  rC  r(  )r!   rR   rE  r7  s     r;   rR   TestTransitionToRNG.random  s"    }};S;F;CCEEr>   c                 N    [         R                  " SSS0UD6R                  5       $ rH  )r!   randrE  r7  s     r;   rK  TestTransitionToRNG.rand  s"    {{939&9AACCr>   c                     [         R                  R                  S5      nUR                  S5      n[        R                  R
                  " U40 UD6$ )Nr  r(  )r-   rR   r   r!   r   svds)re   ri   r   As       r;   rN  TestTransitionToRNG.svds  s?    ii##$78JJx }}!!!.v..r>   c                 r    [         R                  R                  R                  " S0 UD6R	                  5       $ )N)rA   )r"   	transformRotationrR   	as_matrixr7  s     r;   random_rotation#TestTransitionToRNG.random_rotation  s+      ))00=f=GGIIr>   c                     [         R                  R                  S5      nUR                  S5      n[        R                  " [        R
                  U40 UD6R                  $ Nr  r   )r-   rR   r   r#   goodness_of_fitlaplacepvaluere   ri   r   r(   s       r;   rY  #TestTransitionToRNG.goodness_of_fit  sF    ii##$78zz#$$U]]DCFCJJJr>   c                     [         R                  R                  S5      n[        UR                  S5      5      nS n[        R
                  " X440 UD6R                  $ )Nr  r@   r   c                 T    [         R                  " XS9[         R                  " XS9-
  $ )N)axis)r-   mean)r:   yra  s      r;   	statistic7TestTransitionToRNG.permutation_test.<locals>.statistic  s    "''!*?"''!BW*W#Wr>   )r-   rR   r   tupler#   permutation_testr[  )re   ri   r   r(   rd  s        r;   rg  $TestTransitionToRNG.permutation_test  sI    ii##$78SZZ)*W%%d@@GGGr>   c                     [         R                  R                  S5      nUR                  S5      4n[        R                  " U[         R
                  40 UD6R                  $ rX  )r-   rR   r   r#   	bootstraprb  confidence_intervalr\  s       r;   rj  TestTransitionToRNG.bootstrap  sG    ii##$78

3!tRWW77KKKr>   c                     [         R                  R                  S5      nUR                  S5      u  p4n[        R                  " X44SU0UD6R
                  $ )Nr  )rA   r   control)r-   rR   r   r#   dunnettr[  )re   ri   r   r:   rc  rn  s         r;   ro  TestTransitionToRNG.dunnett  sH    ii##$78

8,g}}Q=7=f=DDDr>   c                    S n[         R                  " [        R                  * S[        R                  -  S9[         R                  " [        R                  * S[        R                  -  S9[         R                  " [        R                  * S[        R                  -  S9/n[         R                  " SUSUS.UD6nUR
                  $ )Nc                     [         R                  " U S   5      S[         R                  " U S   5      S-  -  -   SU S   S-  -  [         R                  " U S   5      -  -   $ )Nr      r?   r@   g?rB   )r-   r|   )r:   s    r;   
f_ishigami5TestTransitionToRNG.sobol_indices.<locals>.f_ishigami  sX    266!A$<!bffQqTla6G2G#G%(AaDAI%6!%E$F Gr>   r@   )locscalei   )r\   rL   distsrd   )r#   uniformr-   pisobol_indicesfirst_order)re   ri   rt  rx  r  s        r;   r{  !TestTransitionToRNG.sobol_indices  s    	GBEE6RUU;BEE6RUU;BEE6RUU;= !!QzTQ&Qr>   c                 8    U" SSS0UD6nUR                  S5      $ )Ndr?   rB   rd   )rR   )re   engineri   qrngs       r;   
qmc_engineTestTransitionToRNG.qmc_engine  s"    $$V${{1~r>   c                 X    U R                   " [        R                  R                  40 UD6$ rc   )r  r#   qmcHaltonr7  s     r;   haltonTestTransitionToRNG.halton  s     uyy//:6::r>   c                 X    U R                   " [        R                  R                  40 UD6$ rc   )r  r#   r  Sobolr7  s     r;   sobolTestTransitionToRNG.sobol  s    uyy9&99r>   c                 X    U R                   " [        R                  R                  40 UD6$ rc   )r  r#   r  LatinHypercuber7  s     r;   latin_hypercube#TestTransitionToRNG.latin_hypercube  s     uyy77B6BBr>   c                 X    U R                   " [        R                  R                  40 UD6$ rc   )r  r#   r  PoissonDiskr7  s     r;   poisson_disk TestTransitionToRNG.poisson_disk  s     uyy44???r>   c                 h    [         R                  R                  " S/40 UD6nUR                  S5      $ )Nr   rB   )r#   r  MultivariateNormalQMCrR   re   ri   Xs      r;   multivariate_normal_qmc+TestTransitionToRNG.multivariate_normal_qmc  s+    II++QC:6:xx{r>   c                 l    [         R                  R                  " SS/S40 UD6nUR                  S5      $ )Ng      ?rB   )r#   r  MultinomialQMCrR   r  s      r;   multinomial_qmc#TestTransitionToRNG.multinomial_qmc  s/    II$$c3Z=f=xx{r>   c                     [         R                  R                  S5      n[        UR                  S5      5      n[        R
                  " S0 UD6n[        R                  " USU06R                  $ )Nr  r_  methodrd   )r-   rR   r   rf  r#   PermutationMethodpearsonrr[  )re   ri   r   r(   r  s        r;   permutation_method&TestTransitionToRNG.permutation_method  sW    ii##$78SZZ)*((262~~t3F3:::r>   c                     [         R                  R                  S5      n[        UR                  S5      5      n[        R
                  " U6 n[        R                  " S0 UD6nUR                  US9$ )Nr  r_  )r  rd   )r-   rR   r   rf  r#   r  BootstrapMethodrk  )re   ri   r   r(   r  r  s         r;   bootstrap_method$TestTransitionToRNG.bootstrap_method  s_    ii##$78SZZ)*nnd#&&00&&f&55r>   r%   zmethod, arg_nameseedrandom_statec           	      X   [         R                  R                  S 5        Sn[         R                  R                  U5      nSn[        R
                  " [        US9   U" U 40 SXBU0D6  S S S 5        [         R                  R                  U5      nU" XS9nU" XS9n[        Xv5        UR                  S;   a  U" U 40 X#0D6n[        X5        g [         R                  R                  U5      nU" U 40 X$0D6nU" U 40 X#0D6nUR                  S;   aI  U" U 40 U[         R                  R                  U5      0D6n	[        X5        U" U 40 X#0D6n
[        X5        g [         R                  R                  U5        U" U 40 US 0D6n[        Xv5        [        X5        g ! , (       d  f       GN8= f)Nl   p_ z3got multiple values for argument now known as `rng`r   r   )r   >   ro  r{  >   r  r  r  r  r  r  )
r-   rR   r  r   r   r   r   r   rm   rS   )re   r  arg_namer  r   r   r   r   r   res1bres2bs              r;   test_rng_deterministic*TestTransitionToRNG.test_rng_deterministic  s   > 			tii##D)G]]9G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4s   F
F)rd   N)'rm   rn   ro   rp   r  r  r%  r)  r,  r3  r6  r:  r>  rD  rR   rK  rN  rU  rY  rg  rj  ro  r{  r  r  r  r  r  r  r  r  r  r   r   	fail_slowslowr   r  rq   rd   r>   r;   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  <%!r>   r  c                      \ rS rSr\R
                  " SSS9r\R
                  " SSS9r\R                  " \	R                  \	R                  45      r\R                  " SSS9r\R                  " 5       r\R"                  R%                  S5      \R"                  R'                  S	5      \" S
SS9\R"                  R+                  S5      \\" \\\\\S9\R"                  R0                  S 5       5       5       5       5       5       5       rSrg)TestLazywhereiT  r?   rA   )	min_value	max_valuei ʚ;l   c(	 r   r%   zignore::RuntimeWarningr   r   r   r   )n_arraysrng_seedr.   ru   r(   c                 V   [         R                  " US-   SS9nUR                  U5      u  pUtpSS0nUR                  UR                  [         R                  " U[        5       US95      5      n[        U5      nU Vs/ s H5  nUR                  UR                  [         R                  " X?S95      5      PM7     nnS nS	 n[        R                  R                  U5      nUR                  UR                  U
S
9U:  5      n[        UUUU5      n[        UUUUS9n[        U5      (       d  [        UUUU5      nU[        :X  a  [        R                  " UU/UQ76 tnnnUR                  UU" U6 U5      nUR                  UU" U6 U" U6 5      n[        U5      (       d  UR                  UU" U6 U5      nU[        :X  a3  UR                  U	5      nUR                  U	5      nWR                  U	5      n[        UUSS9  [!        UU5        [        U5      (       d  [!        WW5        g g s  snf )Nr?   r   )
num_shapesmin_sideallow_subnormalF)r.   r2   elements)r.   r2   c                  &    [        S U  5       5      $ )Nc              3   $   #    U  H  ov   M     g 7frc   rd   .0args     r;   	<genexpr>6TestLazywhere.test_basic.<locals>.f.<locals>.<genexpr>p       +dssd   sumrh   s    r;   r$  #TestLazywhere.test_basic.<locals>.fo  s    +d+++r>   c                  ,    [        S U  5       5      S-  $ )Nc              3   $   #    U  H  ov   M     g 7frc   rd   r  s     r;   r  7TestLazywhere.test_basic.<locals>.f2.<locals>.<genexpr>s  r  r  r@   r  r  s    r;   f2$TestLazywhere.test_basic.<locals>.f2r  s    +d++a//r>   ra   )r  gؗҬ<)rtol)npstmutually_broadcastable_shapesdrawr   arraysrf  floatr-   rR   r   r   r   
atleast_1dwherereshaper   r   )re   r  r  r.   ru   r(   r   mbsinput_shapesresult_shape
cond_shapeshapesr  	fillvaluefloat_fillvaluer2   r  r$  r  r   condr   r   r   ref1ref2ref3s                              r;   
test_basicTestLazywhere.test_basic[  s    00HQJ:;=%)YYs^"*
%u-JJtyy5>F*H  I J		*%'%e **TYYt{{'LMN% 	 '	,	0 ii##H-zz#****59:$95$b1"2&&dFA?D 8')}}T9'Nv'N$D)fxxaj)4xxaj"f+6"2&& 88D!V*o>D8<<-D<<-D<<-Dd/d#"2&&D$' 'I's   ><H&rd   N)rm   rn   ro   rp   r	   integersr  r  sampled_fromr-   float32rI   r.   floatsru   r(   r   r   r  filterwarningsr   r  r   r   thread_unsafer  rq   rd   r>   r;   r  r  T  s    ""Q!<H""Z:NH##RZZ$<=EA3A??D[[2[[ 89kHJ[[/0
HxuM[[.(  N  1J : .(r>   r  )Dmultiprocessingr   multiprocessing.poolr   r   r   	fractionsr   numpyr-   numpy.testingr   r   r   r   rT   hypothesis.extra.numpyextrar  
hypothesisr   r	   r
   scipy.conftestr   r   scipy._lib._array_apir   r   r   r   r   scipy._lib._utilr   r   r   r   r   r   r   r   r   r   r   scipyr   r   r   r    r!   r"   r#   r   r   r  rN   rY   rx   r   r   r   r   r   r   r   r  r  r  rd   r>   r;   <module>r     s      , 	    /  * % % ; ; DA AL L L L Q P P;;//   >  >F1"M&&
)@7 t& &$F@ F@RO0 O0d*! !D=( =(r>   