
\c           @   sh  d  d l  m Z 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 d  d l m Z d  d l m Z d  d l m Z m Z d  d l m Z m Z m Z d  d l m Z d	   Z  d
   Z! e d    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   Abs(   t   S(   t	   decomposet   best_origint   distance_to_sidet   polytope_integratet
   point_sortt   hyperplane_parameterst   main_integrate3dt   main_integratet   polygon_integratet   lineseg_integratet   integration_reductiont   integration_reduction_dynamict	   is_vertex(   t	   Segment2D(   t   Polygon(   t   Pointt   Point2D(   t   xt   yt   z(   t   slowc           C   s  t  t  i t d 6k s t  t  t d  i t d d 6k sF t  t  t t  i t t d 6k sm t  t  t t  i t t d 6k s t  t  t d t  i t d 6t d d 6k s t  t  d t d d t d  i d d 6d t d 6d t d d 6k st  t  t d d t t  i t d d t t d 6k sRt  t  d t d t d t t d t d t d  i d d 6d t t d 6d t d d 6t d t t d d 6k st  t  t t  t h k st  t  t d t  t d h k st  t  t t t  t t h k s<t  t  t t t  t t h k sat  t  t d t t  t t d h k st  t  d t d d t d t  d d t d t d h k st  t  t d d t t t  t d d t t h k st  t  d t d t d t t d t d t d t  d t d t d t d t t d t d h k st  d  S(	   Ni   i   i   i   i   i    i   i	   (   R   R   t   AssertionErrorR   t   True(    (    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_decompose   s$    '''2M?5K&&%-D=8c          C   so  t  d t d t  d t d d t t d t  d t }  t t d d  t d d   } t t t d  d d  t t d  d d   } t t d t d  d  t d t d  d   } t t d d  t d d   } t t d d  t d d   } t t d d  t d d   } t d	 d | |   d
 k sMt  t d d | t d  t d  d d f k st  t d d | t d  d t d  d f k st  t d d | t d t  d  d k st  t d d | t d t  d  d k st  t d d | t d t  d  d k s>t  t d d | t d t  d  d k sk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   (   i   i    (   i   i   (   i    i   (   i   i   (   i   i    (   R   R   R   R   R   R   R   (   t   expr1t   l1t   l2t   l3t   l4t   l5t   l6(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_best_origin*   s    >!55!!!!55---c          C   s  t  t t d d  t d d  t d d   d d t t f d k sN t  t  t t d d  t d d  t d d  t d d   t t  t d  d k s t  t  t t d d  t d d  t d d   d t d d	 t  t d
  d k st  t  t t d d  t d t d   t t d  t d   t t d  d   d  d k slt  t t d d  t t d  d t d  d  t t d  d t d  d  t d d  t t d  d t d  d  t t d  d t d  d   }  t  |  d  t d t d   d k s>t  t  d d d g d d t t f d k snt  t  d d d d g t t  t d  d k st  t  dddg d t d d	 t  t d
  d k st  t  dd t d  f d f t d  d f d f d
g d  d k s,t  t d  d t d  d f d f dt d  d f t d  d t d  d f t d  f t d  d t d  d f t d  f dt d  d f t d  d t d  d f d f g }  t  |  d  t d t d   d k s#t  t  t t d d  t d d  t d d  t d d  t d d   d  d k s}t  t  t t d d  t d d  t d d  t d d  t d d  t d d   d  d k st  t  dddddg d  d k st  t  ddddd d"g d  d k s:t  t t d d  t d d  t d d  t d d  t d d  t d d  t d d   } t  | t d t t t d  t d  d d#k st  t t d d   t d! d"  t d# d$  t d% d&  t d' d(   } t  | t d t t t d  t d)  d* d$k sVt  t t d, d-  t d. d/  t d0 d1  t d2 d3   } t  | t d t t t d  t d4  d d%k st  t t d5 d6  t d7 d8  t d9 d:  t d; d<  t d= d>   } t  | t d t t t d  t d?  d&k sJt  t t d d  t d d  t d d   } g  } t d@ t t dA t d d t d t d } t d t d t d t d d t d } t d t d@ t t d t d t d t d }	 | j | | |	 f  t  | | dB d }
 |
 | t dC  dD k s^t  |
 | t dE  dF k s~t  |
 |	 t dG  dH k st  t  t t d d  t d d  t d d  t d d   dB d i d d 6d d 6t d  d t 6t d  d@ t d t d 6t d  d t d 6t d  d t d 6t d  d t 6t d  d t t d 6t d  d t d 6t d  d t d 6t d  d t d t 6t d  d t d t 6t d  d t t 6t d  d t d 6t d  d t d 6t d  d t t d 6k s3
t  d'd(d)d*d+d,d-d.g d d d d g d d d d g d dA d d g d d d dA g d d d dA g d d d d g g } t  | d  t dI  k s
t  d/d0d1d2d3d4d5d6g d dA d d g d d dA d g d d d dA g d d d d g d d d d g d d d d g g } d7d8d9d:d;d<d=d>d?d@dAdBg d d+ d d g d dA d d g d d d d d d g d+ d d d g d d@ d d g d@ d d d g d dA d d g dA d d@ d d+ d g g	 } dCdDdEdFt d  d t d  d t d  d f g d d d g d d d g d d d g d d d g d d d g d d d g d d d g g } t  | t d t d t t t	 d  t dJ  d k st  t  | t d t d t t t	 d  t dK  d k st  t  | t d t d t t t	 d  t dL  dM k sQt  t d  t d  d d f d t d  t d  d f d d t d  t d  f d d t d  t d  f d t d  t d  d f t d  t d  d d f g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g g	 } t  | d  t d  d k st  dGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZg d d d d d* g d` dA d d da g d@ d d dA d g db d d d dc g dd d d d de g d+ d d d d g d de d db d@ g d da d d d+ g d* dc d d+ d g da d d dd d` g dc d* d d@ db g de d dA d` dd g g } t
 t  | d  df  dg k  st  t d t d t	 d } d[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxg d d d* g d d d g d* da d g d da d g d* d d g d d d g d da d* g d da d g d d de g d d d g d de dF g dF d d g d d d g d d d g d d d g d d d g d de d g d d d g d d d g d d d g d d dd g d` d d g d dd d g d d` d g dc d@ dA g dA d@ db g d dc dA g dA db d g d d dd g d` d d g dc d+ d@ g d@ d+ db g d+ dc d g d db d+ g d dd d g d d` d g d dF de g d d d g d d d g d dF d g g) } t
 t  | |   d d k  sKt  dydzd{d|d}d~ddddddddddddddg db d d dA g da de d d g db d d d g d de da dA g db dA da d g d de d d g d d d+ db g d d@ de d g d+ d@ d db g d d de d g d d d db g d+ d de d@ g d dc d+ dA g d` d d d g d d d dc g d+ d d` dA g d dA d` d g d d d+ dc g d d dd d g da d@ d d* g dd d@ da d g d d* d d g da d* d d g dd d d d@ g dc dd d d g d* d` d d g dc d d dd g d d` d* d g dc d d* d g d d` d dd g g } t
 t  | |  d  dg k  swt  ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddg\ d@ d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g dd d d g d d d g d* d d g d d d g d+ d d g d d d g d d d g d d d g d d d g de d d g d d d g d d d	 g d d d g d d d g d d	 d g d d d g d d d g d d d g da d d g dF d d g d d d g d d d g d` d d g dc d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g dA d d g db d d g dL d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g de d d g d d d g d` d d g d d d g d d d g d d d	 g d d d g d d d g d d	 d g da d d g d d d g dA d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d	 g d d d g d d d g d d	 d g d d d g d@ d d g d d d g d+ d d g d d d g d d d g d d d g d d d g d d d g d d d g dd d d g d d d g d d d g d d d g d d d g dL d d g d d d g d d d g dF d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g dc d d g d d d g d d d g d d d g d d d g dL d d g d d d g d d d g d* d d g db d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g db d d g d d d	 g d d d g d d d g d d	 d g d d d g d d d g d d d g d` d d g d d d g d d d g d@ d d g d d d g d d d g d d d g d d d g d d d g dA d d g d d d g d d d g dd d d g d d d g d d d g dF d d g d d d g d d d g d d d g d d d	 g d d d g de d d g d d	 d g d d d g d d d g d d d g d d d g d+ d d g dc d d g d d d g da d d g d d d g d* d d g d d d g d d d g d d d g g } t
 t  | d  d  dg k  s)t  t
 t  | |  d  dg k  sNt  t  | t d t t	 g dB d i d t d  t t	 6d t d  t d 6k st  t  | dB d i
 d d 6d t d  t 6d t d  t t	 6d t d  t 6d t d  t t	 6d t d  t	 d 6d t d  t d 6d t d  t	 6d t d  t t 6d t d  t d 6k s}t  d  S(  Ni    i   i   i   t   dimsi   i   i   i(   iYiiigQ?gX9vgףp=
gPngT㥛 gʡEg(\gKgHzG	g1Zdg}?5^@gL7A`?gS@I27 i   i
   i   gX9v>@gK7@gB`"?g
ףp=
g{Gz
gZd;O	gzGagzGg-FgZd;?I;UJ i   i   gQgh|?5gtV
g;O@gbX9gMg~jtgh|?5	IҺ  g5^I?grh|gFxg+@gʡE?gjt@gQ@g333333gMڿgNbX9IKyb  i	   i   t
   max_degreei$iR  iP i   iti  i   i	=  i+  i%   i  gaI{ԿgF8?gaI{?gF8ۿgSg׈?0?gS?g׈?0gP/7ӿgP/7?gaI{Ŀg      g      ?gaI{?gSпga-!r?ga-!rȿgS?i   i   i   i   i   i   gZ?g-q=g;fg;f?gب/h?g;fֿgHH~?g;f?g%D?gSNg%D?gSN?gHH~??gz5˿gHH~??gz5?g[ $?g%D׿gHH~?ӿg~E?g~Eڿgogo?g[ $߿g%Dǿgب/hi   i   i   i   i   i   i   i   i   gÜ?gư>gysgys?gwgw?gF8gF8?g      ?gOgO@gTͻgTͻ@gwVngTͻgTͻ?gwVn@g~jg~j@gk)#gVgk)#@gV?g1*gTͻ gTͻ @g1*@gr,Egq
gr,E@gq
@gA(`RgA(`R@gVgV@gr,Egr,E?gysgys?gTͻgTͻ@iB   i/   i,   i>   iM   i[   i1   i!   iS   iT   i5   i$   iI   i.   i@   i+   i:   iH   i3   iJ   i<   i#   iO   iN   i8   iL   iQ   iK   i   i*   i)   iY   iG   iU   iA   i"   i    i0   i-   iF   iX   i&   iC   i9   i;   iW   i?   i4   i'   i7   i   iE   iR   iZ   i6   iD   i2   iV   iP   i=   gfI@g1:o@i5  i}   iq  (   ii    (   (   ii    i    (   i   i   (   (   i   i   i   (   i    i(   (   i    ii    (   ii    (   (   ii    i    (   i    i   (   (   i    i   i   (   i   i    (   (   i   i    i   (   i    i(   (   i    ii    (   i    i   (   (   i    i   i   (   i   i(   (   i   ii(   ii(   (   iii(   ii    (   (   ii    i    (   i    i(   (   i    ii    (   ii    (   i   i    (   ii    (   (   ii    i   (   i    i   (   (   i    i   i   (   i   i(   (   i   ii    (   i   i   (   (   i   i   i    (   i    i(   (   i    ii   (   ii    (   (   ii    i   (   i   i   (   (   i   i   i    (   ii   (   (   ii   i    (   i   i    (   (   i   i    i   (   ii(   (   iii    (   i   i(   (   i   ii    I    I vH   I    I    (   i    i    i    (   i    i   i   (   i   i   i   (   i   i   i    (   i    i   i    (   i   i    i   (   i   i    i    (   i    i    i   (   i    i    i    (   i    i    i   (   i    i   i    (   i    i   i   (   i   i    i    (   i   i    i   (   i   i   i    (   i   i   i   (   i    i    i    (   i   i    i    (   i   i   i    (   i   i   i    (   i   i   i    (   i    i   i    (   i    i    i   (   i   i    i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i    i    i    (   i   i    i    (   i    i   i    (   i    i    i   (   gaI{Կi    gF8?(   gaI{?i    gF8ۿ(   gSi    g׈?0?(   gS?i    g׈?0(   g׈?0gP/7ӿgF8?(   g׈?0gP/7?gF8?(   g׈?0?gP/7ӿgF8ۿ(   g׈?0?gP/7?gF8ۿ(   gaI{Ŀg      g׈?0?(   gaI{Ŀg      ?g׈?0?(   gaI{?g      g׈?0(   gaI{?g      ?g׈?0(   gF8ۿgP/7ӿg׈?0(   gF8ۿgP/7?g׈?0(   gSпga-!r?gF8ۿ(   gSпga-!rȿgF8ۿ(   gS?ga-!r?gF8?(   gS?ga-!rȿgF8?(   gF8?gP/7ӿg׈?0?(   gF8?gP/7?g׈?0?(   i    g;fi    (   i    g;f?i    (   gب/h?g;fֿgHH~?(   gب/h?g;f?gHH~?(   g%D?gSNg%D?(   g%D?gSN?g%D?(   gHH~??gz5˿gHH~??(   gHH~??gz5?gHH~??(   g[ $?g;fֿg%D׿(   g[ $?g;f?g%D׿(   gHH~?i    g%D׿(   gHH~?ӿgz5˿gHH~?(   gHH~?ӿgz5?gHH~?(   gHH~??i    g%D?(   g~E?gSNi    (   g~E?gSN?i    (   g%D?i    gHH~?(   g~EڿgSNi    (   g~EڿgSN?i    (   gogz5˿i    (   gogz5?i    (   go?gz5˿i    (   go?gz5?i    (   g%D׿i    gHH~??(   g[ $߿g;fֿg%D?(   g[ $߿g;f?g%D?(   g%DǿgSNg%D׿(   g%DǿgSN?g%D׿(   gب/hg;fֿgHH~??(   gب/hg;f?gHH~??(   gaI{Ŀg      gys(   gaI{Ŀg      ?gys(   gaI{?g      gys?(   gaI{?g      ?gys?(   gSi    gys(   gS?i    gys?(   gSпgwgaI{Ŀ(   gSпgw?gaI{Ŀ(   gS?gwgaI{?(   gS?gw?gaI{?(   gF8ۿgP/7ӿgys?(   gF8ۿgP/7?gys?(   gF8?gP/7ӿgys(   gF8?gP/7?gys(   gysg      gaI{?(   gysg      ?gaI{?(   gys?g      gaI{Ŀ(   gys?g      ?gaI{Ŀ(   gF8i    gaI{Ŀ(   gF8?i    gaI{?(   i    i    gO(   i    i    gO@(   i    gTͻgO(   i    gTͻgO@(   i    gTͻ@gO(   i    gTͻ@gO@(   gwVngTͻgO(   gwVngTͻgO@(   gwVngTͻ?gO(   gwVngTͻ?gO@(   gwVn@gTͻgO(   gwVn@gTͻgO@(   gwVn@gTͻ?gO(   gwVn@gTͻ?gO@(   gOg~jgO(   gOg~jgO@(   gOg~j@gO(   gOg~j@gO@(   gO@g~jgO(   gO@g~jgO@(   gO@g~j@gO(   gO@g~j@gO@(   gk)#gwgV(   gk)#gw?gV(   gk)#@gwgV?(   gk)#@gw?gV?(   g1*gTͻ gV?(   g1*gTͻ @gV?(   g1*@gTͻ gV(   g1*@gTͻ @gV(   gr,Ei    gq
(   gr,E@i    gq
@(   gq
g~jgV?(   gq
g~j@gV?(   gq
@g~jgV(   gq
@g~j@gV(   gA(`RgTͻ gq
@(   gA(`RgTͻ @gq
@(   gA(`R@gTͻ gq
(   gA(`R@gTͻ @gq
(   gVi    gV(   gVgTͻgV(   gVgTͻ@gV(   gV@i    gV?(   gV@gTͻgV?(   gV@gTͻ@gV?(   gr,EgTͻgV?(   gr,EgTͻ?gV?(   gr,E?gTͻgV(   gr,E?gTͻ?gV(   gysi    gk)#(   gysi    gS?(   gys?i    gk)#@(   gys?i    gSп(   gVg~jgq
(   gVgwgk)#@(   gVgwgSп(   gVgw?gk)#@(   gVgw?gSп(   gVg~j@gq
(   gV?g~jgq
@(   gV?gwgk)#(   gV?gwgS?(   gV?gw?gk)#(   gV?gw?gS?(   gV?g~j@gq
@(   gF8i    gV?(   gF8?i    gV(   gysg      gV(   gysg      ?gV(   gysgTͻgV(   gysgTͻ gV(   gysgTͻ @gV(   gysgTͻ@gV(   gys?g      gV?(   gys?g      ?gV?(   gys?gTͻgV?(   gys?gTͻ gV?(   gys?gTͻ @gV?(   gys?gTͻ@gV?(   gF8ۿgTͻgk)#(   gF8ۿgTͻgS?(   gF8ۿgTͻ?gk)#(   gF8ۿgTͻ?gS?(   gSпgwgV?(   gSпgw?gV?(   gS?gwgV(   gS?gw?gV(   gF8?gTͻgk)#@(   gF8?gTͻgSп(   gF8?gTͻ?gk)#@(   gF8?gTͻ?gSп(   R   R   R   R   R   R   R   R    t   extendR   R   (   t   hexagont   fig1t   fig2t   fig3t   fig4t   trit   polysR   t   expr2t   expr3t   result_dictt   cube1t   cube2t   cube3t   cube4t
   octahedront   great_stellated_dodecahedront   exprt   octahedron_five_compoundt   cube_five_compoundt   echidnahedron(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_polytope_integrate=   s   0%-/$*0-F/	'	,	50%*)*/$0    -2.6   (%<$!<$	BH-0*(((88;<*%$$$$$*                $$$$$$$$$$$$$        ---------3%000000000000000000000000000000000000000000006% 9A?c          C   s   t  t d d  t d d  t d d  g  t d d  t d d  t d d  g k s` t  t d d d  }  t |  t t  t d  d k s t  t |  t t d t	 t d  d k s t  d  S(	   Ni    i   ii   t	   clockwise(   i    i    (   i   i    (   i   i   (
   R   R   R   R   R   R   R   R   R   R   (   t   fig6(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_point_sort  s
    -3)c          C   s,  t  t d d  t d d  t d d  t d d  t d	 d
  t d d  t d d  t d d   }  t |  t d t t t d  t d  d d" k s t  t  t d d  t d d  t d d  t d d  t d d   } t | t d t t t d  t d   d! d# k s(t  d  S($   Ng)\g9vgMbXgJ+?gT㥛 
gX9v?gq=
ףpgp=
ף g/$
@gB`"g$C@gzGagGzg\(\@g&1g9v
i   I#S4ʒ i   i
   i   g/$g1Zg|?5^g/$@gGzgX9vgMb@gy&1gZd;@gd;O?IQM.P  i   I    I    (   R   R   R   R   R   R   R   (   t   fig5R<   (    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt!   test_polytopes_intersecting_sides  s      c          C   s   t  d d	 d
 d  }  d t t t t t d t t t d g } t |  | d d i d d 6t d  d t 6t d  d t 6t d  d t t 6t d  d t d t 6t d  d t t d 6k s t  d  S(   Ni    i   i   R$   i   i   i   (   i    i    (   i    i   (   i   i   (   i   i    (   R   R   R   R   R   R   (   t   polygonR,   (    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_max_degree  s    ,c       
   C   s'  d d d 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 g }  |  d } |  d } t  | |  } t d | | |  d	 k s t  t d | | | d
 d i d	 d 6t d  d t 6t d  d t 6t d  d t 6k s#t  d  S(   Ni    i   i   i   i   i   i   i   iR$   iq  (   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   (   t   cubet   verticest   facest	   hp_params(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_main_integrate3d  s    <$

!c          C   s   t  d d d  }  |  j } t |   } t t d t d | |  t d  d k s[ t  t t d t d | | d d i d d 6d d 6t d	  d t 6d
 t 6k s t  d  S(   Ni    i   i   i   i   iE  i   R$   i#   i
   (   i    i   (   i   i   (   i   i   (   R   t   sidesR   R
   R   R   R   R   (   t   trianglet   facetsRE   (    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_main_integrate  s    	4!c       
   C   s   d
 d d 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 g }  |  d } |  d } |  d } t  | d d g d | | 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   (   i   i    i    (   i   i    i   (   i   i   i    (   i   i   i   (   i    i   i    (   R   R   (   RB   t   facetRI   RC   (    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_polygon_integrate(  s    <$


c          C   s9   d }  t  |  d d g d  t d  d k s5 t  d  S(   Ni    i   i   (   i    i    i    (   i    i    i   (   i    i   i    (   i   i    i    (   R   R    R   (   t   point(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_distance_to_side3  s    c          C   sj   d d d d g }  d d	 g } t  |  d | d d  d k sB t  t  |  d | d d  d k sf 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   R   (   R@   t   line_seg(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_lineseg_integrate8  s    $c          C   s   t  t d d  t d d  t d d   }  |  j } t |   d \ } } t | d | | d t t f d  d k s| t  t | d | | d t t f d  d k s t  d  S(   Ni    i   i   i   (   R   R   RG   R   R   R   R   R   (   RH   RI   t   at   b(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_integration_reduction?  s
    -	0c          C   s1  t  t d d  t d d  t d d   }  |  j } t |   d \ } } | d j d } d d d d g d d d d g t d d d g t d d d  g g } t | d | | t d t t f d d d | | d  t	 d  d k s t
  t | d | | d d t t f d d d | | d  d k s-t
  d  S(   Ni    i   i   i   i   i   i   (   R   R   RG   R   t   pointsR   R   t   NoneR   R   R   (   RH   RI   RQ   RR   t   x0t   monomial_values(    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt"   test_integration_reduction_dynamicG  s    -	$!+!c           C   s   t  d  t k s t  t  d  t k s0 t  t  t d d   t k sQ t  t  d  t k si t  t  d  t k s t  d  S(   Ni   i   i   i   (   i   i   (   i   i   i   (   i   i   i   i   (   R   t   FalseR   R   R   (    (    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   test_is_vertexU  s
    !N(.   t   sympyR    R   t
   sympy.coreR   t   sympy.integrals.intpolyR   R   R   R   R   R   R	   R
   R   R   R   R   R   t   sympy.geometry.lineR   t   sympy.geometry.polygonR   t   sympy.geometry.pointR   R   t	   sympy.abcR   R   R   t   sympy.utilities.pytestR   R   R"   R:   R=   R?   RA   RF   RJ   RL   RN   RP   RS   RX   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/integrals/tests/test_intpoly.pyt   <module>   s,   X		 												