ó
¡¼™\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 d  d l m Z d  d l 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 d  d l  m! Z! d  d l" m# Z$ d  d l% m& Z& d  d l' m( Z( m) Z) m* Z* d  d	 l+ Z+ d  d	 l, Z, e d
 d e- ƒZ. e d d e- ƒZ/ e d d e- ƒZ0 e d d e- ƒZ1 e d d e- ƒZ2 e d d e- ƒZ3 e d d e- ƒZ4 e d d e- ƒ\ Z5 Z6 e d d e- ƒZ7 d „  Z8 d „  Z9 d „  Z: d „  Z; d „  Z< d „  Z= d „  Z> d „  Z? d „  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 e) d* „  ƒ ZN d+ „  ZO d, „  ZP d- „  ZQ d. „  ZR d/ „  ZS d0 „  ZT d1 „  ZU d2 „  ZV d	 S(3   iÿÿÿÿ(   t   Rationalt   Floatt   St   Symbolt   cost   oot   pit   simplifyt   sint   sqrtt   symbolst   acos(   t   range(   t   tan(   t   Circlet   GeometryErrort   Linet   Pointt   Rayt   Segmentt   Trianglet   intersectiont   Point3Dt   Line3Dt   Ray3Dt	   Segment3Dt   Point2Dt   Line2D(   t   Undecidable(   t   _asa(   t   cartes(   t   raisest   slowt   warnsNt   xt   realt   yt   zt   kt   x1t   y1t   ts   a,bt   mc              s$  d d l  m ‰ m ‰ m ‰  m ‰ t d ˆ ˆ d ƒ t t d d ƒ t d d ƒ ƒ k sa t ‚ t d ˆ d	 ˆ d ƒ t t d t	 d ƒ d	 ƒ t d t	 d
 ƒ d	 ƒ ƒ k sº t ‚ t d ˆ  ˆ d d d d d ƒt t d d ƒ t d d ƒ ƒ k st ‚ t d ˆ ˆ ƒ t t d d ƒ t d d ƒ ƒ k s@t ‚ t ˆ ˆ ƒ t t d d ƒ t d d ƒ ƒ k swt ‚ t
 t ‡ f d †  ƒ t
 t ‡ f d †  ƒ t
 t ‡ ‡ f d †  ƒ t
 t ‡  ‡ f d †  ƒ t
 t ‡ ‡ f d †  ƒ t
 t ‡  ‡ f d †  ƒ t
 t ‡ ‡ f d †  ƒ d  S(   Niÿÿÿÿ(   R"   R$   t   at   bi   i   i    iîÿÿÿi   iëÿÿÿi   i   R"   R+   R$   R,   iýÿÿÿc              s
   t  ˆ  ƒ S(   N(   R   (    (   R"   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   <lambda>"   t    c              s
   t  ˆ  ƒ S(   N(   R   (    (   R$   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   #   R.   c              s   t  ˆ  ˆ ƒ S(   N(   R   (    (   R"   R$   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   $   R.   c              s   t  ˆ  ˆ d d d d ƒS(   NR"   R+   R$   R,   (   R   (    (   R+   R,   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   %   R.   c              s   t  ˆ ˆ  ƒ S(   N(   R   (    (   R"   R$   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   &   R.   c              s   t  ˆ ˆ  d d d d ƒS(   NR"   R+   R$   R,   (   R   (    (   R+   R,   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   '   R.   c              s   t  ˆ  d d ˆ ƒ S(   Ni   i   (   R   (    (   R"   R$   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   (   R.   (   t	   sympy.abcR"   R$   R+   R,   R   R   R   t   AssertionErrorR   R   t
   ValueError(    (    (   R+   R,   R"   R$   s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_object_from_equation   s    "?YK;7c         C   s)   t  d ƒ } | |  | k  o& | k  SS(   s.   Test if two floating point values are 'equal'.s   1.0E-10(   R   (   R+   R,   t   t_float(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   feq+   s    c          C   s3  t  d d d d ƒ }  |  j } |  j } t t j t t  d d ƒ t  d d ƒ ƒ t t  d d ƒ t  d d ƒ ƒ ƒ j ƒ  t j ƒ  d ƒ sŽ t ‚ t |  | ƒ j t | | ƒ ƒ t d k s¿ t ‚ t	 j t	 t
 d d d ƒ t
 d d d ƒ ƒ t	 t
 d d d ƒ t
 d d d ƒ ƒ ƒ t t d ƒ d ƒ k s/t ‚ d  S(   Ni   i   i   i   i    i   (   R   t   orthogonal_directiont   originR4   R   t   angle_betweent   evalfR   R0   R   R   R   R	   (   R+   R,   t   o(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_angle_between1   s    		'@1*c          C   s†   t  d d d ƒ}  t  d d t d ƒ} |  j | ƒ t d k sH t ‚ | j |  ƒ t d k sg t ‚ |  j |  ƒ d k s‚ t ‚ d  S(   Ni    t   anglei   i   (   i    i    (   i   i   (   R   R   t   closing_angleR0   (   R+   R,   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_closing_angle<   s
     c          C   sC  t  t d d d ƒ t d d d ƒ ƒ }  t t t t ƒ t t t ƒ ƒ } | j ƒ  | k s` t ‚ t d	 d t	 d ƒj ƒ  t t
 d t
 d ƒ k s™ t ‚ t d
 d ƒ j ƒ  t d t
 d d t
 ƒ k sÏ t ‚ |  j |  j ƒ  ƒ |  j ƒ  k sö t ‚ t d d d d d g ƒj ƒ  t t
 d d t
 d d t
 d ƒ k sCt ‚ t t d d d ƒ t d d d ƒ ƒ j t t d d ƒ t d d ƒ t d d ƒ ƒ k s t ‚ t t t t t ƒ t t t t ƒ ƒ j t d ƒ t t t d ƒ k sît ‚ t d d ƒ j ƒ  t t
 d d t
 d d t
 d ƒ k s/t ‚ t t d „  ƒ d  S(   Ni    i   R;   i   i   i   t   direction_ratioc           S   s   t  t d f d ƒ j t ƒ S(   Ni   i   i   (   i   i   (   R   R"   t   arbitrary_point(    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   S   R.   (   i   i   (   i   i   (   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   R   R   R   R'   R(   R?   R0   R   R   R)   R   t   perpendicular_segmentR   R   t   midpointR    t   lengthR	   R   R1   (   t   l1t   l2(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_arbitrary_pointD   s    '! 6'/'6N/c       	   C   s  t  t d d ƒ t d d ƒ ƒ }  t  t t t ƒ t t d t ƒ ƒ } t  j |  ƒ t k sa t ‚ t  j |  | ƒ sy t ‚ t  j |  |  |  | ƒ s— t ‚ t  j |  | t  t d t ƒ t t d d ƒ t ƒ ƒ ƒ s× t ‚ t  j |  t  t d d ƒ t t t ƒ ƒ | ƒ t k st ‚ d  S(   Ni    i   i   i   (   R   R   R'   t   are_concurrentt   FalseR0   R    (   RC   RD   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_are_concurrent_2dV   s    !%@c       	   C   sR  t  d d d ƒ }  t |  t  d d d ƒ ƒ } t t  d d d ƒ t  d d d ƒ ƒ } t t  d d d ƒ t  d d d ƒ ƒ } t j | ƒ t k s– t ‚ t j | t t  t t t ƒ t  t t t ƒ ƒ ƒ t k sÕ t ‚ t j | t |  t  t t t ƒ ƒ t t  t t t ƒ t  t d t d ƒ ƒ ƒ t k s0t ‚ t j | | ƒ t k sNt ‚ d  S(   Ni    i   (	   R   R   R   RF   RG   R0   R'   R(   t   True(   t   p1RC   t
   parallel_1t
   parallel_2(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_are_concurrent_3d`   s    ''?!:c          C   s0  d d l  m }  d d d g t d d ƒ f } |  | d ƒ } t t d d ƒ t d d ƒ ƒ } d d d d g t d d d ƒ f } |  | d ƒ } t t d d d ƒ t d d d ƒ ƒ } d d d d d g t d d d d	 ƒ f } |  | d ƒ } t t d d d d ƒ t d d d d ƒ ƒ }	 d
 d d d d d d d g }
 x | D] } t | Œ  qCWx2 |
 D]* } x! | D] } t | | ƒ | ƒ qkWq^Wx | D] } t | Œ  q“Wx2 |
 D]* } x! | D] } t | | ƒ | ƒ q»Wq®Wx | D] } t | Œ  qãWx2 |
 D]* } x! | D] } t |	 | ƒ | ƒ qWqþWd S(   s”   Functions accepting `Point` objects in `geometry`
    should also accept tuples, lists, and generators and
    automatically convert them to points.iÿÿÿÿ(   t   subsetsi   i   i   i   i   i   i   t   containst   distancet   equalst   parallel_linet   perpendicular_lineR@   t
   projectionR   N(   i   i   (   i   i   i   (   i   i   i   i   (	   t   sympyRN   R   R   R   R   R   t   getattrR   (   RN   t	   singles2dt	   doubles2dt   l2dt	   singles3dt	   doubles3dt   l3dt	   singles4dt	   doubles4dt   l4dt   test_singlet   pt   func(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_argumentsl   s6    !$'*-c          C   s  t  d d ƒ }  t  d d ƒ } t  d d ƒ } t |  | ƒ j ƒ  } t | |  ƒ j ƒ  } t |  | ƒ } t t  t t ƒ t  t d t ƒ ƒ } t |  t  d d ƒ ƒ } t |  t  d d ƒ ƒ } t t  d d ƒ |  ƒ }	 t |  | ƒ }
 |
 j ƒ  } t d d d ƒt d d ƒ k st ‚ t d d t ƒt d d ƒ k s<t ‚ t d d t ƒt d d ƒ k sdt ‚ t |  | ƒ j d d ƒ t |  t  d d ƒ ƒ k st ‚ t |  | ƒ t |  | ƒ k sÁt ‚ t |  | ƒ t | |  ƒ k såt ‚ | t t  t t ƒ t  t	 t	 ƒ ƒ k st ‚ | | k s$t ‚ t |  | ƒ t | |  ƒ k sHt ‚ t |  | ƒ |  k sct ‚ |  | k sut ‚ |  | k s‡t ‚ |
 t |  | ƒ k s¢t ‚ t t  d d ƒ t  d d ƒ ƒ t t  d d ƒ t  d d ƒ ƒ k sêt ‚ t t  d d ƒ t  d d ƒ ƒ t t  d d ƒ t  d d ƒ ƒ k s2t ‚ | |
 k t
 k sJt ‚ t |  | ƒ |
 k set ‚ t t  t t ƒ t  t d t ƒ ƒ t |  t  d d ƒ ƒ k s¨t ‚ t |  | ƒ j t  t d d ƒ t d d ƒ ƒ k sát ‚ t |  t  t t ƒ ƒ j t d t d ƒ k st ‚ | j d k s,t ‚ | j t k sAt ‚ | j d k sVt ‚ t |  t  d d ƒ ƒ j t k s}t ‚ t | j | j ƒ  ƒ j | j k s§t ‚ t |	 j |	 j ƒ  ƒ j |	 j k sÑt ‚ t t  d d ƒ t |  t  d d ƒ ƒ j ƒ  ƒ j t |  t  d d ƒ ƒ j k s%t ‚ | j d k s:t ‚ t t t f t d t d f ƒ j d k snt ‚ t |  t  d d ƒ ƒ j d k s•t ‚ t d d t ƒ} | j t d	 t d
 ƒ t d d ƒ k sÖt ‚ | j t d t d
 ƒ t d d ƒ k st ‚ | j t t d
 ƒ t d d ƒ k s1t ‚ | j t t d ƒ t d  d! ƒ k s\t ‚ | j t t d ƒ t d" d# ƒ k sˆt ‚ x/ t d d ƒ D] } | j ƒ  | k s˜t ‚ q˜W| j |  j k rÞ| j |  j k sät ‚ | j | j k r| j | j k st ‚ |  j | j k o.| j k n rX|  j | j k oS| j k n s^t ‚ t |
 ƒ t t | |  ƒ ƒ k s…t ‚ |
 j ƒ  t d d g k s¦t ‚ t |  | ƒ j ƒ  t d d g k sÐt ‚ t d$ d t d
 ƒj ƒ  t d d g k st ‚ d  S(%   Ni    i   iÐ  t   slopei   iÿÿÿÿi   R;   i   i   iûÿÿÿi
   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i    i   i    (   i   i   i    (   i   i    i    (   i    i    (   i    i    (   iÿÿÿÿi   (   i    i    (   iÿÿÿÿiÿÿÿÿ(   i    i    (   i   iÿÿÿÿ(   i    i    (   i    i   (   i    i    (   i    iÿÿÿÿ(   i    i    (   R   R   t   random_pointR   R'   R   R0   R   t   scaleR(   RG   RA   R    RB   R	   Rd   t   sourcet   coefficientsR"   t   subsR   R   R$   t   hasht   plot_intervalR)   (   RJ   t   p2t   p10t   p_r3t   p_r4RC   t   l3t   l4t   r1t   r2t   s1t   p_s1t   rt   ind(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_basic_properties_2d‘   sr    %''(9$$-$HHC96'**T4'//,+,**P'!*c    	      C   sÑ  t  d d d ƒ }  t  d d d ƒ } t  t t t ƒ } t  t d t d ƒ } t |  | ƒ } t | | ƒ } t |  t  d d d ƒ ƒ } t |  | ƒ } t |  | ƒ } t d d d d d g ƒt t  d d d ƒ t  d d d ƒ ƒ k së t ‚ t d d d d d	 g ƒt t  d d d ƒ t  d d
 d ƒ ƒ k s3t ‚ t d d d d d g ƒt t  d d d ƒ t  d d d ƒ ƒ k s{t ‚ t t |  t  d d d ƒ ƒ ƒ t |  t  d d d ƒ ƒ k s½t ‚ t t t  d d d ƒ t  d d d ƒ ƒ ƒ t |  t  d d d ƒ ƒ k st ‚ t |  | ƒ t | |  ƒ k s/t ‚ | | k sAt ‚ | t | t  t t t ƒ ƒ k sht ‚ | | k szt ‚ t t  d d d ƒ t  d d d ƒ ƒ t t  d d d ƒ t  d d d ƒ ƒ k sÎt ‚ t t  d d d ƒ t  d d d ƒ ƒ t t  d d d ƒ t  d d d ƒ ƒ k s"t ‚ |  | k s4t ‚ |  | k sFt ‚ | j d d d g k sdt ‚ | j t  t	 d d ƒ t	 d d ƒ t	 d d ƒ ƒ k s t ‚ t |  t  d d d ƒ ƒ j
 t j k sÍt ‚ d  S(   Ni    i   iÿÿÿÿi   R>   i   i   i   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   R'   R   R   R   R0   R(   R>   RA   R    t
   zdirectionR   t   NegativeInfinity(	   RJ   Rl   t   p3t   p5RC   Rp   Rr   t   r3Rt   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_basic_properties_3d×   s2    HHHBN$'TT<c       
   C   sä  t  d d ƒ }  t |  t  d d ƒ ƒ } t |  t d d d ƒ ƒ } t |  t d d d ƒ ƒ } t |  t d d d ƒ ƒ } t t  d d ƒ t  d d ƒ ƒ } t  d t t d ƒ t d t f d t f ƒ k sÑ t ‚ t  t t d d ƒ t t d f t d f ƒ k s	t ‚ t d d d ƒ t	 d
 d ƒ k s0t ‚ t d d d ƒ t	 d d ƒ k sWt ‚ t	 t d d d ƒ t d d d ƒ ƒ j
 g  ƒ t k s“t ‚ t	 t d d d ƒ t d d d ƒ ƒ j
 t	 t d d d ƒ t d d d ƒ ƒ ƒ t k sðt ‚ | j
 t  d d ƒ ƒ t k st ‚ | j
 d ƒ t k s/t ‚ | j
 d ƒ t k sJt ‚ | j
 |  ƒ t k set ‚ | j
 d ƒ t k s€t ‚ | j
 d ƒ t k s›t ‚ | j
 t d d ƒ ƒ t k s¿t ‚ | j
 t d d ƒ ƒ t k sãt ‚ | j
 t d d ƒ ƒ t k st ‚ | j
 t d d ƒ ƒ t k s+t ‚ | j
 t	 |  t d d d ƒ ƒ ƒ t k s[t ‚ | j
 t	 t d d d ƒ t d d d ƒ ƒ ƒ t k s—t ‚ | j
 t d d d ƒ ƒ t k s¾t ‚ | j
 t d d d ƒ ƒ t k såt ‚ t t d d d ƒ t d d d ƒ ƒ j
 g  ƒ t k s!t ‚ t d t t t f ƒ j
 d t d t d t f ƒ s]t ‚ t t ƒ > t |  t d d d ƒ ƒ j
 t  d	 d	 ƒ ƒ t k s£t ‚ Wd  QXt t ƒ ) | j
 t  d	 d	 ƒ ƒ t k sÚt ‚ Wd  QXd  S(   Ni    i   iÿÿÿÿi   i   i   i   iöÿÿÿg      ð?(   i    i   i    (   i    i   i    (   i   i    i    (   i   i    i    (   i    i   (   i    i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i    i    i    (   R   R   R   R   R   R+   R,   R   R0   R   RO   RI   RG   R   R"   R$   R%   R!   t   UserWarning(   RJ   Rv   Rr   Rs   R}   t   l(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_containsú   sB    !88''<'6$$$$$0<''<<?c          C   s   t  d ƒ \ }  } } } t t |  | ƒ t | | ƒ ƒ } t d |  d | d d | d | d ƒ } | j | ƒ s} t ‚ d  S(   Ns
   u, v, w, zi   i   (   R
   R   R   RO   R0   (   t   ut   vt   wR%   R€   Ra   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_contains_nonreal_symbols$  s    !/c          C   sD  t  d d ƒ }  t  d d ƒ } t d d ƒ } t t  d d ƒ t  d d ƒ ƒ } t t  | | ƒ t  d d ƒ ƒ } t |  | ƒ } | j t  d d ƒ ƒ d k s¢ t ‚ | j d ƒ d k s½ t ‚ | j t  d d ƒ ƒ d | d k sé t ‚ | j t  t d ƒ d t d ƒ d ƒ ƒ d | k s%t ‚ t |  | ƒ j t  d d ƒ ƒ t d ƒ k sXt ‚ t |  | ƒ j t  d d ƒ ƒ t d ƒ k s‹t ‚ t |  | ƒ j t  d d ƒ ƒ d k s¸t ‚ t |  | ƒ j d	 ƒ t d ƒ k sât ‚ t d
 d ƒ j |  ƒ d k st ‚ t d d ƒ j | ƒ d k s*t ‚ t d d ƒ j |  ƒ d k sNt ‚ t d d ƒ j | ƒ d k srt ‚ | j t  d d ƒ ƒ t d ƒ k sœt ‚ | j t  d d ƒ ƒ d k sÀt ‚ | j t  d d ƒ ƒ t d ƒ k sêt ‚ t d d ƒ j t  d d ƒ ƒ d t d ƒ d k s%t ‚ | j d ƒ d k s@t ‚ d  S(   Ni    i   i   i   iÿÿÿÿg      ø?i   (   i    i    (   iÿÿÿÿi   (   i    i    (   i    i   (   i    i    (   i    i   (   i    i    (   i   i    (   i    i    (   i   i    (   i   i   (   i   i   (   i   i   (   R   R    R   R   RP   R0   R   R	   (   RJ   Rl   t   halfRt   t   s2Rv   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_distance_2d+  s.    !!$,<33-*$$$$*$*;c        
   C   s;   t  t ƒ ) t d d ƒ t d d ƒ k s1 t ‚ Wd  QXd  S(   Ni   i   i    (   i   i   (   i   i   i   (   i   i   i    (   i   i   i   (   R!   R   R   R0   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_dimension_normalizationH  s    c          C   sú  t  d d d ƒ t  d d d ƒ }  } t  t d ƒ d t d ƒ d t d ƒ d ƒ } t t  d d d ƒ t  d d d ƒ ƒ } t t  t d ƒ d t d ƒ d t d ƒ d ƒ t  d d d ƒ ƒ } t |  | ƒ } | j |  ƒ d k së t ‚ | j |  ƒ t d ƒ d k st ‚ | j | ƒ d t d ƒ d k s9t ‚ | j d ƒ d k sTt ‚ | j d ƒ t d ƒ d k syt ‚ | j |  ƒ d k s”t ‚ | j |  ƒ t d ƒ d k s¹t ‚ | j | ƒ d t d ƒ d k sât ‚ | j d ƒ d k sýt ‚ | j d ƒ t d ƒ d k s"t ‚ t |  | ƒ j t  d d d ƒ ƒ d t d ƒ d k s`t ‚ t |  | ƒ j t  d d d ƒ ƒ d t d ƒ d k sžt ‚ t |  | ƒ j t  d d d ƒ ƒ d k sÎt ‚ t |  | ƒ j d ƒ d k sòt ‚ t |  | ƒ j d ƒ d t d ƒ d k s$t ‚ t d d ƒ j |  ƒ d k sHt ‚ t d d ƒ j | ƒ t d ƒ k srt ‚ t d d ƒ j |  ƒ d k s–t ‚ t d d ƒ j | ƒ t d ƒ k sÀt ‚ | j t  d d d ƒ ƒ t d ƒ k sít ‚ | j t  d d d ƒ ƒ d k st ‚ | j d ƒ t d ƒ k s5t ‚ | j d ƒ d k sPt ‚ t d d ƒ j d ƒ d t d ƒ d k s‚t ‚ t d d  ƒ j t  d d	 d ƒ ƒ t d
 ƒ d k s¼t ‚ t d! d" ƒ j t  d d d ƒ ƒ t d ƒ d k söt ‚ d  S(#   Ni    i   i   i   i   iÿÿÿÿi   g      ø?iýÿÿÿi	   iN   (   i    i    i    (   i    i    i    (   i    i    i    (   i    i    i    (   i   i   i   (   i   iÿÿÿÿi   (   i    i    i    (   i    i   i    (   i    i    i    (   i    i   i    (   i    i    i    (   i   i    i    (   i    i    i    (   i   i    i    (   iÿÿÿÿiÿÿÿÿiÿÿÿÿ(   i   i   i   (   i    i    i    (   i   i   i   (   iÿÿÿÿiÿÿÿÿi   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (	   R   R    R   R   R   RP   R0   R	   R   (   RJ   Rl   R{   Rt   R‡   Rv   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_distance_3dM  s>    %0'E%)%%)%>>0$2$*$*-'!2:c          C   sm  t  d d ƒ }  t  d d ƒ } t |  | ƒ } t d
 d t ƒ} t t  t t ƒ t  t d t ƒ ƒ } | j |  j ƒ j t t  d d ƒ t  d d ƒ ƒ ƒ s  t ‚ | j |  ƒ j t t  d d ƒ t  d d ƒ ƒ ƒ sÙ t ‚ t t  t t ƒ t  t t ƒ ƒ j	 t  t t ƒ ƒ j t t  t t ƒ t  t d t t ƒ ƒ ƒ sAt ‚ | j	 |  j ƒ j t t  d d ƒ t  d d ƒ ƒ ƒ s}t ‚ | j	 |  ƒ j t t  d d ƒ t  d d ƒ ƒ ƒ s¶t ‚ | j
 t  d d ƒ ƒ d t t d ƒ t t d d ƒ j d ƒ st ‚ t |  t d d d ƒ ƒ j t  d d ƒ ƒ t k s:t ‚ t t d d d ƒ t d d d ƒ ƒ j t t d	 d d ƒ t d d d ƒ ƒ ƒ t k s—t ‚ t t d d d ƒ t d d d ƒ ƒ j t |  t d d d ƒ ƒ ƒ t k sèt ‚ t |  t d d d ƒ ƒ j t  d d ƒ ƒ t k s!t ‚ t |  t d d d ƒ ƒ j t |  t d d d ƒ ƒ ƒ t k sft ‚ t d t t f ƒ j t  d d d ƒ ƒ j t t d d d ƒ t t d ƒ d t d ƒ d d ƒ ƒ ƒ sÔt ‚ t d t t f ƒ j t  d d d ƒ ƒ j t d t d ƒ d t d ƒ d f ƒ ƒ s0t ‚ t |  t d d d ƒ ƒ j t  d d ƒ ƒ t k sit ‚ d  S(   Ni    i   i   Rd   iÿÿÿÿi   i   g      ð?iûÿÿÿ(   i    i   (   i    i    (   i    i    (   i    i   (   R   R   R*   R'   RS   t   argsRQ   R0   R(   RR   RP   t   absR	   R   R   RG   RI   R   R)   R   R@   R   (   RJ   Rl   RC   RD   Rp   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_equalst  s*    %<944<9K9]Q9E*D\c          C   s  t  d d ƒ }  t  d d ƒ } t |  | ƒ } t t  t t ƒ t  t d t ƒ ƒ } t | j ƒ  ƒ t t t t f k s~ t ‚ t | j ƒ  ƒ t t t t f k sª t ‚ t | j ƒ  ƒ t t t t f k sÖ t ‚ t | j ƒ  ƒ t t t t f k st ‚ t |  t  d d ƒ ƒ j d t d t ƒ t k s8t ‚ t |  t  d d ƒ ƒ j ƒ  t k sbt ‚ t t  d d ƒ t  d d ƒ ƒ j ƒ  t d k s™t ‚ t | t  d d ƒ ƒ j ƒ  t d k sÇt ‚ t t  t t t ƒ t  t	 t	 t	 ƒ ƒ j ƒ  t t t t
 f k st ‚ t t  d d d ƒ t  d d d ƒ ƒ j ƒ  t t d t t
 d f k sat ‚ t t  d d d ƒ t  d d d ƒ ƒ j ƒ  t d t t
 d f k s­t ‚ t t  d d d ƒ t  d d d ƒ ƒ j ƒ  t d t t
 d f k sùt ‚ t t  d d d ƒ t  d d d ƒ ƒ j ƒ  t t d t
 d f k sEt ‚ t t  d d d ƒ t  d d d ƒ ƒ j ƒ  t d t d f k sŒt ‚ t t  d d d ƒ t  d d d ƒ ƒ j ƒ  t d t
 d f k sÓt ‚ t t  d d d ƒ t  d d d ƒ ƒ j ƒ  t d t
 d f k st ‚ d  S(   Ni    i   R"   R$   i   i   i   (   R   R   R'   R   t   equationR"   R$   R0   R   R(   R%   (   RJ   Rl   RC   Rp   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_equationŽ  s8    %,,,,6*7.**'*"*"*"***c          C   sÚ  t  d d ƒ }  t  d d ƒ } t  t t ƒ } t  t t ƒ } t |  | ƒ } t t  d d ƒ t  d d ƒ ƒ } t t  d d ƒ t  d d ƒ ƒ } t t  d d ƒ t  d d ƒ ƒ } t |  | ƒ } t t  d d ƒ t  d d ƒ ƒ }	 t t  d d ƒ t  d d ƒ ƒ }
 t |  | ƒ } t t  d d ƒ t  d d ƒ ƒ } t t  d d ƒ t  d d ƒ ƒ } t | |  ƒ |  g k snt ‚ t | t  t d t ƒ ƒ g  k s–t ‚ t | t | | ƒ ƒ | g t | | ƒ g g k sÏt ‚ t | | j t  t d t ƒ ƒ ƒ g  k s t ‚ t | | ƒ | g k st ‚ t | | ƒ | g k s<t ‚ t | | ƒ | g k sZt ‚ t | | ƒ | g k sxt ‚ t t t  d d	 ƒ t  d	 d	 ƒ ƒ t t  d
 d
 ƒ t  d
 d ƒ ƒ ƒ g  k sÉt ‚ t | | ƒ | g k sçt ‚ t | t t  d d ƒ t  d d ƒ ƒ ƒ t t  d d ƒ t  d d ƒ ƒ g k s;t ‚ t | t t  d d ƒ t  d d ƒ ƒ ƒ t  d d ƒ g k s}t ‚ t | t t  d d ƒ t  d d ƒ ƒ ƒ t t  d d ƒ t  d d ƒ ƒ g k sÑt ‚ | j | ƒ | g k sït ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ g  k s%t ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ t |  t  d d ƒ ƒ g k spt ‚ | j t | |  ƒ ƒ | g k s—t ‚ t | |  ƒ j |	 ƒ g  k s»t ‚ | j |
 ƒ |
 j | ƒ k oç|
 g k n sòt ‚ t	 d d ƒ j t	 d d ƒ ƒ t	 d d ƒ g k s+t ‚ t	 d d ƒ j t	 d d ƒ ƒ t	 d d ƒ g k sdt ‚ t t  d d ƒ t  d d ƒ ƒ j t t  d d ƒ t  d d ƒ ƒ ƒ t t  d d ƒ t  d d ƒ ƒ g k sÓt ‚ t
 d d ƒ j t
 d d ƒ ƒ t
 d d  ƒ g k st ‚ t
 d! d" ƒ j t
 d# d$ ƒ ƒ t
 d% d& ƒ g k sEt ‚ t
 d' d( ƒ j t
 d) d* ƒ ƒ t d+ ƒ g k s{t ‚ t
 d, d- ƒ j t
 d. d/ ƒ ƒ t
 d0 d1 ƒ g k s´t ‚ t
 d2 d3 ƒ j t
 d4 d5 ƒ ƒ t
 d6 d7 ƒ g k sít ‚ t
 d8 d9 ƒ j t
 d: d; ƒ ƒ t d d ƒ g k s&t ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ t  d d ƒ g k sht ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ t t  d d ƒ | ƒ g k s³t ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ g  k sét ‚ | j t t  d d ƒ |  ƒ ƒ |  g k st ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ t |  t  d d ƒ ƒ g k sdt ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ g  k sšt ‚ | j | ƒ | g k s¸t ‚ | j | ƒ | g k sÖt ‚ d  S(<   Ni    i   i   i   i   g      à?g      Ð?iöÿÿÿi
   iûÿÿÿi   iÿÿÿÿiþÿÿÿg      ø?(   i    i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i    i    (   i   i    (   i   i    (   i   i    (   i    i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i    i    (   i   i    (   i   i    (   i   i    (   i    i    (   i   i    (   i   i    (   i   i    (   i   i    (   i    i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i    i    (   i   i    (   iþÿÿÿi    (   i   i    (   i    i    (   i   i    (   i    i    (   i   i    (   iþÿÿÿi    (   i    i    (   R   R'   R(   R   R   R   R   R0   RR   R   R   R   (   RJ   Rl   R{   t   p4RC   Rp   Rr   Rs   t   r4t   r6t   r7Rt   R‡   t   s3(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_intersection_2d°  sr    !!!!!!!(91QTBT6K'$799B-**'***BK60K6c          C   s  t  d d d ƒ }  t  d d d ƒ } t |  | ƒ } t t  d d d ƒ t  d d d ƒ ƒ } t t  d d d ƒ t  d d d ƒ ƒ } t t  d d d ƒ t  d d d ƒ ƒ } t t  d d d ƒ t  d d d ƒ ƒ } t | |  ƒ |  g k sí t ‚ t | t  t d t d ƒ ƒ g  k st ‚ t | | j |  ƒ ƒ t t  d d d ƒ t  d d d ƒ ƒ g k s`t ‚ t | | ƒ | g k s~t ‚ t | | ƒ | g k sœt ‚ t | | ƒ | g k sºt ‚ t | t t  d d d ƒ t  d d d ƒ ƒ ƒ t  d d d ƒ g k st ‚ t | t t  d d d ƒ t  d d d ƒ ƒ ƒ t t  d d d ƒ t  d d d ƒ ƒ g k set ‚ t t t  d d d ƒ t  d d d ƒ ƒ t t  d d d ƒ t  d d d ƒ ƒ ƒ t  d d d ƒ g k sÑt ‚ t | t t  d d d ƒ t  d d d ƒ ƒ ƒ t t  d d d ƒ t  d d d ƒ ƒ g k s1t ‚ t | | ƒ | g k sOt ‚ t t  d d d ƒ t  d d d ƒ ƒ j t t  d d d ƒ t  d d d ƒ ƒ ƒ t  d d d ƒ g k s»t ‚ t d d ƒ j t d	 d
 ƒ ƒ t  d d d ƒ g k s÷t ‚ t d t t f ƒ j t d t t f ƒ ƒ t  t t ƒ g k s<t ‚ t t  d d d ƒ t  d d d ƒ ƒ j t t  d d d ƒ t  d d d ƒ ƒ ƒ g  k s™t ‚ d  S(   Ni    i   i   i   i   iÿÿÿÿ(   i    i   i   (   i    i   i   (   i    i   i   (   i    i   i   (   i    i    (   i    i   (	   R   R   R   R   R   R0   R'   RR   R)   (   RJ   Rl   RC   RD   Rr   Rs   Rt   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_intersection_3dò  s6    ''''+HK-3N-3N<*c          C   sË  t  d d d ƒ }  t  d d d ƒ } t  t t t ƒ } t t t t ƒ t t t ƒ ƒ } t t t t ƒ t t d t ƒ ƒ } t j t t d d ƒ t d d ƒ ƒ | ƒ s¯ t ‚ t j | t t t t ƒ t t d t ƒ ƒ ƒ t k sì t ‚ t j | | j t t t ƒ ƒ ƒ st ‚ t j | | j t d d ƒ ƒ ƒ sAt ‚ t	 |  | ƒ j t	 |  | ƒ ƒ sht ‚ t	 t  d d d ƒ t  d d d ƒ ƒ j t	 t  d d d ƒ t  d d d ƒ ƒ ƒ t k sÅt ‚ t	 |  | ƒ j | ƒ t	 t  t t t ƒ t  t d t d t d ƒ ƒ k st ‚ t	 |  | ƒ j | j
 ƒ t	 t  t t t ƒ t  t d t d t d ƒ ƒ k sjt ‚ t	 t  d d d ƒ t  d d d ƒ ƒ j t	 t  d d d ƒ t  d d d ƒ ƒ ƒ t k sÇt ‚ d  S(   Ni    i   i   (   R   R'   R   R   R(   t   is_parallelR0   RG   RR   R   R‹   (   RJ   Rl   R{   RD   t   l2_1(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_is_parallel  s     !%3=+*']'*<c          C   sè  t  d d ƒ }  t  d d ƒ } t |  | ƒ } t t  t t ƒ t  t t ƒ ƒ } t |  t  t t ƒ ƒ } t j | | ƒ s t ‚ t j | | ƒ t k s t ‚ | j ƒ  } | j | ƒ | k sÄ t ‚ t	 j t	 t
 d d d ƒ t
 d d d ƒ ƒ t	 t
 d d d ƒ t
 d d d ƒ ƒ ƒ t k s$t ‚ t	 j t	 t
 d d d ƒ t
 d d d ƒ ƒ t	 t
 d d d ƒ t
 d d d ƒ ƒ ƒ t k s„t ‚ t	 j t	 t
 d d d ƒ t
 d d d ƒ ƒ t	 t
 t t t ƒ t
 t t t ƒ ƒ ƒ t k sät ‚ d  S(   Ni    i   (   R   R   R'   R(   t   is_perpendicularR0   RG   Re   R@   R   R   RI   (   RJ   Rl   RC   RD   t   l1_1Ra   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_is_perpendicular+  s    !*6*6*c          C   s6  t  d d ƒ }  |  j d d ƒ } t t d d d ƒ t d d d ƒ ƒ } t t  d d ƒ t  d d ƒ ƒ } t t  d d ƒ |  ƒ } | j t |  | ƒ ƒ sŸ t ‚ | j | ƒ t k sº t ‚ | j t	 t d d d ƒ t d d d ƒ ƒ ƒ t
 k sö t ‚ | j t	 t d d d ƒ t d d d ƒ ƒ ƒ t k s2t ‚ d  S(   NiÐ  i   i   i    (   R   Rf   R   R   R   R   t
   is_similarR0   RG   R   RI   (   RJ   Rl   Rr   Rs   Rt   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_is_similar@  s    '!<c       
   C   s   t  d d d ƒ t t d d ƒ t d d ƒ t d t d t d ƒ t d t d	 ƒ d
 t d ƒ t d t d ƒ t d t d	 ƒ ƒ ƒ k s— t ‚ t d d ƒ j	 t
 d d ƒ ƒ t d d ƒ g k sÐ t ‚ t d d ƒ j	 t d d ƒ ƒ t d d ƒ g k s	t ‚ t
 d d ƒ j	 t
 d d ƒ ƒ t d d ƒ g k sBt ‚ t
 d d ƒ j	 t d  d! ƒ ƒ t d d ƒ g k s{t ‚ t
 d" d# ƒ j t d$ d% ƒ ƒ t k s¨t ‚ t d& d' ƒ t d( d) ƒ k sÌt ‚ d t d t d	 ƒ t d t d	 ƒ t d ƒ }  d t d ƒ t d t d	 ƒ d d t d t d	 ƒ d t d t d	 ƒ d } t t d d ƒ t d t d ƒ ƒ ƒ j t |  | ƒ ƒ t k sœt ‚ d  S(*   Nix   i   i4   i    iüÿÿÿi   iZ   i   i-   i   i   i   i
   i   iøÿÿÿi   iýÿÿÿ(   i    i    (   i   i   (   i   i    (   i   i   (   i    i    (   i   i   (   i   i    (   i   i   (   i    i    (   i   i   (   i   i    (   i   i   (   i    i    (   i   i   (   i   i    (   i   i   (   i    i    (   i
   i
   (   i   i   (   i   i   (   i   i   (   i   i   (   i    i    (   i
   i
   (   t   asaR   R   R   R   R   R	   R0   R   R   R   R   RO   RI   R   (   R"   R$   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_line_intersectionO  s    *C9999-$4Vc          C   s¾   t  t t t t ƒ t t t t ƒ ƒ }  t t d d ƒ t d d ƒ ƒ j t k sW t ‚ |  j t	 d ƒ t	 t t d ƒ k s„ t ‚ t
 t d d d ƒ t d d d ƒ ƒ j t k sº t ‚ d  S(   Ni    i   i   i   (   R   R   R'   R(   R   R   RB   R   R0   R	   R   (   R‡   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_lengthb  s    '0-c          C   s…  t  d d ƒ }  t d d d ƒ } t  t t ƒ } t |  t  d d ƒ ƒ } t t d d d ƒ t d d d ƒ ƒ } t | t d d d ƒ ƒ } t t  d d ƒ t  d d ƒ ƒ } t t  t t ƒ t  t t ƒ ƒ j t  t t ƒ ƒ t  t t ƒ k sô t ‚ t t  t t ƒ t  t d t ƒ ƒ j t  d d ƒ ƒ t  t d ƒ k s@t ‚ t	 t  d d ƒ t  d d ƒ ƒ j | ƒ t	 t  d d ƒ t  d d ƒ ƒ k s‘t ‚ t	 t  d d ƒ t  d d ƒ ƒ j | ƒ t	 t  d d ƒ t  d d ƒ ƒ k sât ‚ | j | ƒ |  k sýt ‚ | j t |  t  d d ƒ ƒ ƒ t t  d d ƒ t  d d ƒ ƒ k sEt ‚ | j t |  t  d d ƒ ƒ ƒ |  k srt ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ t  d d ƒ k s±t ‚ | j t t  d d ƒ t  d d	 ƒ ƒ ƒ t	 t  d d ƒ t  d d ƒ ƒ k st ‚ | j t	 t  d d ƒ t  d	 d
 ƒ ƒ ƒ t	 t  d d ƒ t  d d ƒ ƒ k sSt ‚ | j t t  d d ƒ t  d d ƒ ƒ ƒ t  d d ƒ k s’t ‚ | j t t  d d ƒ t  d d	 ƒ ƒ ƒ t	 t  d d ƒ t  d d ƒ ƒ k sãt ‚ | j t	 t  d d ƒ t  d	 d
 ƒ ƒ ƒ t	 t  d d ƒ t  d d ƒ ƒ k s4t ‚ | j t
 | t d d d ƒ ƒ ƒ t
 t d d d ƒ t t d ƒ d t d ƒ d t d ƒ d ƒ ƒ k s£t ‚ | j t
 | t d d d ƒ ƒ ƒ t
 t d d d ƒ t t d ƒ d t d ƒ d t d ƒ d ƒ ƒ k st ‚ | j t d d d ƒ ƒ t d d ƒ k sBt ‚ | j t t d d d ƒ t d d d ƒ ƒ ƒ j | ƒ st ‚ d  S(   Ni    i   i   iþÿÿÿi   iÿÿÿÿi   i   iûÿÿÿiöÿÿÿ(   R   R   R'   R   R   R   R(   RT   R0   R   R   R   RQ   (   RJ   Rl   R{   RC   RD   Rp   Rr   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_projectioni  s0    '!HLQQH-?QQ?QQoo0c          C   s#  t  t d d ƒ t d d ƒ ƒ }  t t t d ƒ d t d ƒ d ƒ t t d ƒ d t d ƒ d ƒ ƒ } t  t t d ƒ d t d ƒ d ƒ t t d ƒ d t d ƒ d ƒ ƒ j } |  j ƒ  j | ƒ sÓ t ‚ |  j | ƒ j t  |  j | ƒ ƒ sý t ‚ |  j | d ƒ j | ƒ st ‚ d  S(   Ni    i   i   i   (   i   i    (   R   R   R   R   RA   t   perpendicular_bisectorRQ   R0   (   Rt   t   alinet   on_line(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_perpendicular_bisectorˆ  s    !JM*c             sÐ   t  d d t ƒ\ ‰  }  t ˆ  d f |  d f ƒ ‰ t t d „  ƒ t t d „  ƒ t t ‡  ‡ f d †  ƒ t t d „  ƒ t t d „  ƒ t t d	 „  ƒ t t d
 „  ƒ t t d „  ƒ t t d „  ƒ d  S(   Ns   a,bR#   i    c           S   s   t  d d ƒ S(   Ni   (   i   i   (   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   –  R.   c           S   s   t  t d d ƒ t d d ƒ ƒ S(   Ni    (   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   —  R.   c              s   t  d ˆ  d ƒ ˆ k S(   Ni   i    (   R   (    (   t   dt   s(    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   ˜  R.   c           S   s   t  t d d ƒ ƒ S(   Ng      ð?(   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   ™  R.   c           S   s%   t  t d d d ƒ t d d d ƒ ƒ S(   Ni    (   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   š  R.   c           S   s   t  d d ƒ S(   Ni   (   i   i   (   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   ›  R.   c           S   s   t  t d d d ƒ ƒ S(   Ni    (   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   œ  R.   c           S   s   t  d d ƒ S(   Ni   (   i   i   (   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-     R.   c           S   s:   t  t d d ƒ t d d ƒ ƒ j t t d d ƒ d ƒ ƒ S(   Ni    i   (   R   R   RT   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   ž  s   !(   R
   RI   R   R   t	   TypeErrorR1   R   R   (   t   e(    (   R§   R¨   s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_raises’  s    c        
   C   s›  t  d d t d ƒt  d d ƒ k s+ t ‚ t  d d t d ƒt  d d ƒ k sV t ‚ t  d d t d ƒt  d d ƒ k s‚ t ‚ t  d d d t d ƒt  d d ƒ k s± t ‚ t  d d d t d ƒt  d d ƒ k sà t ‚ t  d d d t d ƒt  d  d! ƒ k st ‚ t  d" d t ƒt  d# d$ ƒ k s6t ‚ t  d% d d	 t ƒt  d& d' ƒ k sat ‚ t  d( d d
 t ƒt  d) d* ƒ k sŒt ‚ t  d+ d d ƒt  d, d- ƒ k s³t ‚ t  d. d d t ƒt  t d d ƒ t d t d ƒ t d t d ƒ d ƒ d t d t d ƒ d ƒ d d t d ƒ ƒ ƒ k s=t ‚ t  d/ d d t ƒt  t d d ƒ t d d t d t ƒ ƒ ƒ k sˆt ‚ t  d0 d d ƒt  d1 d d t d ƒ f ƒ k s¿t ‚ t d2 d d d d g ƒt t d d d ƒ t d d d ƒ ƒ k st ‚ t d3 d d d d g ƒt t d d d ƒ t d d d ƒ ƒ k sOt ‚ t d4 d d d d g ƒt t d d d ƒ t d d d ƒ ƒ k s—t ‚ d  S(5   Ni   R;   i   i   i    iýÿÿÿi   g      @g      @g      @g333333@i
   g®Gáz@R>   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i    i   (   i   i   (   i   i   (   i    i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   R   R0   R   R	   R   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_ray_generation¢  s&    ++,///'++'"b")7HHc          C   s–   t  t t d ƒ t ƒ }  t t t t ƒ d d ƒ} | j |  ƒ t t t t t t t ƒ t ƒ t t t t t t t ƒ t ƒ g k s’ t	 ‚ d  S(   Ni    Rd   (
   R   R   R"   R$   R   R&   R%   R   R	   R0   (   t   circlet   line(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_symbolic_intersect¹  s    c             sQ   ‡  ‡ ‡ ‡ f d †  }  d d ‰ ‰ d d	 ‰  ‰ |  ƒ  d
 d ‰ ‰ |  ƒ  d  S(   Nc             ss   xl t  t t t f g d Œ  D]N \ }  } |  ˆ  ˆ ƒ } | ˆ ˆ ƒ } | j | ƒ | j | ƒ k s t ‚ q Wd  S(   Ni   (   R   R   R   R   R   R0   (   t   ft   gRC   RD   (   R+   R,   t   cR§   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   _checkÁ  s    )iþÿÿÿi    i   iýÿÿÿ(   iþÿÿÿiþÿÿÿ(   iþÿÿÿi    (   i    i    (   i   i   (   iþÿÿÿiýÿÿÿ(   iþÿÿÿi    (    (   R³   (    (   R+   R,   R²   R§   s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_issue_2941À  s    c             s|   t  d ƒ ‰ t d d ƒ t d d ƒ }  } t |  | ƒ ‰  ˆ  j d ˆ ƒ i d ˆ 6k s_ t ‚ t t ‡  ‡ f d †  ƒ d  S(   NR)   i    i   i   i   c              s   ˆ  j  d ˆ ƒ S(   Ni    (   i    i    (   t   parameter_value(    (   R€   R)   (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyR-   Ô  R.   (   i   i   (   R   R   R   Rµ   R0   R   R1   (   RJ   Rl   (    (   R€   R)   s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   test_parameter_valueÏ  s
    %(W   RU   R    R   R   R   R   R   R   R   R   R	   R
   R   t   sympy.core.compatibilityR   t(   sympy.functions.elementary.trigonometricR   t   sympy.geometryR   R   R   R   R   R   R   R   R   R   R   R   R   R   t   sympy.geometry.lineR   t   sympy.geometry.polygonR   RŸ   t   sympy.utilities.iterablesR   t   sympy.utilities.pytestR   R    R!   t	   tracebackt   sysRI   R"   R$   R%   R&   R'   R(   R)   R+   R,   R*   R2   R4   R:   R=   RE   RH   RM   Rc   Rx   R~   R   R…   Rˆ   R‰   RŠ   R   R   R•   R–   R™   Rœ   Rž   R    R¡   R¢   R¦   R«   R¬   R¯   R´   R¶   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_line.pyt   <module>   sb   R^						
		%	F	#	*				'		"	B	$						
				