ó
¤_Š]c           @` s¨   d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m Z m	 Z	 m
 Z
 d  d l Z d  d l m Z d  d l Z d e f d „  ƒ  YZ e d k r¤ e ƒ  n  d S(   i    (   t   divisiont   absolute_importt   print_functionN(   t   TestCaset   run_module_suitet   assert_t   assert_array_equalt   assert_raises(   t   longt   TestRegression_Intelc           B` st   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 RS(   c         C` sn   xg t  j d d d ƒ D]P } t j | d d ƒ } t t  j | t  j k ƒ ob t  j | t  j k ƒ ƒ q Wd  S(   Ng      Àg      @i   i   i2   (   t   npt   linspacet   rndt   vonmisesR   t   allt   pi(   t   selft   mut   r(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_VonMises_range'   s    c         C` s¨   t  t j t j d d d d d ƒd k  ƒ ƒ t  t j t j d d d d d ƒd k ƒ ƒ d d d f d d d f g } x' | D] } t  t j | Œ  d k ƒ q Wd  S(   Ni   i   i   t   sizei
   i   i    i   i   i   i   i   iþÿ i   iþÿ i   iþÿ i   @iÿÿÿ?i   @iþÿÿ?i   @iÿÿÿ?(   R   R
   R   R   t   hypergeometric(   R   t   argst   arg(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_hypergeometric_range.   s    ..c         C` s¤   d } t  j d ƒ t  j d d | ƒ} t j | d k ƒ t | ƒ } d | } t | d k | ƒ t j | d k ƒ t | ƒ } d	 | } t | d
 k  | ƒ d  S(   Niè  i    gš™™™™™é?R   i   s"   Frequency was %f, should be > 0.45gÍÌÌÌÌÌÜ?i   s"   Frequency was %f, should be < 0.23gq=
×£pÍ?(   R   t   seedt	   logseriesR
   t   sumt   floatR   (   R   t   Nt   rvsnt   freqt   msg(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_logseries_convergence;   s    

c         C` sO   t  j d ƒ t  j d ƒ } t  j d ƒ t  j t d ƒ ƒ } t | | ƒ d  S(   NiÒ  i   (   R   R   t   permutationR   R   (   R   t   at   b(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_permutation_longsK   s
    c         C` sL   t  j d ƒ j } t  j d ƒ j } y t j | | ƒ Wn t ‚ n Xd  S(   Nt   l(   R
   t   iinfot   maxt   minR   t   randintt   AssertionError(   R   t   lmaxt   lmin(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_randint_rangeR   s    c         C` s¦   xŸ d d d d  g d d	 d
 d  g d d d d  g d d d d  g g D][ } t j d d d ƒt | ƒ } t j | ƒ t | | d | d | d | d g ƒ qC Wd  S(   Ni   i   i   i90  t   brngt   MT2203i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   t   NoneR   R   t   listt   shuffleR   (   R   t   tt   shuffled(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_shuffle_mixed_dimension[   s    c         C` s£   t  j ƒ  } t j d d d d d d d d d d g
 ƒ } xc t d ƒ D]U } t  j | ƒ | j d d	 d
 ƒt | j d d d d t j d ƒ d ƒ| ƒ qF Wd  S(   Ni   i   i   i   i	   i   i   iá  R/   t	   SFMT19937i
   R   t   pg      $@(	   R   t   RandomStateR
   t   arrayt   rangeR   R   t   choicet   ones(   R   t   mt   rest   i(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_call_within_randomstatef   s    -c         C` ss   t  j d g d g g d d ƒt  j d g d g g d t j d ƒ ƒt  j d g d g g d t j d ƒ ƒd  S(   Ni    R   i   (   R   t   multivariate_normalR
   t   int_t   int64(   R   (    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt#   test_multivariate_normal_size_typesp   s    (c         C` sI   t  j d ƒ t  j d d d d ƒ} t t j t j | ƒ ƒ d ƒ d  S(   NiÒ–Ig-Cëâ6?R   id   s   Nans in rnd.beta(   R   R   t   betaR   R
   t   anyt   isnan(   R   t   x(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   test_beta_small_parametersx   s    c         C` s³   t  j d ƒ d d d g } d d d g } x t j t j t j f D]g } t j | d | ƒt | ƒ } t  j | d | ƒ} t	 | | k ƒ t
 t t  j | d | d ƒqD Wd  S(	   NiÒ  i   i   i   i   t   dtypeR8   gÍÌÌÌÌÌì?(   R   R   R
   t   float16t   float32t   float64R:   R   R<   R   R   t
   ValueError(   R   R#   t   countst   dtt   probst   c(    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt"   test_choice_sum_of_probs_tolerance   s    c         C` sd   t  j d ƒ t j d d d g ƒ } x! t d ƒ D] } t  j | ƒ q3 Wd d  l } | j ƒ  d  S(   NiÒ  R#   iè  id   i    (   R   R   R
   R:   R;   R3   t   gct   collect(   R   R#   t   _RU   (    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt1   test_shuffle_of_array_of_different_length_stringsŒ   s    c         C` sr   t  j d ƒ t j t j d ƒ t j d ƒ g ƒ } x! t d ƒ D] } t  j | ƒ qA Wd d  l } | j ƒ  d  S(   NiÒ  i   i   iè  i    (	   R   R   R
   R:   t   arangeR;   R3   RU   RV   (   R   R#   RW   RU   (    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt    test_shuffle_of_array_of_objectsœ   s    '(   t   __name__t
   __module__R   R   R!   R%   R.   R6   RA   RE   RJ   RT   RX   RZ   (    (    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyR	   %   s   								
				t   __main__(   t
   __future__R    R   R   t   syst   numpy.testingR   R   R   R   R   t
   mkl_randomR   t   numpy.compatR   t   numpyR
   R	   R[   (    (    (    s?   lib/python2.7/site-packages/mkl_random/tests/test_regression.pyt   <module>   s   (†