ó
¡¼™\c        	   @   sú   d  d l  m Z m Z m Z m Z m Z m Z m Z d  d l m	 Z
 g  d d d d d d d	 d
 g D] Z e e ƒ ^ qc \ Z Z Z Z Z Z Z Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿ(   t   sqrtt   roott   St   Symbolt
   sqrtdenestt   Integralt   cos(   t   _subsetsi   i   i   i   i   i
   i   i   c       	   C   sœ  i t  t t d d t ƒ 6t d d t ƒ t d d t ƒ 6t d d t  d t ƒ t d d t d d t ƒ ƒ 6t t  ƒ t t  ƒ 6t d t ƒ t d t ƒ 6d t  d d t t d ƒ d d t d d t ƒ t  t d d t ƒ d d d t t d ƒ d t d t d d t ƒ ƒ 6d t d ƒ d t d d t  d d t d d t ƒ 6}  x* |  D]" } t | ƒ |  | k srt ‚ qrWd  S(   Ni   i   g      @i   i   i   i   (   t   r2t   r3R    t   r6t   r7R   R   t   AssertionError(   t   dt   i(    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_sqrtdenest   s    #97P>c          C   sê  t  t d d t d t d d t ƒ ƒ ƒ t t d d t ƒ k sN t ‚ t t t d t d t d t d ƒ d ƒ ƒ }  t  |  ƒ t d t d d ƒ k s¬ t ‚ t d	 t ƒ } t  t d	 | ƒ ƒ t d	 | ƒ k sè t ‚ t d	 t d	 d t d
 t t ƒ ƒ d j ƒ  ƒ }  t  |  ƒ d	 t d	 d t t t d
 ƒ ƒ k sVt ‚ t  t d t	 d t ƒ ƒ t d ƒ t d
 d ƒ t d
 d ƒ d
 k s¤t ‚ t  t d	 t t d	 t	 ƒ d j ƒ  ƒ ƒ d	 t t d	 t	 ƒ k sðt ‚ t  t d	 t t t d	 t	 ƒ d j ƒ  ƒ ƒ d	 t d	 t	 ƒ t t k sDt ‚ t d	 t
 d ƒ t
 d
 ƒ t d	 t	 ƒ d j ƒ  ƒ }  t  |  ƒ t
 d
 ƒ t
 d ƒ d	 t d	 t	 ƒ k s¶t ‚ t d t d t t d t d ƒ d ƒ }  t  |  ƒ t d t d t d t d ƒ k st ‚ t d t t
 d ƒ d t d t d ƒ d ƒ } t  | ƒ | k sft ‚ t  t t t d ƒ ƒ ƒ t t t d ƒ ƒ k sžt ‚ t d d t d ƒ d t d d t ƒ ƒ } t  | ƒ | k sæt ‚ d  S(   Ni   i   i7   i
   i   iþÿÿÿiöÿÿÿi   i   i   i   i   i   i   i   (   R   R    t   r29t   r5R   R   R   R   t   expandR	   R   t   r10R
   (   t   et   rt   z(    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_sqrtdenest2   s.    -!5),683+!/%8:.6480c          C   s  t  t d t d ƒ d t d t d ƒ d ƒ ƒ t t d t k sO t ‚ t  t d t d t d t d ƒ d	 ƒ ƒ d
 t d t k s— t ‚ t  t d t d d t d ƒ d d t d ƒ d d ƒ ƒ t d ƒ t d t d ƒ d k st ‚ t  t d t d t d t d ƒ ƒ d t d d t k sGt ‚ t d t d t d ƒ d t d ƒ d ƒ }  t  |  ƒ t d ƒ d t d t d t d ƒ k s³t ‚ t d t d ƒ d t d t d ƒ d ƒ }  t  |  ƒ |  k sût ‚ t  t d t d t d  ƒ ƒ t	 d! t t k s6t ‚ t  t d" t d t d  ƒ ƒ t d ƒ t	 d! t t k s{t ‚ t  t d" t d d t d t
 d# ƒ d ƒ ƒ t	 d t t d k sÌt ‚ t  t t d t d$ ƒ t d t d" ƒ ƒ ƒ t d! t t t ƒ k st ‚ t  t d t d" t d% t d& ƒ ƒ d! t t t k s^t ‚ d! t t t t } t  t | d j ƒ  ƒ ƒ | k sœt ‚ t | d j ƒ  d! ƒ }  t  |  ƒ |  k sÎt ‚ t d t	 d t d t d% d' t d( t ƒ }  t  |  ƒ |  k st ‚ d  S()   Niüÿÿÿi   i   i   i   i!   iäÿÿÿi#   iR   iùÿÿÿi   i   i   i   iÔ  iÐ  i`  iM  i	   i   i8   iþÿÿib   is   iY  i;  iÿÿÿÿi   i   i"   iøÿÿÿi   i   i   iš   i   i   i   i
   i   (   R   R    R
   R   R	   R   R   R   t   r15R   R   R   (   R   t   w(    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_sqrtdenest_rec9   s4    3-?+'0<0;&1 /!B(4c          C   s>   t  d d t  d ƒ d t ƒ }  t |  ƒ |  k s: t ‚ d  S(   NiÀþÿÿi    i   i@   (   R    R   R   R   (   R   (    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_issue_6241X   s    "c       	   C   s“  t  d d t d t t  d t d ƒ ƒ }  t |  ƒ d t t k sN t ‚ t |  d d ƒd t  d ƒ t  d ƒ k s€ t ‚ t  d t d	 d t d	 d t  d
 ƒ d	 d ƒ } t  d d t d t  d d t ƒ ƒ } t | | ƒ j t d t t d	 t  d t d ƒ t	 ƒ s%t ‚ t  t  t d ƒ d ƒ }  t |  ƒ |  k sWt ‚ t t  d t d t t  d t d ƒ d ƒ ƒ t  d t d t d t	 d ƒ k sµt ‚ t t  d d t d d t t	 ƒ ƒ t d d t d t	 k sÿt ‚ t  d t  d t d ƒ t  d t d t  d t d ƒ d ƒ ƒ }  t  d t d ƒ } t |  ƒ t  t | t
 | t t d ƒ k st ‚ d  S(   Ni   i   iþÿÿÿi   iÿÿÿÿt   max_iteri   i
   i   i*   i   i7   i   i   i   ip   iF   i.   i"   i   i   iöÿÿÿ(   R    R   R   R   R   R
   R   R   t   equalsR   R	   R   (   R   t   nR   R   (    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_sqrtdenest3]   s     . 26*51-'#Fc          C   sn  t  d t t  d t ƒ t  d ƒ d t ƒ }  t |  ƒ } t  t d ƒ } t | t | | t | t t t t  d ƒ d j ƒ  } t |  ƒ | k s¤ t	 ‚ t  d t t  t d ƒ d t d t  t d ƒ d ƒ }  t |  ƒ t t  t d ƒ d k s
t	 ‚ d t t d t t  d t d t ƒ } t  | d j ƒ  ƒ }  t |  ƒ | j ƒ  k sjt	 ‚ d  S(   Ni   i   i   i   i   i   i   (
   R    R   R   R   R   R	   R
   R   R   R   (   R   t   z1t   cR   (    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_sqrtdenest4p   s    0?<*,c          C   sH  t  d ƒ }  t d t t d |  ƒ d ƒ d j ƒ  ƒ } t | ƒ t d t t d |  ƒ d ƒ d ƒ k st t ‚ t d t t d t d ƒ ƒ d ƒ d j ƒ  ƒ } t | ƒ d t t d t d ƒ ƒ d ƒ k sÞ t ‚ d t d ƒ d d j ƒ  } t | ƒ | k st ‚ t d t t d t d |  ƒ ƒ d ƒ d d j ƒ  ƒ } t | ƒ | k sht ‚ t d ƒ } | d } t t d t d t ƒ | | d t | ƒ ƒ d t d t ƒ | k sÐt ‚ t d t ƒ } t d | t d d t ƒ d t | t d d t ƒ d	 t d
 ƒ } t | ƒ | k sDt ‚ d  S(   Nt   xi   i   i   i   iÿÿÿÿi   i   i@   ip   (   R   R    R   R   R   R   R	   (   R#   R   R!   t   c2t   ra(    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_sqrt_symbolic_denest€   s     .:46<
1!Lc          C   sª  d d l  m }  m } t d d t d d ƒ } t t t d } t | ƒ | k s\ t ‚ t d | ƒ d | k s| t ‚ t t	 | d |  d d f ƒ ƒ t	 d | |  d d f ƒ k sÀ t ‚ t |  t | ƒ ƒ |  t | ƒ k sì t ‚ t t t d } t | ƒ | k st ‚ t d | ƒ d | k s6t ‚ t t	 | d |  d d f ƒ ƒ t	 d | |  d d f ƒ k szt ‚ t |  t | ƒ ƒ |  t | ƒ k s¦t ‚ d  S(   Niÿÿÿÿ(   R#   t   yi   i   i   i   (
   t	   sympy.abcR#   R'   R    R	   R   R
   R   R   R   (   R#   R'   R   t   ans(    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_issue_5857“   s     %, %c           C   s  t  d ƒ d g g k s t ‚ t  d ƒ d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g g k st ‚ d  S(   Ni   i   i    (   t   subsetsR   (    (    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_subsets¤   s
    	KKc           C   sP   t  t d t d t d ƒ ƒ ƒ ƒ t d t d t d ƒ ƒ ƒ k sL t ‚ d  S(   Ni   (   R   R    R   (    (    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_issue_5653¬   s    c           C   sJ   t  t d t ƒ t d d t ƒ t d d t ƒ ƒ d k sF t ‚ d  S(   Ni   i   i
   i   i    (   R   R    R	   R   (    (    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   test_sqrt_ratcomb±   s    N(   t   sympyR    R   R   R   R   R   R   t   sympy.simplify.sqrtdenestR   R+   R#   R   R	   R   R
   R   R   R   R   R   R   R   R   R   R"   R&   R*   R,   R-   R.   (    (    (    sC   lib/python2.7/site-packages/sympy/simplify/tests/test_sqrtdenest.pyt   <module>   s   4:		#								