ó
¡¼™\c           @   sá   d  d l  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 d  d l m Z m Z m Z m Z d  d l m Z d  d l m Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d S(   iÿÿÿÿ(   t   Symbolt   sqrtt
   Derivativet   St   Functiont   exp(	   t   Pointt   Point2Dt   Linet   Circlet   Polygont   Segmentt   convex_hullt   intersectiont   centroid(   t   idifft   closest_pointst   farthest_pointst   _ordered_points(   t   solve(   t   raisesc    	      C   s=  t  d d t ƒ}  t  d d t ƒ} t  d d t ƒ} t d ƒ } t d ƒ } |  d | d d } d	 |  |  d | d | d
 } | t | | |  d ƒ j ƒ  k s­ t ‚ | t | | g |  d ƒ j ƒ  k s× t ‚ t | | |  d ƒ j ƒ  | k sþ t ‚ d |  t |  d d ƒ d
 } | j | t | | ƒ d ƒ j	 | ƒ sMt ‚ t g  t | | ƒ D]! } | j
 |  d ƒ j	 | ƒ ^ q`k st ‚ t |  | | | | g |  ƒ t | |  ƒ d k sÊt ‚ t | |  ƒ t | |  ƒ ƒ |  t |  ƒ | |  ƒ |  ƒ |  d t |  | |  ƒ ƒ | |  ƒ d k s8t ‚ t | |  ƒ | t |  ƒ | |  ƒ | g |  ƒ | t | |  ƒ t |  ƒ k st ‚ t | |  ƒ | t |  ƒ | | |  ƒ g |  ƒ | t |  ƒ t | |  ƒ |  ƒ k sêt ‚ t | |  ƒ | |  ƒ | |  ƒ | |  ƒ g |  ƒ t | |  ƒ |  ƒ k s9t ‚ d  S(   Nt   xt   realt   yt   tt   ft   gi   i   iýÿÿÿi   i   i   i    i   (   R    t   TrueR   R   t   simplifyt   AssertionErrorR   t   subsR   t   equalst   diffR   R   (	   R   R   R   R   R   t   circt   anst   explicitt   sol(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyt
   test_idiff   s$    "'*'!.C:nU]c           C   sI  t  t d d ƒ ƒ g  k s! t ‚ t t d „  ƒ t  t d d	 ƒ t d
 d ƒ t d d ƒ d t ƒt d d ƒ t d d ƒ g k sˆ t ‚ t  t d d ƒ t d d ƒ t d d ƒ d t ƒt d d ƒ t d d ƒ g k sß t ‚ t  t d d ƒ t d d ƒ t d d ƒ t d d d ƒd t ƒt d d ƒ t d d  ƒ g k sEt ‚ d  S(!   Ni    c           S   s   t  t d d ƒ d ƒ S(   Ni    i   (   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyt   <lambda>    t    i   iÿÿÿÿi   t   pairwiset   slope(   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   t	   TypeErrorR   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyt   test_intersection   s$    !''c          C   s›   t  t d „  ƒ d
 d d d d g }  t |  t d	 t ƒ Ž  t d d ƒ t d d ƒ t d d ƒ t d d ƒ g t d d ƒ t d d ƒ g f k s— t ‚ d  S(   Nc           S   s   t  t d d ƒ d ƒ S(   Ni    i   (   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyR&   4   R'   i   iÿÿÿÿiþÿÿÿi   iûÿÿÿi   iüÿÿÿt   polygon(   i   iÿÿÿÿ(   i   iþÿÿÿ(   i   iÿÿÿÿ(   iûÿÿÿiþÿÿÿ(   i   iüÿÿÿ(   R   R*   R   t   dictt   FalseR   R   (   t   points(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyt   test_convex_hull3   s
    3c          C   s  t  d d	 d
 ƒ }  |  j d d ƒ } t |  | ƒ t d d ƒ d k sL t ‚ t d d ƒ }  t d d ƒ } t |  | ƒ t d t d ƒ d ƒ k s™ t ‚ t t d d ƒ t d d ƒ ƒ t d d ƒ d k sÓ t ‚ t t d d ƒ t d d ƒ t d d ƒ ƒ t d d ƒ d 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   (   R
   t	   translateR   R   R   R   R   (   t   pt   q(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyt   test_centroid;   s    (/:c             sÂ  d d l  m }  d d l m } xñt t f D]ã} | t k rH t ‰  n t ‰  t t	 ‡  f d †  ƒ t
 d d ƒ t
 d d ƒ t
 d d ƒ g } t
 d d ƒ t
 d d ƒ t
 d d ƒ g } t
 d d ƒ t
 d d ƒ t
 d d	 ƒ g } t
 d d ƒ t
 d d ƒ t
 d
 d ƒ g } t
 d d ƒ t
 d d ƒ t
 d d ƒ g } t
 d d ƒ t
 d d ƒ t
 d d ƒ t
 d d ƒ g } t d d t ƒ}	 g  |	 d f |	 d d f |	 d d f f D] }
 t
 |
 ƒ ^ q¨} x | | | | | | | f D]p } | d „  | | d ƒ Dƒ ƒ } t ˆ  | Œ  ƒ d } \ }
 } |
 j | ƒ | k | t | ƒ k sÜt ‚ qÜWt ƒ  } x> t | ƒ d k r™| j t
 |  d d ƒ |  d d ƒ ƒ ƒ q\Wt | ƒ } | d „  | | d ƒ Dƒ ƒ } t ˆ  | Œ  ƒ d } \ }
 } |
 j | ƒ | k | t | ƒ k s- t ‚ q- Wt
 d d ƒ t
 d d ƒ t
 t d ƒ d t d ƒ d ƒ }
 } } t g  | |
 | | f d ƒ D] \ } } t | | f ƒ ^ qsƒ } t | | |
 ƒ | k s¸t ‚ t | | |
 ƒ | k sÖt ‚ d d d d d g } t | Œ  t t
 d d ƒ t
 d d
 ƒ f g ƒ k s$t ‚ d d d d d g } t | Œ  t t
 d d ƒ t
 d d ƒ f g ƒ k srt ‚ t d  d! ƒ t t
 d d ƒ t
 d d ƒ f g ƒ k s®t ‚ t t	 d „  ƒ d  S("   Niÿÿÿÿ(   t   randint(   t   subsetsc              s   ˆ  t  d d ƒ t  d d ƒ ƒ S(   Ni    (   R   (    (   t   func(    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyR&   P   R'   i    i   i   i   i
   i   R   t   positivec         s   s$   |  ] \ } } | j  | ƒ Vq d  S(   N(   t   distance(   t   .0t   it   j(    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pys	   <genexpr>c   s    i   id   c         s   s$   |  ] \ } } | j  | ƒ Vq d  S(   N(   R9   (   R:   R;   R<   (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pys	   <genexpr>n   s    iûÿÿÿi   iþÿÿÿiüÿÿÿc           S   s
   t  d ƒ S(   Ni   (   i   i   (   R   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyR&   „   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    (   t   randomR5   t   sympy.utilities.iterablesR6   t   mint   maxR   R   R   t
   ValueErrorR   R    R   t   listR9   R   R   t   sett   lent   addR   R   (   R5   R6   t   howt   p1t   p2t   p3t   p4t   p5t   dupR   t   at   sR/   t   dR"   t   bt   cR;   R<   (    (   R7   s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyt#   test_farthest_points_closest_pointsF   sT    	*****6B" 	, C=---N(   t   sympyR    R   R   R   R   R   t   sympy.geometryR   R   R   R	   R
   R   R   R   R   t   sympy.geometry.utilR   R   R   R   t   sympy.solvers.solversR   t   sympy.utilities.pytestR   R%   R+   R0   R4   RR   (    (    (    s=   lib/python2.7/site-packages/sympy/geometry/tests/test_util.pyt   <module>   s   .@"				