B
    ��c�  �               @   sl   d Z dddddgZddlZejd dkr>ejd	 d	kr>dd
lT dd� Zdd� Zd
d� Zdd� Zddd�Z	dS )z$Id$�
ceil_shift�ceil_div�	floor_div�
exact_log2�	exact_div�    N�   �   )�*c             C   sp   t | t�rt |t�s0tdt| �jt|�jf ��| dkr@|dksDt�d|>