ó
\K]c           @` s   d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z d  d l	 m
 Z
 d d l m Z d   Z d e f d	     YZ d S(
   i    (   t   print_functiont   absolute_importt   divisionN(   t   njitt   types(   t   TypingErrori   (   t   TestCasec         ` s      f d   } | S(   Nc         ` s     |   j    S(   N(   t   view(   t   x(   t   at   b(    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   impl   s    (    (   R	   R
   R   (    (   R	   R
   s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   gen_view   s    t   TestViewIntFloatc           B` sV   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   s0    This tests the 'view' method on NumPy scalars. c   	      C` sŪ   xŌ | D]Ģ \ } } } xŗ t  | |  D]© \ } } t t | |   } t j |  s |  j | |  | |   |  j | |  | j |   q& |  j t j | |    |  j t j | j |    q& Wq Wd  S(   N(   t   zipR   R   t   npt   isnant   assertEqualt   py_funct
   assertTrue(	   t   selft   inputst   dtypest   valuet   initial_typet   expectedt   target_typet   resultR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt
   do_testing   s    c         C` sJ   t  j t  j f } d t  j d f d t  j d f f } |  j | |  d  S(   Ni   i’’’’i’   (   i   i   (   i’   i’’’’(   R   t   uint8t   int8R   (   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   test_8_bits$   s    c         C` sk   t  j t  j t  j f } d t  j d f d t  j d d t  j f f d t  j d f f } |  j | |  d  S(	   Ni   g       6i’’’’I’’’’    g      š?i  ?(   i   i   g       6(   i  ?i  ?g      š?(   R   t   uint32t   int32t   float32t   nanR   (   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   test_32_bits+   s
    c         C` sk   t  j t  j t  j f } d t  j d f d t  j d d t  j f f d t  j d f f } |  j | |  d  S(	   Ni   g       i’’’’l   ’’’’ g      š?I      š?(   i   i   g       (   I      š?I      š?g      š?(   R   t   uint64t   int64t   float64R#   R   (   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   test_64_bits3   s    	 c         ` so   t  t d j t j j     t   f d    } |  j t   } |   Wd  QX|  j	 d t
 | j   d  S(   Ns   int{}c          ` s   d }  |  j     d  S(   Ni   (   R   (   R	   (   t   intty(    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   myview@   s    s\   'view' can only be called on NumPy dtypes, try wrapping the variable 'a' with 'np.<dtype>()'(   t   getattrR   t   formatR   t   intpt   bitwidthR   t   assertRaisesR   t   assertInt   strt	   exception(   R   R*   t   e(    (   R)   s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   test_python_scalar_exception>   s    	c      	   C` s\   |  j  t  . } t t | d | d   } | d  Wd  QX|  j d t | j   d  S(   Ni    i   sO   Changing the dtype of a 0d array is only supported if the itemsize is unchanged(   R/   R   R   R   R0   R1   R2   (   R   t   pairR3   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   do_testing_exceptionsK   s
    	c         C` s@   x9 t  j t  j f t  j t  j f f D] } |  j |  q% Wd  S(   N(   R   R!   R   R6   (   R   R5   (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   test_exceptions32S   s    +c         C` s@   x9 t  j t  j f t  j t  j f f D] } |  j |  q% Wd  S(   N(   R   R!   R&   R6   (   R   R5   (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   test_exceptions64W   s    +(   t   __name__t
   __module__t   __doc__R   R   R$   R(   R4   R6   R7   R8   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyR      s   							(   t
   __future__R    R   R   t   numpyR   t   numbaR   R   t   numba.errorsR   t   supportR   R   R   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_numbers.pyt   <module>   s   	