
    Bwg?                     \    d dl Z d dlZd dlmZmZmZ d dlZd dlmZ  G d d      Z	d Z
d Zy)    N)assert_assert_array_equalassert_raises)randomc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zej$                  j'                   ej*                  d      j,                  dk  d      d        Zd Zd Zy)TestRegressionc                    t        j                  ddd      D ]q  }t        j                  |dd      }t	        t        j
                  |t         j                   kD        xr& t        j
                  |t         j                  k               s y )Ng      g      @      2   )nplinspacer   vonmisesr   allpi)selfmurs      e/var/www/horilla/myenv/lib/python3.12/site-packages/numpy/random/tests/test_randomstate_regression.pytest_VonMises_rangez"TestRegression.test_VonMises_range   sc     ++c2q) 	?BAr*ABFF1v:&=266!ruu*+=>	?    c           
         t        t        j                  t        j                  dddd      dk               t        t        j                  t        j                  dddd      dkD               dg}t
        j                  d	kD  }|r$t
        j                  d
k7  r|j                  d       |D ]   }t        t        j                  | dkD         " y )N         
   size   r   ) r    r            win32)   r#   r#   )	r   r   r   r   hypergeometricsysmaxsizeplatformappend)r   args	is_64bitsargs       r   test_hypergeometric_rangez(TestRegression.test_hypergeometric_range   s    v,,QBR@1DEFv,,RBR@1DEF .
 KK%'	0KK9: 	5CF))3/!34	5r   c                 $   d}t        j                  d       t        j                  d|      }t        j                  |dk(        |z  }d|dd}t        |d	kD  |       t        j                  |d
k(        |z  }d|dd}t        |dk  |       y )N  r   g?r   r   zFrequency was fz, should be > 0.45g?   z, should be < 0.23gq=
ףp?)r   seed	logseriesr   sumr   )r   Nrvsnfreqmsgs        r   test_logseries_convergencez)TestRegression.test_logseries_convergence&   s    A!, vvdai 1$tAh&89tS!vvdai 1$tAh&89tS!r   c                 4   g dg dg dg dfD ]  }t        j                  d       t        |      }t        j                  |       t	        j
                  |d   |d   |d   |d	   gt        
      }t        t	        j
                  |t        
      |        y )N)r   r0   r   N)r   r   r0   r0   r   r   N)r   r;   r<   N)r:   r0   r   N90  r   r   r   r0   dtype)r   r1   listshuffler   arrayobjectr   )r   tshuffledexpecteds       r   test_shuffle_mixed_dimensionz+TestRegression.test_shuffle_mixed_dimension6   s    !0+&( 	KA KKAwHNN8$xx1qtQqT1Q4 8GHrxx?J	Kr   c           
      .   t        j                         }t        j                  g d      }t	        d      D ]\  }t        j
                  |       |j                  d       t        |j                  ddt        j                  d      dz        |       ^ y )N)
r         r0   r   	   r   rJ   r   r   r   i  r   g      $@)r   p)	r   RandomStater   rB   ranger1   r   choiceones)r   mresis       r   test_call_within_randomstatez+TestRegression.test_call_within_randomstateB   so     hh56q 	NAKKNFF4Lqxxrwwr{3xGM		Nr   c                     t        j                  dgdggd       t        j                  dgdggt        j                  d             t        j                  dgdggt        j                  d             y )Nr   r   r   )r   multivariate_normalr   int_int64r   s    r   #test_multivariate_normal_size_typesz2TestRegression.test_multivariate_normal_size_typesL   s\     	""A3!A6""A3!BGGAJ?""A3!BHHQK@r   c                     t        j                  d       t        j                  ddd      }t        t	        j
                  t	        j                  |             d       y )NiIg-C6?d   r   zNans in random.beta)r   r1   betar   r   anyisnan)r   xs     r   test_beta_small_parametersz)TestRegression.test_beta_small_parametersT   sA     	JKKS1BFF288A;'')>?r   c                 |   t        j                  d       g d}g d}t        j                  t        j                  t        j
                  fD ]m  }t        j                  ||      t        |      z  }t        j                  ||      }t        ||v        t        t        t         j                  ||dz         o y )N  )r   r0   r   )r   r   r0   r>   )rL   g?)r   r1   r   float16float32float64rB   r3   rO   r   r   
ValueError)r   acountsdtprobscs         r   "test_choice_sum_of_probs_tolerancez1TestRegression.test_choice_sum_of_probs_tolerance[   s     	D**bjj"**4 	EBHHV2.V<Ea5)AAFO*fmmQ%)D		Er   c                     t        j                  d       t        j                  ddg      }t	        d      D ]  }t        j
                  |        dd l}|j                          y )Nrc   rh     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar\   r   )r   r1   r   rB   rN   rA   gccollectr   rh   _rp   s       r   1test_shuffle_of_array_of_different_length_stringsz@TestRegression.test_shuffle_of_array_of_different_length_stringsh   sP     	DHHc:&'s 	ANN1	 	


r   c                 &   t        j                  d       t        j                  t        j                  d      t        j                  d      gt
              }t        d      D ]  }t        j                  |        dd l}|j                          y )Nrc   r   r   r>   r.   r   )
r   r1   r   rB   arangerC   rN   rA   rp   rq   rr   s       r    test_shuffle_of_array_of_objectsz/TestRegression.test_shuffle_of_array_of_objectsw   sb     	DHHbiilBIIaL1@t 	ANN1	 	


r   c                     G d dt         j                        }t        j                  d       t        j                  d      j                  |      }t        j                  |      }t        |t        j                  g d             t        |t        j                  d      j                  |              G d d      }t        j                  d        |       }t        j                  |      }t        |t        j                  g d             t        |j                         t        j                  d	             y )
Nc                       e Zd Zy)3TestRegression.test_permutation_subclass.<locals>.NN)__name__
__module____qualname__ r   r   r4   rz      s    r   r4   r   r   )r   r0   r   c                   8    e Zd Z ej                  d      ZddZy)3TestRegression.test_permutation_subclass.<locals>.Mr
   Nc                     | j                   S )N)rh   )r   r?   copys      r   	__array__z=TestRegression.test_permutation_subclass.<locals>.M.__array__   s    vvr   )NN)r{   r|   r}   r   rv   rh   r   r~   r   r   Mr      s    		!Ar   r   )r0   r   r   r   r   r
   )
r   ndarrayr   r1   rv   viewpermutationr   rB   r   )r   r4   origpermr   rQ   s         r   test_permutation_subclassz(TestRegression.test_permutation_subclass   s    	

 	 	Ayy|  #!!$'4)!4541!2!21!56	 	 	AC!!!$4/!:;1;;="))A,7r   c                     t         j                  dk(  rdnd}t        j                  d      5  t	        j
                  ddd|	       d d d        y # 1 sw Y   y xY w)
Nbigz<i4z>i4znon-native byteorder is notmatchr      r   )r   r?   )r%   	byteorderpytestdeprecated_callr   randint)r   other_byteord_dts     r   test_warns_byteorderz#TestRegression.test_warns_byteorder   sP    $'MMU$:5##*GH 	DNN1c2BC	D 	D 	Ds   AAc                     t         j                  j                  d      }t         j                  j                  d      }|j                  dd      |j                  dd      k(  sJ y )Ni[)r1   r   r\   )r   r   rM   r   )r   rs1rs2s      r   "test_named_argument_initializationz1TestRegression.test_named_argument_initialization   sQ    ii##I.ii###3{{1c"ckk!S&9999r   c                    t         j                  j                  ddgdz  d      }|j                  t        j                  t         j                        k(  sJ t         j                  j                  ddgdz  dd      }|j                  t        j                  t         j                        k(  sJ t         j                  j                  dd      }|j                  t        j                  t         j                        k(  sJ t         j                  j                  ddd      }|j                  t        j                  t         j                        k(  sJ y )	Nr   g?r0   )rL   r   F)rL   replacer   r   )r   r   )r   r   rO   r?   long)r   rl   s     r   test_choice_retun_dtypez&TestRegression.test_choice_retun_dtype   s    IIRB473ww"((277++++IIRB47EBww"((277++++IIRa(ww"((277++++IIRQ7ww"((277++++r   lr!   zCannot test with 32-bit C long)reasonc                     t        j                  d       t        j                  g dd      }t        j                  dd      }t        ||       y )Nr   )
l   
 l   /*/ l   u&-n l   LC0 l   C34 l   RD7 l   v l   g}1 i	tll   ^C? rX   r>   r!   r   r   )r   r1   r   rB   r   r   )r   rF   actuals      r   test_randint_117zTestRegression.test_randint_117   sB     	A88 5<CE B/68,r   c                     t         j                  j                  d       t        t        j                  dg d      g d       y )Nr=   r   )r         ?g      ?g      ?r   )r   r   r   r   r   )r   r   r1   r   binomialrY   s    r   test_p_zero_streamz!TestRegression.test_p_zero_stream   s-     			u6??1.EF*	,r   c                     t         j                  j                  d       t        j                  g dg dg      }t	        t        j
                  dgdggdd      |       y )	Ni_ )
r   r   r   r   r   r   r   r   r   r   )
r   r   r0   r   r   r   r
   r   r   r   r   r   r   )r0   r   r   )r   r   r1   rB   r   r   )r   rF   s     r   test_n_zero_streamz!TestRegression.test_n_zero_stream   sO     			w88;;= >6??QC";7K#	%r   N)r{   r|   r}   r   r,   r8   rG   rT   rZ   ra   rm   rt   rw   r   r   r   r   r   markskipifr   iinfomaxr   r   r   r~   r   r   r   r      s    ?5 " 
KNA@E8,D:	, [[))E1?  A-A-,%r   r   c                      t        j                  dg       j                  dk(  sJ t        j                  dg d      j                  dk(  sJ y )Nr   )r   r   )rJ   r
   r   r   )rJ   r
   r   r   )r   multinomialshaper~   r   r   test_multinomial_emptyr      sH     b"%++t333a)4::lJJJr   c                      t        j                  t        d      5  t        j                  dd       d d d        y # 1 sw Y   y xY w)Nzpvals must be a 1-dr   r   g333333?)r   raises	TypeErrorr   r   r~   r   r   test_multinomial_1d_pvalr      s6    	y(=	> $2s#$ $ $s	   <A)r%   r   numpy.testingr   r   r   numpyr   r   r   r   r   r~   r   r   <module>r      s5    
    ~% ~%BK$r   