ó
Ë½÷Xc           @   s†   d  d l  Z d  d l m Z m Z m Z m Z d  d l j j	 Z
 d e f d „  ƒ  YZ d e f d „  ƒ  YZ e d k r‚ e ƒ  n  d S(   iÿÿÿÿN(   t   TestCaset   run_module_suitet   assert_allcloset   assert_equalt
   test_dgemmc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sT  t  j d d d ƒj d ƒ d  d … d  d … f } t  j d d d d ƒj d ƒ d  d … d  d … f } t  j d ƒ d  d … d  d … f } t j d	 | | d
 | ƒ t | | j | ƒ ƒ t j d	 | j | d
 | ƒ t | | j j | ƒ ƒ t j d	 | | j d
 | ƒ t | | j | j ƒ ƒ t j d	 | j | j d
 | ƒ t | | j j | j ƒ ƒ t j d	 | | d
 | j ƒ t | | j | ƒ j ƒ t j d	 | j | d
 | j ƒ t | | j j | ƒ j ƒ t j d	 | | j d
 | j ƒ t | | j | j ƒ j ƒ t j d	 | j | j d
 | j ƒ t | | j j | j ƒ j ƒ d  S(   Ni   t   dtypet   di   i   i   i   i   g      ð?g        (   i   i   (   i   i   (   i   i   (	   t   npt   aranget   reshapet   emptyt   blast   _test_dgemmR   t   dott   T(   t   selft   at   bt   c(    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyt   test_transposes   s&    47%"c         C   sÂ   t  j d d d ƒj d
 ƒ } t  j d d d d ƒj d ƒ } t  j d ƒ } t j d | | d	 | ƒ t | | j | ƒ ƒ t j d | j | j d	 | j ƒ t | | j j | j ƒ j ƒ d  S(   Ni   R   R   i   i   iúÿÿÿi   g      ð?g        (   i   i   (   i   i   (   i   i   (	   R   R   R	   R
   R   R   R   R   R   (   R   R   R   R   (    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyt   test_shapes&   s    !"(   t   __name__t
   __module__R   R   (    (    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyR      s   	t   test_wfunc_pointersc           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   s›    Test the function pointers that are expected to fail on
    Mac OS X without the additional entry statement in their definitions
    in fblas_l1.pyf.src. c         C   sx  t  j d d d g t  j ƒ } t  j d d d  g t  j ƒ } t t j | | ƒ d! d ƒ t t j | | ƒ d" d ƒ t t j | ƒ d ƒ t t j	 | ƒ d d ƒ t t j
 | ƒ d d ƒ t t j | d  d  d … | d  d  d … ƒ d# d ƒ t t j | d  d  d … | d  d  d … ƒ d$ d ƒ t t j	 | d  d  d … ƒ d d ƒ t t j
 | d  d  d … ƒ d d ƒ d  S(%   Ng      à?y              ð?g      Ð?y              Ø?g      )@y              @gš™™™™™é?y               @g      ì?y              ä?g      ð¿gI!  ™¥1Ày        ŸÔÿ?3_5@i   g4 €fvÀy        a+ ÀÌP>@i   g      2@gKg àú[*@i   gI!  ™2Ày        ŸÔÿ?335@g4 €ffÀy        a+ ÀÌÌ>@g      2@g8f €X*@y      à?      ð?y      Ð?      Ø¿y      )@      Àyš™™™™™é?       @y      ì?      ä¿y      ð¿       @yI!  ™¥1ÀŸÔÿ?3_5@y4 €fvÀa+ ÀÌP>@yI!  ™2ÀŸÔÿ?335@y4 €ffÀa+ ÀÌÌ>@(   R   t   arrayt	   complex64R   R   t   _test_cdotct   _test_cdotuR   t   _test_icamaxt   _test_scasumt   _test_scnrm2(   R   t   cxt   cy(    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyt   test_complex_args6   s    

,
,
&c         C   s&  t  j d d d g t  j ƒ } t  j d d d g t  j ƒ } t t j | ƒ d d ƒ t t j | | ƒ d	 d ƒ t t j | ƒ d
 d ƒ t t j | d  d  d … ƒ d d ƒ t t j | d  d  d … | d  d  d … ƒ d d ƒ t t j | d  d  d … ƒ d d ƒ t t j	 | ƒ d ƒ d  S(   Ng      @iýÿÿÿg      à¿i   i   g      à?g      !@i
   g      @gò `Îh@g      @g     €#@gJ @‰@(
   R   R   t   float64R   R   t   _test_dasumt
   _test_ddott   _test_dnrm2R   t   _test_idamax(   R   t   xt   y(    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyt   test_double_argsL   s    &6&c         C   s&  t  j d d d g t  j ƒ } t  j d d d g t  j ƒ } t t j | ƒ d ƒ t t j | ƒ d d ƒ t t j | | ƒ d	 d ƒ t t j	 | ƒ d
 d ƒ t t j | d  d  d … ƒ d d ƒ t t j | d  d  d … | d  d  d … ƒ d d ƒ t t j	 | d  d  d … ƒ d d ƒ d  S(   Ng      @iýÿÿÿg      à¿i   i   g      à?g      !@i   g      @gò `Îh@g      @g     €#@gJ @‰@(
   R   R   t   float32R   R   t   _test_isamaxR   t   _test_sasumt
   _test_sdott   _test_snrm2(   R   R'   R(   (    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyt   test_float_args[   s    &6c         C   sú   t  j d d d g t  j ƒ } t  j d d d g t  j ƒ } t t j | ƒ d ƒ t t j | | ƒ d d ƒ t t j | | ƒ d d ƒ t t j | d  d  d … | d  d  d … ƒ d d ƒ t t j | d  d  d … | d  d  d … ƒ d d ƒ d  S(    Ng      à?y              ð?g      Ð?y              Ø?g      *@y              @g      ì?y               @y              ä?g      ð¿i   g     2Ày             L6@i
   g     PÀy             d?@i   g     2Ày              6@g     @Ày             à?@y      à?      ð?y      Ð?      Ø¿y      *@      Ày      ì?       @y      ì?      ä¿y      ð¿       @y     2À     L6@y     PÀ     d?@y     2À      6@y     @À     à?@(	   R   R   t
   complex128R   R   t   _test_izamaxR   t   _test_zdotct   _test_zdotu(   R   R   R    (    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyt   test_double_complex_argsj   s    ,
,(   R   R   t   __doc__R!   R)   R/   R4   (    (    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyR   1   s
   			t   __main__(   t   numpyR   t   numpy.testingR    R   R   R   t   scipy.linalg.cython_blast   linalgt   cython_blasR   R   R   R   (    (    (    sB   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_cython_blas.pyt   <module>   s   "+I