ó
¡¼™\c           @   s    d  d l  m Z d  d l m Z m Z d  d l 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 e j Z d „  Z d S(	   iÿÿÿÿ(   t   range(   t   symbolst	   FiniteSet(   t
   Polyhedront   tetrahedront   cubet
   octahedront   dodecahedront   icosahedront
   cube_faces(   t   Permutation(   t   PermutationGroup(   t   raisesc    	         st  t  t d „  ƒ t d d d d g d d d d	 g g ƒ t d d d d g d d d d	 g g ƒ t d	 d d d g d d d d g g ƒ t d d d g d d	 d g d g d g g ƒ t d d	 d g d d d g d g d g g ƒ t d d d g d d d	 g d g d g g ƒ t d d d g d d d g d	 g d g g ƒ t d d g d d g d	 d g d d g g ƒ t d	 d g d d g d d g d d g g ƒ t d d g d d g d d g d	 d g g ƒ t d d	 g d d g d d g d d g g ƒ t d d g d d g d d g d d	 g g ƒ t d d g d	 d g d d g d d g g ƒ t d d d d	 d d d d g ƒ g }  t t d
 ƒ ƒ } t } t | | |  ƒ ‰  ˆ  j t d d d d d d d d d d d d f Œ  k s×t	 ‚ x, t
 d	 ƒ D] } ˆ  j ˆ  j | d ƒ qäWˆ  j | k st	 ‚ x/ t
 d	 d ƒ D] } ˆ  j ˆ  j | d ƒ q+Wˆ  j | k sbt	 ‚ ˆ  j d ƒ t  t ‡  f d †  ƒ ˆ  j | k sšt	 ‚ ˆ  j d d d d d	 d d d g k sÇt	 ‚ ˆ  j d d d d g d d d	 d g g k sút	 ‚ ˆ  j ƒ  ˆ  j | k st	 ‚ d „  } xK t t t t t t f d d d  ƒ D]% \ } } } } | | | | | ƒ qGWd  S(!   Nc           S   s"   t  t d ƒ d t d g ƒ g ƒS(   Nt   abt   pgroupi    (   R   t   listR
   (    (    (    sH   lib/python2.7/site-packages/sympy/combinatorics/tests/test_polyhedron.pyt   <lambda>   s   i    i   i   i   i   i   i   i   s   A:Hc              s   ˆ  j  t d d g ƒ ƒ S(   Ni    i   (   t   rotateR
   (    (   R   (    sH   lib/python2.7/site-packages/sympy/combinatorics/tests/test_polyhedron.pyR   0   t    c         S   s¢  t  |  j ƒ t  |  j ƒ t  |  j ƒ d k s5 t ‚ |  j | k sJ t ‚ t ƒ  } x|  j D]÷ } |  j ƒ  } | j	 } xB t
 | ƒ D]& } | j | ƒ | j	 | k r… Pq… q… Wd | j f GHx” t
 | ƒ D]† } | j | ƒ | j t | j	 ƒ ƒ | j	 }	 g  | j D]# }
 g  |
 D] } |	 | ^ q^ q}
 |  j t |	 |
 ƒ j k sÊ t ‚ qÊ Wq] Wt  | ƒ | k spt ‚ t g  | D] } t | ƒ ^ qzƒ j sžt ‚ d  S(   Ni   s   error in permutation(   t   lent   facest   verticest   edgest   AssertionErrort   sizet   setR   t   copyt   cornersR    R   t
   array_formt   addt   tupleR   R   R
   t   is_group(   t   hR   t   rptt   targett   gott   pt   Pt   hitt   it   ct   ft   g(    (    sH   lib/python2.7/site-packages/sympy/combinatorics/tests/test_polyhedron.pyt   check7   s&    5			3)i   i   i   i   i<   (   i    i   (   i   i   (   i   i   (   i   i   (   i    i   (   i   i   (   i   i   (   i   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   t
   ValueErrorR
   R   R   R	   R   R   R   R   R    R   R   R   R   t   cyclic_formt   resett   zipR   t   squareR   R   R   (	   R   R   R   R'   R+   R    R   R!   R"   (    (   R   sH   lib/python2.7/site-packages/sympy/combinatorics/tests/test_polyhedron.pyt   test_polyhedron   sR    '''----------'	$-3
	N(   t   sympy.core.compatibilityR    t   sympyR   R   t   sympy.combinatorics.polyhedronR   R   R   R0   R   R   R   R	   t    sympy.combinatorics.permutationsR
   t   sympy.combinatorics.perm_groupsR   t   sympy.utilities.pytestR   t   rmulR1   (    (    (    sH   lib/python2.7/site-packages/sympy/combinatorics/tests/test_polyhedron.pyt   <module>   s   4	