File: //opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyc
�
;�Pc           @   s/  d  f  d �  �  YZ  d e  f d �  �  YZ d e  f d �  �  YZ d f  d �  �  YZ d f  d	 �  �  YZ d
 f  d �  �  YZ d f  d
 �  �  YZ d f  d �  �  YZ d f  d �  �  YZ d f  d �  �  YZ	 d d l
 m Z d d l Z d d l
 Z
 d e j f d �  �  YZ d e f d �  �  YZ e j e d � d S(   t   AAc           B   s#   e  Z d  �  Z d �  Z d �  Z RS(   c         C   s   t  d |  | � S(   Nt   op(   t   BOAPP(   t   selft   other(    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt   __mul__   s    c         C   s   t  d |  | � S(   Nt   op2(   R   (   R   R   (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt   __add__   s    c         C   s   t  d |  | � S(   Nt   eq(   R   (   R   R   (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt   __eq__
   s    (   t   __name__t
   __module__R   R   R	   (    (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR       s   		t   ANAMEc           B   s   e  Z d  �  Z d �  Z RS(   c         C   s
   | |  _  d  S(   N(   t   name(   R   R
   (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt   __init__   s    c         C   s   |  j  S(   N(   R
   (   R   (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt   __str__   s    (   R
   R   R   R   (    (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR   
   s   	R   c           B   s   e  Z d  �  Z d �  Z RS(   c         G   s   | |  _  | |  _ d  S(   N(   t   funcnamet   args(   R   R   R   (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR      s    	c         C   s6   d |  j  d j g  |  j D] } t | � ^ q � f S(   Ns   %s(%s)t   ,(   R   t   joinR   t   str(   R   t   x(    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR      s    (   R
   R   R   R   (    (    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR      s   	t   AlgebraicStructurec           B   s   e  Z d  �  Z d �  Z RS(   c   
      O   s)  | |  _  | |  _ g  |  _ x� t | � D]� \ } } t | d � rU | j | k rU ni t | � ss | | j j k r� i  } d | k r� | d | d <n  | j j	 | | | � } n
 t
 d | � |  j j | � t |  d | | � q( Wt
 |  j � |  _ x* | j �  D] \ } }	 t |  | |	 � qWd  S(   Nt   ranget   identitys   %s is not a valid operations   op%d(   t   modR   t   opst	   enumeratet   hasattrt   callablet   LEt   binary_operation_namet   binary_operationt   newt	   TypeErrort   appendt   setattrt   lent   numopst   items(
   R   R   R   R   t   kwdst   iR   t   opkwdst   kt   v(    (    sN   /opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR      s"