a
    hP                  	   @   s   d dl Z g dg dg dg dg dg dg dg d	gZg d
ZG dd dZdd Zdd Zd dlZedkrG dd dejZ	e
  dS )    N)r                        )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   c                   @   sl   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd ZdS )quatu_tc                 C   s   |d@ | _ d S )Nr   code)selfZargcode r   R/homepages/25/d321765456/htdocs/pub_http_internet/grad-school/src/sack/quatu_tm.py__init__!   s    zquatu_t.__init__c                 C   s   t t| j |j }|S N)r	   quatu_mul_tabler   )abcr   r   r   __mul__$   s    zquatu_t.__mul__c                 C   s   | j |j kS r   r
   r   r   r   r   r   __eq__(   s    zquatu_t.__eq__c                 C   s
   | |k S r   r   r   r   r   r   __ne__+   s    zquatu_t.__ne__c                 C   s   | j |j k S r   r
   r   r   r   r   __lt__.   s    zquatu_t.__lt__c                 C   s   | j |j kS r   r
   r   r   r   r   __le__0   s    zquatu_t.__le__c                 C   s   | j |j kS r   r
   r   r   r   r   __gt__2   s    zquatu_t.__gt__c                 C   s   | j |j kS r   r
   r   r   r   r   __ge__4   s    zquatu_t.__ge__c                 C   s   t t| j }|S r   )r	   quatu_inv_tabler   )r   r   r   r   r   inv7   s    zquatu_t.invc                 C   s   |dkr|  d n|dkr(|  d n||dkr<|  d nh|dkrP|  d nT|d	krd|  d
 n@|dkrx|  d n,|dkr|  d n|dkr|  d ntd S )N1r   -1r   ir   -ir   jr   -jr   kr   -kr   )r   IOError)r   Zstringr   r   r   scan;   s"    zquatu_t.scanc                 C   sx   | j dkrdS | j dkrdS | j dkr*dS | j dkr8dS | j d	krFd
S | j dkrTdS | j dkrbdS | j dkrpdS td S )Nr   z 1r   r    r   z ir   r"   r   z jr   r$   r   z kr   r&   )r   r'   r   r   r   r   __str__O   s"    







zquatu_t.__str__c                 C   s   |   S r   )r*   r)   r   r   r   __repr__c   s    zquatu_t.__repr__N)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r(   r*   r+   r   r   r   r   r	      s   r	   c                 C   s   dS Nr   r   )params_stringr   r   r   params_from_stringf   s    r1   c                 C   s   t |}td}||  |S r/   )r1   r	   r(   )Zvalue_stringr0   not_usedobjr   r   r   from_stringj   s    
r4   __main__c                   @   s|   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd ZdS )
test_casesc                 C   s   d S r   r   r)   r   r   r   test___init__   s    ztest_cases.test___init__c                 C   s   d S r   r   r)   r   r   r   test___mul__   s    ztest_cases.test___mul__c                 C   s   d S r   r   r)   r   r   r   test___eq__   s    ztest_cases.test___eq__c                 C   s   d S r   r   r)   r   r   r   test___ne__   s    ztest_cases.test___ne__c                 C   s   d S r   r   r)   r   r   r   test___lt__   s    ztest_cases.test___lt__c                 C   s   d S r   r   r)   r   r   r   test___le__   s    ztest_cases.test___le__c                 C   s   d S r   r   r)   r   r   r   test___gt__   s    ztest_cases.test___gt__c                 C   s   d S r   r   r)   r   r   r   test___ge__   s    ztest_cases.test___ge__c                 C   s   d S r   r   r)   r   r   r   test_inv   s    ztest_cases.test_invc                 C   s   d S r   r   r)   r   r   r   	test_scan   s    ztest_cases.test_scanc                 C   s   d S r   r   r)   r   r   r   test___str__   s    ztest_cases.test___str__c                 C   s   d S r   r   r)   r   r   r   test___repr__   s    ztest_cases.test___repr__c                 C   s   d S r   r   r)   r   r   r   test_params_from_string   s    z"test_cases.test_params_from_stringc                 C   s   d S r   r   r)   r   r   r   test_from_string   s    ztest_cases.test_from_stringN)r,   r-   r.   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   r   r   r   r   r6      s   r6   )rer   r   r	   r1   r4   Zunittestr,   ZTestCaser6   mainr   r   r   r   <module>   s"   H,