ó
¡¼™\c           @   s‹  d  d l  m Z m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 d  d l6 m7 Z7 d  d l8 m9 Z9 d  d l: m; Z; m< Z< m= Z= m> Z> m? Z? m@ Z@ d „  ZA d „  ZB d „  ZC d	 „  ZD d
 „  ZE d „  ZF d „  ZG d „  ZH d „  ZI d „  ZJ d „  ZK d „  ZL d „  ZM d „  ZN d „  ZO d „  ZP d „  ZQ d „  ZR d „  ZS d „  ZT d „  ZU d „  ZV d „  ZW d „  ZX d „  ZY d „  ZZ d  „  Z[ d! S("   iÿÿÿÿ(   t   Addt   Mult   St   Symbolt   cost   cott   pit   It   sint   sqrtt   tant   roott   csct   sect   powsimpt   symbolst   sinht   cosht   tanht   cotht   secht   cscht   Dummy(   t   Lt   TR1t   TR10t   TR10it   TR11t   TR12t   TR12it   TR13t   TR14t   TR15t   TR16t   TR111t   TR2t   TR2it   TR3t   TR5t   TR6t   TR7t   TR8t   TR9t   TRmorriet   _TR56t   TRpowert   hyper_as_trigt   fut   process_common_addendst
   trig_splitt   as_f_sign_1(   t   verify_numerically(   t   range(   t   at   bt   ct   xt   yt   zc           C   sH   t  d t t ƒ t t ƒ ƒ d t t ƒ d t t ƒ k sD t ‚ d  S(   Ni   i   (   R   R   R8   R   R   R   t   AssertionError(    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR1   s    c           C   s˜   t  t t ƒ ƒ t t ƒ t t ƒ k s. t ‚ t  t t ƒ ƒ t t ƒ t t ƒ k s\ t ‚ t  t t t ƒ t t ƒ t t ƒ ƒ ƒ d k s” t ‚ d  S(   Ni    (   R#   R
   R8   R   R   R;   R   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR2   s    ..c          C   s»  t  d t t t ƒ d t t k s, t ‚ t t t ƒ t t ƒ ƒ t t ƒ k sZ t ‚ t t t ƒ t t ƒ t t ƒ ƒ t t ƒ t t ƒ k sœ t ‚ t d t t ƒ t t ƒ ƒ d t t ƒ k sÒ t ‚ t d t t ƒ t t ƒ t t ƒ ƒ d t t ƒ t t ƒ k st ‚ t t t ƒ d t t ƒ d ƒ t t ƒ t t ƒ d d k sdt ‚ t t t ƒ d t t ƒ d d t ƒt t d ƒ d k s¨t ‚ t t d ƒ t d ƒ d d t ƒt t	 j
 ƒ k sãt ‚ t t d ƒ t d ƒ d d t ƒt d ƒ k st ‚ t t d ƒ t d ƒ d d t ƒt d ƒ k sSt ‚ t t d ƒ t d ƒ d d t ƒt d t	 j
 ƒ k s’t ‚ t t d ƒ d t d ƒ d t ƒd t t	 j
 ƒ k sÑt ‚ t t d ƒ d t d ƒ d t ƒd t d ƒ k st ‚ t t d ƒ d t d ƒ d t ƒd t d ƒ k sIt ‚ t t d ƒ d t d ƒ d t ƒd t d t	 j
 ƒ k sŒt ‚ t t d ƒ d t t d ƒ t d t ƒt t	 j
 ƒ t k sÔt ‚ t t d ƒ d t t d ƒ t d t ƒt d ƒ t k st ‚ t t d ƒ d t t d ƒ t d t ƒt d ƒ d t t d ƒ t k sqt ‚ t t d ƒ d t t d ƒ t d t ƒt d ƒ d t t d ƒ t k sÉt ‚ t t d ƒ d t t d ƒ t d t ƒt t	 j
 ƒ t k st ‚ t t d ƒ d t t d ƒ t d t ƒt d ƒ t k sXt ‚ t t d ƒ d t t d ƒ t d t ƒt d ƒ d t t d ƒ t k s°t ‚ t t d ƒ d t t d ƒ t d t ƒt d ƒ d t t d ƒ t k st ‚ t d d t ƒ}  t t d ƒ d |  t d ƒ |  d t ƒt d t	 j
 ƒ |  k sgt ‚ t d t d ƒ d |  t d ƒ |  d t ƒt d t	 j
 ƒ |  k s·t ‚ d  S(   Ni   i   t   halfi   i   t   it   integer(   R   R8   R9   R;   R$   R   R   R
   t   TrueR   t   HalfR5   R   (   R?   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt	   test_TR2i   s4    ,.B6JHD;88??<<CHEXXIFXXMc          C   sü   t  t t t t t ƒ ƒ t t t t t ƒ k s< t ‚ t t d t ƒ t t ƒ k sc t ‚ t d t d t ƒ t t ƒ k sŽ t ‚ xg t t t t t	 t
 f D]M }  |  d t d ƒ } t  | ƒ } t | | ƒ rî | j | j k s§ t ‚ q§ Wd  S(   Ni   i   i   i   (   R%   R   R9   R8   R;   R   R   R
   R   R   R   R3   t   func(   t   fR?   t   j(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR3<   s    <'+c          C   sF  d „  }  t  t t ƒ d t t |  d t ƒ t t ƒ d k sD t ‚ t  t t ƒ d t t |  d t ƒ t t ƒ d k s t ‚ t  t t ƒ d t t |  d t ƒ t t ƒ d d d k sÃ t ‚ t  t t ƒ d t t |  d t ƒ t t ƒ d k sþ t ‚ t  t t ƒ d t t |  d t ƒ t t ƒ d d d k sBt ‚ d  S(	   Nc         S   s   d |  S(   Ni   (    (   R8   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   <lambda>H   t    i   i   i
   i   i   i   i   (   t   TR   R8   R   t   FalseR;   RA   (   t   h(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt
   test__TR56G   s    	;;D;c           C   s–   t  t t ƒ d ƒ t t ƒ d d k s1 t ‚ t  t t ƒ d ƒ t t ƒ d k s] t ‚ t  t t ƒ d ƒ t t ƒ d d d k s’ t ‚ d  S(   Ni   i   iþÿÿÿi   (   R&   R   R8   R   R;   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR5P   s    1,c           C   s–   t  t t ƒ d ƒ t t ƒ d d k s1 t ‚ t  t t ƒ d ƒ t t ƒ d k s] t ‚ t  t t ƒ d ƒ t t ƒ d d d k s’ t ‚ d  S(   Ni   i   iþÿÿÿi   (   R'   R   R8   R   R;   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR6V   s    1,c           C   s„   t  t t ƒ d ƒ t d t ƒ d t d ƒ d k s> t ‚ t  t t ƒ d d ƒ t d t ƒ d t d ƒ d k s€ t ‚ d  S(   Ni   i   i   (   R(   R   R8   R   R;   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR7\   s    >c           C   sé  t  t d ƒ t d ƒ ƒ t d ƒ d t d ƒ d k s@ t ‚ t  t d ƒ t d ƒ ƒ t d ƒ d t d ƒ d k s€ t ‚ t  t d ƒ t d ƒ ƒ t d ƒ d t d ƒ d k sÁ t ‚ t  t d ƒ t d ƒ t d ƒ ƒ t d ƒ d t d ƒ d t d ƒ d k st ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ d t d ƒ d t d ƒ d t d ƒ d t d	 ƒ d t d ƒ d t d ƒ d k s³t ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ d t d ƒ d d t d ƒ d
 t d
 ƒ d
 t d ƒ d t d	 ƒ d
 t d ƒ d
 t d ƒ d
 t d ƒ d
 t d ƒ d k s…t ‚ t  t d t d ƒ d t d t d ƒ d d
 t t d ƒ d ƒ t d ƒ d k såt ‚ d  S(   Ni   i   i   i   i   i   i
   i   i   i   i   i   i   i@   (   R)   R   R;   R   R   R   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR8a   s    @@AX-m7›c    	      C   sØ  t  d ƒ d }  d |  } t |  ƒ |  k s2 t ‚ t t d ƒ t d ƒ ƒ d t |  ƒ t | ƒ k sn t ‚ t t d ƒ t d ƒ ƒ d t |  ƒ t | ƒ k sª t ‚ t t d ƒ t d ƒ ƒ d t |  ƒ t | ƒ k sæ t ‚ t t d ƒ t d ƒ ƒ d t | ƒ t |  ƒ k s"t ‚ t t d ƒ d t d ƒ d t d ƒ ƒ t d ƒ d t | ƒ t |  ƒ k szt ‚ t t d ƒ t d ƒ d t d ƒ t d ƒ ƒ d t d ƒ t d ƒ k sÎt ‚ t t d ƒ t d ƒ t d ƒ d t d ƒ ƒ d t d ƒ t d ƒ k s"t ‚ t t d ƒ t d ƒ t d ƒ t d ƒ ƒ d t t  d ƒ d ƒ t d ƒ t t  d ƒ d ƒ k st ‚ t t d ƒ t d ƒ t d ƒ ƒ t d ƒ t d ƒ t d ƒ k sÜt ‚ t t t ƒ t t t ƒ ƒ d t t t d t d ƒ t t t d t d ƒ k s=t ‚ t t t ƒ t t t ƒ ƒ d t t t d t d ƒ t t t d t d ƒ k sžt ‚ t t ƒ } t t ƒ } xd d d d f D]} xþ | | f | | f t t ƒ t t t ƒ f t t ƒ t t t ƒ f f D]² }  t | |  ƒ } t g  | D] } t	 | Œ  ^ q9Œ  } t | ƒ } |  d
 j
 |  d j
 k rŸt | | j d t ƒ ƒ pÂ| j pÂ|  d j
 |  d
 j
 k oÂ| | k st ‚ qWqÉWd  S(   Ni   i   i   iþÿÿÿi   i   i   i	   iÿÿÿÿi    t   trig(   i   i   (   i   iÿÿÿÿ(   iÿÿÿÿi   (   iÿÿÿÿiÿÿÿÿ(   R   R*   R;   R   R   R9   R8   t   zipR    R   RD   R3   t   expandRA   t   is_Add(	   R5   R6   R7   t   st   sit   argst   ait   ext   t(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR9n   s2    
<<<<XTT-ALaaQ%%c           C   sŸ  t  t t t ƒ ƒ t t ƒ t t ƒ t t ƒ t t ƒ k sG t ‚ t  t t t ƒ ƒ t t ƒ t t ƒ t t ƒ t t ƒ k s t ‚ t  t t t t ƒ ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ k st ‚ t  t t t t ƒ ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ k s›t ‚ d  S(   N(   R   R   R5   R6   R   R;   R7   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt	   test_TR10Š   s    GF2>2c          C   s(  t  t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ k sB t ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ k s„ t ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ k sÆ t ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ k st ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ d ƒ t d ƒ d k sRt ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ t d ƒ k s¨t ‚ t  d t d ƒ t d ƒ d t d ƒ t d ƒ t d ƒ ƒ d t d ƒ t d ƒ k s
t ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ k sjt ‚ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ }  t  |  ƒ t  |  j ƒ  ƒ k oÿt d ƒ k n s
t ‚ t  t d ƒ t t ƒ t t d ƒ t t ƒ t ƒ d t d ƒ t t t t d ƒ k snt ‚ t  t t ƒ t d ƒ t t ƒ t d ƒ t t ƒ t d ƒ d t t ƒ t d ƒ d ƒ d t d ƒ t t t d ƒ d k sút ‚ t  t t ƒ t d ƒ t t ƒ t d ƒ t t ƒ t d ƒ d t t ƒ t d ƒ d ƒ t d ƒ t t t d ƒ d t d ƒ t t t d ƒ d k s¢t ‚ t  t t ƒ t d ƒ t t ƒ d t d ƒ t t t d ƒ ƒ d t t ƒ k sþt ‚ t  t t ƒ t d ƒ t t ƒ d t d ƒ t t t d ƒ d t t ƒ ƒ d t d ƒ t t t d ƒ k szt ‚ t  t d ƒ t d ƒ t d ƒ t d ƒ ƒ t d ƒ t d ƒ t d ƒ t d ƒ k sÚt ‚ t	 d	 d
 t
 ƒ} t  t d ƒ t t ƒ | t d ƒ t t ƒ | ƒ d t d ƒ t t t d ƒ | k sPt ‚ t t ƒ } t t ƒ } t t ƒ } t t ƒ } x³ d d d d f D]Ÿ } x– | | | | f | | | | f f D]l } t | | ƒ } t g  | D] }	 t |	 Œ  ^ qáŒ  }
 t  |
 ƒ } |
 | j d t ƒ p$| j sÂt ‚ qÂWq“Wt t ƒ } t t ƒ } t t d ƒ } t t d ƒ } x³ d d d d f D]Ÿ } x– | | | | f | | | | f f D]l } t | | ƒ } t g  | D] }	 t |	 Œ  ^ qÏŒ  }
 t  |
 ƒ } |
 | j d t ƒ p| j s°t ‚ q°WqWd  S(   Ni   i   i   i   i   i   i   i	   t   At   commutativeiÿÿÿÿRR   (   i   i   (   i   iÿÿÿÿ(   iÿÿÿÿi   (   iÿÿÿÿiÿÿÿÿ(   i   i   (   i   iÿÿÿÿ(   iÿÿÿÿi   (   iÿÿÿÿiÿÿÿÿ(   R   R   R   R;   RT   R	   R8   R   R9   R   RK   RS   R    R   RA   RU   (   t   eqR^   R7   RV   RL   t   rRW   R5   RX   RY   RZ   R[   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt
   test_TR10i•   s`    BBBBJV?#KJ:5/‰ZK\y-35//%./%c           C   s®  t  t d t ƒ ƒ d t t ƒ t t ƒ k s6 t ‚ t  t d t ƒ ƒ d t t ƒ d t t ƒ d t t ƒ t t ƒ k s‰ t ‚ t  t d t d ƒ ƒ d t t d ƒ d t t d ƒ d t t d ƒ t t d ƒ k sð t ‚ t  t d t ƒ ƒ t t ƒ d t t ƒ d k s+t ‚ t  t d t ƒ ƒ t t ƒ d t t ƒ d d d t t ƒ d t t ƒ d k sŠt ‚ t  t d ƒ ƒ t d ƒ k s®t ‚ t  t d t d ƒ d t d ƒ t d t d ƒ d t d t d ƒ d k st ‚ t  t d ƒ d ƒ t d ƒ d t d ƒ d k sBt ‚ t  t d ƒ d ƒ t d ƒ k sit ‚ t  t t ƒ t t d ƒ t d ƒ d t t d ƒ k sªt ‚ d  S(   Ni   i   i   i   i   (   R   R   R8   R   R;   R   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt	   test_TR11Ì   s    6SP;L$Z:'c           C   s  t  t t t ƒ ƒ t t ƒ t t ƒ t t ƒ t t ƒ d k sK t ‚ t  t t t t ƒ ƒ t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ d d t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ d k sß t ‚ t  t t t ƒ ƒ t t t ƒ k st ‚ d  S(   Ni   (   R   R
   R8   R9   R;   R:   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt	   test_TR12ß   s
    K6Gc           C   so  t  t d ƒ t d ƒ ƒ t d ƒ t d ƒ t d ƒ t d ƒ d k sQ t ‚ t  t d ƒ t d ƒ ƒ d t d ƒ t d ƒ t d ƒ t d ƒ k s¡ t ‚ t  t d ƒ t d ƒ t d ƒ ƒ t d ƒ t d ƒ t d ƒ t d ƒ d t d ƒ k st ‚ t  t d ƒ t d ƒ t d ƒ ƒ t d ƒ t d ƒ d t d ƒ t d ƒ t d ƒ k skt ‚ d  S(   Ni   i   i   i   (   R   R
   R;   R   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt	   test_TR13ç   s    QP#B#c           C   s,   t  t t ƒ t t ƒ ƒ d k s( t ‚ d  S(   Ni   (   R   R   R8   R   R;   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_Lð   s    c          C   sú  t  t d ƒ d t d ƒ d t t d ƒ ƒ t d ƒ d k sH t ‚ t  t d ƒ t t ƒ t d ƒ t t ƒ ƒ d t d ƒ t t t d ƒ k s  t ‚ t t ƒ d t t ƒ d t t ƒ d d t t ƒ d }  t  |  ƒ t t ƒ d d t t ƒ d d k st ‚ t  t j	 t d t ƒ d ƒ t t ƒ d k sMt ‚ t  t t
 ƒ t t ƒ t t ƒ t t
 ƒ t t ƒ t t ƒ ƒ t d ƒ t t
 t t d ƒ k s¹t ‚ t  t d ƒ t t ƒ d t t ƒ d ƒ t t t d ƒ k st ‚ t  d t d t ƒ d d t t ƒ d t t ƒ d ƒ t t ƒ d t t ƒ d k sdt ‚ t  t d t d ƒ ƒ t t d ƒ k s”t ‚ t  t t d ƒ t d t d ƒ t d t d ƒ t d t d ƒ ƒ t d ƒ d	 k söt ‚ t  t d
 t d ƒ t d t d ƒ t d ƒ t d t d ƒ t d
 t d ƒ ƒ t d ƒ k sct ‚ t  t d ƒ t d ƒ ƒ t d ƒ t d ƒ k s›t ‚ t g  t d ƒ D] } t d | ƒ ^ q«Œ  } t  | ƒ t d ƒ d t d ƒ k söt ‚ d  S(   Ni2   i   i   i   i   i   i	   i   i   i   i   i
   i   (   R/   R   R   R   R   R;   R	   R8   R9   RB   R5   R6   R
   R   R4   (   R`   R?   t   expr(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_fuô   s$    HX>87A+H;(0bT8/c           C   s|   t  t t ƒ t t ƒ d d „  ƒt t ƒ k s7 t ‚ t  t t ƒ t t ƒ d d „  ƒt t ƒ t t ƒ k sx t ‚ d  S(   Nt   measurec         S   s
   |  j  ƒ  S(   N(   t	   count_ops(   R8   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyRH     RI   c         S   s   |  j  ƒ  S(   N(   Rj   (   R8   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyRH     RI   (   R/   R   R8   R   R
   R;   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_objective  s    ""c          C   sS   d „  }  t  t d t d d d d g Œ |  d d „  d	 t ƒd d d d k d  S(   Nc         S   s(   t  g  |  j D] } | | d ^ q Œ  S(   Ni   (   R    RX   (   R8   R?   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyRH     RI   t   evaluatei   i   i   i   t   key2c         S   s   |  d S(   Ni   (    (   R8   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyRH      RI   t   key1i    i   i   i   i   (   R0   R    RK   (   t   do(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_process_common_addends  s    	$c           C   sƒ  t  t t ƒ t t ƒ ƒ d d d t t t f k s9 t ‚ t  d t t ƒ d t t ƒ ƒ d d d t t t f k sz t ‚ t  t t ƒ t t ƒ t t ƒ t t ƒ ƒ t t ƒ d d t t t f k sÍ t ‚ t  t t ƒ t d ƒ t t ƒ d t ƒd d d t t d t	 f k st ‚ t  t t ƒ t t ƒ d t ƒt d ƒ d d t t d t	 f k sdt ‚ t  t t ƒ t t ƒ d t ƒt d ƒ d d t t d t	 f k s®t ‚ t  t d ƒ t t ƒ t d ƒ t t ƒ d t ƒd t d ƒ d d t t d t	 f k st ‚ t  t d ƒ t t ƒ t d ƒ t t ƒ d t ƒd t d ƒ d d t t d t	 f k sst ‚ t  t t ƒ t d ƒ t t ƒ t d ƒ d t ƒt d ƒ d d d t t d t	 f k sÔt ‚ t  t d ƒ t t ƒ t t ƒ t d ƒ t t ƒ t t ƒ d t ƒd t d ƒ t t ƒ d d t t d t	 f k sUt ‚ t  t t ƒ t t ƒ ƒ d  k s|t ‚ t  t t ƒ t t ƒ ƒ d  k s£t ‚ t  d t t ƒ t t ƒ ƒ d  k sÏt ‚ t  t t ƒ t d ƒ t t ƒ ƒ d  k st ‚ t  t t ƒ t t ƒ t t ƒ t t ƒ ƒ d  k s<t ‚ t  t t ƒ t t ƒ t t ƒ t t ƒ ƒ d  k swt ‚ t  t d ƒ t t ƒ t d ƒ t t ƒ t t ƒ d t ƒd  k sÃt ‚ t  t d ƒ t t ƒ t d ƒ d t ƒd  k sút ‚ t  t d ƒ t t d ƒ t d ƒ t d ƒ d t ƒd  k s>t ‚ t  t d	 ƒ t d ƒ t d
 ƒ t d	 ƒ d t ƒd  k st ‚ d  S(   Ni   i   iþÿÿÿiÿÿÿÿi   t   twoi   i   i   i   (   R1   R   R8   R9   RA   R;   R   R	   R   RK   t   NoneR:   R   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_trig_split#  s<    9A,')%++3/4/2/!'9'',2;;=7Dc          C   sŒ  t  d t g  t d ƒ D] }  t |  ƒ ^ q Œ  ƒ d t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ d t d ƒ t d	 ƒ k s‹ t ‚ t  t ƒ t k s£ t ‚ t  d
 t ƒ d
 t k sÃ t ‚ t t d ƒ t d
 t d ƒ t d t d ƒ } t t  | ƒ ƒ t	 d ƒ d k s t ‚ t g  t d d ƒ D] }  t d
 |  t d ƒ ^ q3Œ  } t t
 t  | ƒ ƒ ƒ t	 d ƒ d k sˆt ‚ d  S(   Ni   i
   i   i   i   i	   i@   i   i   i   i   i   i   i   (   R+   R   R4   R   R   R;   R8   R   R)   R   R%   (   R?   t   e(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TRmorrieG  s    2Y 4):c          C   s3  t  d t t ƒ d ƒ d t t ƒ d k s4 t ‚ t  t t ƒ d t t d ƒ d ƒ d t t ƒ d t d t ƒ d t t ƒ d t d t ƒ d t d ƒ d k s· t ‚ xu t d d ƒ D]d }  t t t ƒ |  t  t t ƒ |  ƒ ƒ sü t ‚ t t t ƒ |  t  t t ƒ |  ƒ ƒ sÇ t ‚ qÇ Wd  S(   Ni   i   i   i   i   (   R-   R   R8   R;   R   R   R4   R3   (   t   k(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TRpowerR  s    4%^/c    
      C   s¢  d d l  m }  m } m } t t ƒ d t t ƒ d } t | ƒ \ } } | t | ƒ ƒ t d t ƒ k st t	 ‚ t t
 t t ƒ ƒ \ } } | | | ƒ ƒ t
 t ƒ t
 t ƒ t
 t ƒ t
 t ƒ d k sÖ t	 ‚ t ƒ  } |  t t ƒ | ƒ t t t | ƒ k st	 ‚ |  t
 t ƒ | ƒ t t t | ƒ k s=t	 ‚ |  t t ƒ | ƒ t t | ƒ t k slt	 ‚ |  t t ƒ | ƒ t t | ƒ k s—t	 ‚ |  t t ƒ | ƒ t t | ƒ k sÂt	 ‚ |  t t ƒ | ƒ t t | ƒ t k sñt	 ‚ xP t t t
 t t t f D]6 } | t ƒ }	 | |  |	 | ƒ | ƒ |	 k s
t	 ‚ q
W| t t t t ƒ t ƒ t t t t ƒ k s{t	 ‚ | t t t t ƒ t ƒ t t t t ƒ t k s¶t	 ‚ | t t t t ƒ t ƒ t
 t t t ƒ t k sñt	 ‚ | t t t t ƒ t ƒ t t t t ƒ t k s,t	 ‚ | t t t t ƒ t ƒ t t t t ƒ k sct	 ‚ | t t t t ƒ t ƒ t t t t ƒ t k sžt	 ‚ d  S(   Niÿÿÿÿ(   t   _osbornet	   _osborneiR   i   i   (   t   sympy.simplify.fuRx   Ry   R   R   R8   R   R.   R/   R;   R   R9   R   R   R   R
   R   R   R   R   R   R   R   R   R:   (
   t   oR?   R   R`   R[   RE   Rt   t   dRD   RL   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_hyper_as_trig[  s,    (F	///++/(7;;;7c          C   s…  g  t  t t f D] }  t |  ƒ ^ q \ } } } t | | | | d ƒ t t  t ƒ k sd t ‚ t | | | | d ƒ t t  t ƒ k s— t ‚ t | | | | d ƒ t t  t ƒ k sÊ t ‚ | | | | d d d | d | d | | d } t | j ƒ  ƒ d t t  t ƒ t t  t ƒ t t  ƒ t t ƒ d d k s[t ‚ t t t ƒ t t ƒ ƒ t t ƒ t t ƒ k s“t ‚ | t	 d ƒ | | d } t | ƒ | k sÈt ‚ | | d d | | d } t | ƒ | k sÿt ‚ | | | d } t | ƒ | k s*t ‚ | | t  d j ƒ  d | | d } t | ƒ t  d d t t  t ƒ k st ‚ d  S(   Ni   i   iýÿÿÿi   (
   R5   R6   R7   R
   R   R;   RT   R8   R   R   (   R?   t   tat   tbt   tcR`   (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt
   test_TR12iy  s     1333;G8(c          C   sÉ  t  t ƒ d t  t ƒ d }  t t ƒ d } t |  ƒ | k sG t ‚ t d |  ƒ d | k sg t ‚ t t  t ƒ d d t  t ƒ d d ƒ | d k s£ t ‚ t t  t ƒ d d t  t ƒ d d ƒ | d t  t ƒ d k sí t ‚ t t  t ƒ d d t  t ƒ d d ƒ | d t  t ƒ d k s7t ‚ t  t ƒ d t t  t ƒ d t }  t |  ƒ |  k sut ‚ t  t ƒ d t t  t ƒ d }  t |  ƒ |  k s¯t ‚ t t ƒ d d t  t ƒ d }  t |  ƒ |  k sét ‚ t d d t ƒ} t t  t ƒ d | t  t ƒ d | ƒ | | k s7t ‚ t t t ƒ d | t t ƒ d | ƒ t  t ƒ d | k s~t ‚ t  t ƒ d | d t  t ƒ d | }  t |  ƒ t  t ƒ d | | |  g k sØt ‚ t t t ƒ d t t ƒ d ƒ t  t ƒ d k st ‚ t  t ƒ d t  t ƒ d } t  t ƒ d d t  t ƒ d } d t  t ƒ d d t  t ƒ d } t | | | t d ƒ d t d t t ƒ d t t ƒ d k sÅt ‚ d  S(   Ni   i   i   R?   R@   iîÿÿÿi   (	   R   R8   R   R   R;   R9   R
   R   RA   (   R`   t   ansR?   t   p1t   p2t   p3(    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt	   test_TR14Œ  s.     <JJ&""<G*0;"&c           C   s¦   t  d d t t ƒ d ƒ t t ƒ d k s5 t ‚ t d d t t ƒ d ƒ t t ƒ d k sj t ‚ t d d t t ƒ d ƒ d t t ƒ d k s¢ t ‚ d  S(   Ni   i   (	   R    R   R8   R   R;   R!   R   R
   R"   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_TR15_16_17¨  s    55c           C   s  t  t d ƒ d t d f k s% t ‚ t  t d ƒ d t d f k sJ t ‚ t  t d ƒ d t d f k sp t ‚ t  t d ƒ d t d f k s– t ‚ t  d t d ƒ d t d f k s¿ t ‚ t  t t t ƒ t t d f k sè t ‚ t  t t t ƒ t t d f k st ‚ d  S(   Ni   iÿÿÿÿi   (   R2   R8   R;   R9   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   test_as_f_sign_1®  s    %%&&))N(\   t   sympyR    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   Rz   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   RJ   R-   R.   R/   R0   R1   R2   t   sympy.utilities.randtestR3   t   sympy.core.compatibilityR4   t	   sympy.abcR5   R6   R7   R8   R9   R:   R<   R=   RC   RG   RM   RN   RO   RP   RQ   R\   R]   Rb   Rc   Rd   Re   Rf   Rh   Rk   Rp   Rs   Ru   Rw   R}   R   R†   R‡   Rˆ   (    (    (    s;   lib/python2.7/site-packages/sympy/simplify/tests/test_fu.pyt   <module>   s>   ”².			$										7						 			$							