B
    d>                 @   sh   d dl mZmZmZ d dlm  mZ d dlm	Z	 e
dZd dlT ed Zdd Zd	d
 Zdd ZdS )    )absolute_importdivisionprint_functionN)rangeboost_rational_ext)*intc             C   sN   dd |  dD }t|dks$tt|dkr<t|d S t|d |d S )Nc             S   s   g | ]}t |qS  )builtin_int).0ir	   r	   {/mnt/filia/a/genomebrowser/www/genomebrowser/fleming/tools/molprobity/modules/cctbx_project/boost_adaptbx/boost/rational.py
<listcomp>
   s    zfrom_string.<locals>.<listcomp>/)      r   r   )splitlenAssertionErrorr   )sfldsr	   r	   r   from_string	   s
    r   c             C   sd   t |tr|gt|  }nt| t|ks.tg }x,tt| D ]}|t| | ||  q@W |S )N)
isinstancer
   r   r   r   appendr   )Z
numeratorsZdenominatorsresultr   r	   r	   r   vector   s    
r   c             C   s$   d}x| D ]}t || }q
W |S )Nr   )lcmdenominator)arraylrr	   r	   r   lcm_denominators   s    
r!   )
__future__r   r   r   boost_adaptbx.boost.pythonboostpythonbp	six.movesr   
import_extextr   __builtins__r
   r   r   r!   r	   r	   r	   r   <module>   s   

