ó
Ë½÷Xc           @` sõ  d  d l  m Z m Z m Z d  d l m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z m Z m Z m Z m Z m Z d Z d „  Z d e f d	 „  ƒ  YZ  y d
 e e  f d „  ƒ  YZ! Wn$ e" k
 r$d
 dF d „  ƒ  YZ! n Xd e e  f d „  ƒ  YZ# y d e e  f d „  ƒ  YZ$ Wn$ e" k
 rd dG d „  ƒ  YZ$ n Xd e e  f d „  ƒ  YZ% d e f d „  ƒ  YZ& y d e e& f d „  ƒ  YZ' Wn$ e" k
 rôd dH d „  ƒ  YZ' n Xd e e& f d „  ƒ  YZ( y d e e& f d „  ƒ  YZ) Wn$ e" k
 rQd dI d „  ƒ  YZ) n Xd e e& f d „  ƒ  YZ* d  e f d! „  ƒ  YZ+ y d" e e+ f d# „  ƒ  YZ, Wn$ e" k
 rÄd" dJ d$ „  ƒ  YZ, n Xd% e e+ f d& „  ƒ  YZ- y d' e e+ f d( „  ƒ  YZ. Wn$ e" k
 r!d' dK d) „  ƒ  YZ. n Xd* e e+ f d+ „  ƒ  YZ/ d, e f d- „  ƒ  YZ0 y d. e e0 f d/ „  ƒ  YZ1 Wn$ e" k
 r”d. dL d0 „  ƒ  YZ1 n Xd1 e e0 f d2 „  ƒ  YZ2 y d3 e e0 f d4 „  ƒ  YZ3 Wn$ e" k
 rñd3 dM d5 „  ƒ  YZ3 n Xd6 e e0 f d7 „  ƒ  YZ4 d8 e f d9 „  ƒ  YZ5 y d: e e5 f d; „  ƒ  YZ6 Wn$ e" k
 rdd: dN d< „  ƒ  YZ6 n Xd= e e5 f d> „  ƒ  YZ7 y d? e e5 f d@ „  ƒ  YZ8 Wn$ e" k
 rÁd? dO dA „  ƒ  YZ8 n XdB e e5 f dC „  ƒ  YZ9 e: dD k rñe ƒ  n  dE S(P   i    (   t   divisiont   print_functiont   absolute_import(   t   float32t   float64t	   complex64t
   complex128t   aranget   arrayt   zerost   shapet	   transposet   newaxist   common_typet	   conjugate(   t   _fblas(   t   xrange(   t   TestCaset   run_module_suitet   assert_array_equalt   assert_allcloset   assert_array_almost_equalt   assert_i   c         C` s<  t  | j ƒ d k r4 t } | d  d  … t f } n t } t |  j d | j d k ƒ t |  j d | j d f t |  | ƒ ƒ } x t |  j d ƒ D]z } xq t | j d ƒ D]\ } d } x= t |  j d ƒ D]( } | |  | | f | | | f 7} qÒ W| | | | f <q² Wq˜ W| r8| j	 |  j d f ƒ } n  | S(   Ni   i    (
   t   lenR
   t   TrueR   t   FalseR   R	   R   R   t   reshape(   t   at   bt   b_is_vectort   ct   it   jt   st   k(    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   matrixmultiply   s    ,&t   BaseAxpyc           B` sM   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   s    Mixin class for axpy tests c         C` s[   t  d d |  j ƒ} t  d d | j ƒ} | d | } |  j | | ƒ } t | | ƒ d  S(   Ng      @t   dtypeg      ð?(   R   R%   t	   blas_funcR   (   t   selft   xt   yt   real_y(    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_default_a5   s
    c         C` sa   t  d d |  j ƒ} t  d d | j ƒ} | d | } |  j | | d d ƒ} t | | ƒ d  S(   Ng      @R%   R   (   R   R%   R&   R   (   R'   R(   R)   R*   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_simple<   s
    c      	   C` sŒ   t  d d |  j ƒ} t d | j ƒ } t  d d | j ƒ} | d  d  d … d | } |  j | | d d d d d d ƒ} t | | ƒ d  S(	   Ng      @R%   i   g      @i   R   t   nt   incx(   R   R%   R	   R&   R   (   R'   R(   R)   R*   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_x_strideC   s    $c      	   C` s„   t  d d |  j ƒ} t d | j ƒ } | d | d  d  d … } |  j | | d d d d d d ƒ} t | | d  d  d … ƒ d  S(	   Ng      @R%   i   i   R   R-   i   t   incy(   R   R%   R	   R&   R   (   R'   R(   R)   R*   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_y_strideK   s
    $c         C` s—   t  d d |  j ƒ} t d | j ƒ } | d  d  d … d | d  d  d … } |  j | | d d d d	 d
 d d d ƒ} t | | d  d  d … ƒ d  S(   Ng      (@R%   i   i   g      @i   R   R-   i   R.   R0   (   R   R%   R	   R&   R   (   R'   R(   R)   R*   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_x_and_y_strideR   s
    (*c         C` s`   t  d d |  j ƒ} t d | j ƒ } y  |  j | | d d d d ƒWn d  SXt d ƒ d  S(	   Ng      (@R%   i   R-   i   R.   i   i    (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_x_bad_sizeY   s     c         C` s`   t  d d |  j ƒ} t d | j ƒ } y  |  j | | d d d d ƒWn d  SXt d ƒ d  S(	   Ng      (@R%   i   R-   i   R0   i   i    (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_y_bad_sizec   s     (
   t   __name__t
   __module__t   __doc__R+   R,   R/   R1   R2   R3   R4   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR$   2   s   						
t	   TestSaxpyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   t   fblast   saxpyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR8   n   s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR8   r   s   t	   TestDaxpyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   daxpyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR;   v   s   	t	   TestCaxpyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   caxpyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR=   {   s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR=      s   t	   TestZaxpyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   zaxpyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR?   ƒ   s   	t   BaseScalc           B` s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s    Mixin class for scal testing c         C` sB   t  d d |  j ƒ} | d } |  j d | ƒ } t | | ƒ d  S(   Ng      @R%   (   R   R%   R&   R   (   R'   R(   t   real_x(    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR,   Ž   s    
c         C` s€   t  d d |  j ƒ} | j ƒ  } | d  d  d … t d |  j ƒ | d  d  d … <|  j d | d d d d ƒ} t | | ƒ d  S(   Ng      @R%   i   g      @R-   i   R.   (   R   R%   t   copyR   R&   R   (   R'   R(   RB   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR/   ”   s
    0c         C` sN   t  d d |  j ƒ} y  |  j d | d d d d ƒWn d  SXt d ƒ d  S(	   Ng      (@R%   g       @R-   i   R.   i   i    (   R   R%   R&   R   (   R'   R(   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR3   ›   s     (   R5   R6   R7   R,   R/   R3   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRA   ‹   s   		t	   TestSscalc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   sscalR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRD   ¥   s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRD   ©   s   t	   TestDscalc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   dscalR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRF   ­   s   	t	   TestCscalc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   cscalR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRH   ²   s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRH   ¶   s   t	   TestZscalc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   zscalR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRJ   º   s   	t   BaseCopyc           B` sD   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s    Mixin class for copy testing c         C` sP   t  d d |  j ƒ} t t | ƒ | j ƒ } |  j | | ƒ } t | | ƒ d  S(   Ng      @R%   (   R   R%   R	   R
   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR,   Å   s    c         C` sc   t  d d |  j ƒ} t d | j ƒ } |  j | | d d d d ƒ} t | d  d  d … | ƒ d  S(   Ng      @R%   i   R-   R.   i   (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR/   Ë   s    c         C` sc   t  d d |  j ƒ} t d | j ƒ } |  j | | d d d d ƒ} t | | d  d  d … ƒ d  S(   Ng      @R%   i   R-   i   R0   i   (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR1   Ñ   s    c      	   C` sv   t  d d |  j ƒ} t d | j ƒ } |  j | | d d d d d d	 ƒ} t | d  d  d … | d  d  d	 … ƒ d  S(
   Ng      (@R%   i   R-   i   R.   i   R0   i   (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR2   ×   s    $c         C` s`   t  d d |  j ƒ} t d | j ƒ } y  |  j | | d d d d ƒWn d  SXt d ƒ d  S(	   Ng      (@R%   i   R-   i   R.   i   i    (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR3   Ý   s     c         C` s`   t  d d |  j ƒ} t d | j ƒ } y  |  j | | d d d d ƒWn d  SXt d ƒ d  S(	   Ng      (@R%   i   R-   i   R0   i   i    (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR4   ç   s     (	   R5   R6   R7   R,   R/   R1   R2   R3   R4   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRL   Â   s   					
t	   TestScopyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   scopyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRM   ù   s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRM   ý   s   t	   TestDcopyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   dcopyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRO     s   	t	   TestCcopyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   ccopyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRQ     s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRQ   
  s   t	   TestZcopyc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   zcopyR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRS     s   	t   BaseSwapc           B` sD   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s    Mixin class for swap tests c         C` s{   t  d d |  j ƒ} t t | ƒ | j ƒ } | j ƒ  } | j ƒ  } |  j | | ƒ \ } } t | | ƒ t | | ƒ d  S(   Ng      @R%   (   R   R%   R	   R
   RC   R&   R   (   R'   R(   R)   t	   desired_xt	   desired_y(    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR,     s    c         C` s›   t  d d |  j ƒ} t d | j ƒ } | j ƒ  } | j ƒ  d  d  d … } |  j | | d d d d ƒ\ } } t | | d  d  d … ƒ t | | ƒ d  S(   Ng      @R%   i   i   R-   R.   (   R   R%   R	   RC   R&   R   (   R'   R(   R)   RV   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR/   "  s    $c         C` s›   t  d d |  j ƒ} t d | j ƒ } | j ƒ  d  d  d … } | j ƒ  } |  j | | d d d d ƒ\ } } t | | ƒ t | | d  d  d … ƒ d  S(   Ng      @R%   i   i   R-   i   R0   (   R   R%   R	   RC   R&   R   (   R'   R(   R)   RV   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR1   +  s    $c      	   C` s»   t  d d |  j ƒ} t d | j ƒ } | j ƒ  d  d  d … } | j ƒ  d  d  d … } |  j | | d d d d d	 d ƒ\ } } t | | d  d  d … ƒ t | | d  d  d … ƒ d  S(
   Ng      (@R%   i   i   i   R-   i   R.   R0   (   R   R%   R	   RC   R&   R   (   R'   R(   R)   RV   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR2   4  s    *c         C` s`   t  d d |  j ƒ} t d | j ƒ } y  |  j | | d d d d ƒWn d  SXt d ƒ d  S(	   Ng      (@R%   i   R-   i   R.   i   i    (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR3   =  s     c         C` s`   t  d d |  j ƒ} t d | j ƒ } y  |  j | | d d d d ƒWn d  SXt d ƒ d  S(	   Ng      (@R%   i   R-   i   R0   i   i    (   R   R%   R	   R&   R   (   R'   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR4   G  s     (	   R5   R6   R7   R,   R/   R1   R2   R3   R4   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRU     s   									
t	   TestSswapc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   sswapR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRX   R  s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRX   V  s   t	   TestDswapc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   dswapR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRZ   Z  s   	t	   TestCswapc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   cswapR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR\   _  s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR\   c  s   t	   TestZswapc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   zswapR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR^   g  s   	t   BaseGemvc           B` sw   e  Z d  Z d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z RS(   s    Mixin class for gemv tests i   c         C` s  t  d d |  j ƒ} |  j t t g k rB t  d
 d |  j ƒ} n  d d l m } m } | d ƒ t  d d |  j ƒ| } t  d d |  j ƒ| } | d d d ƒ j |  j ƒ | } t t	 | ƒ d | d |  j ƒ| }	 t t	 | ƒ d | d |  j ƒ| }
 | | | |	 |
 f S(   Ni   R%   y              ð?i    (   t   normalt   seediÒ  g      ð?g        i   y      ð?      ð?(   i   i   (
   R   R%   R   R   t   numpy.randomRa   Rb   t   astypeR   R
   (   R'   t   x_stridet   y_stridet   multRa   Rb   t   alphat   betaR   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   get_datas  s    
"''c         C` sb   |  j  ƒ  \ } } } } } | t | | ƒ | | } |  j | | | | | ƒ } t | | ƒ d  S(   N(   Rj   R#   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR,   €  s    c         C` sP   |  j  ƒ  \ } } } } } t | | ƒ } |  j d | | ƒ } t | | ƒ d  S(   Ni   (   Rj   R#   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_default_beta_y†  s    c         C` sn   |  j  ƒ  \ } } } } } | t t | ƒ | ƒ | | } |  j | | | | | d d ƒ} t | | ƒ d  S(   Nt   transi   (   Rj   R#   R   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_simple_transposeŒ  s    !!c         C` st   |  j  ƒ  \ } } } } } | t t t | ƒ ƒ | ƒ | | } |  j | | | | | d d ƒ} t | | ƒ d  S(   NRl   i   (   Rj   R#   R   R   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_simple_transpose_conj’  s    '!c         C` s{   |  j  d d ƒ \ } } } } } | t | | d  d  d … ƒ | | } |  j | | | | | d d ƒ} t | | ƒ d  S(   NRe   i   R.   (   Rj   R#   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR/   ˜  s    !(!c      
   C` s‡   |  j  d d ƒ \ } } } } } | t t | ƒ | d  d  d … ƒ | | } |  j | | | | | d d d d ƒ} t | | ƒ d  S(   NRe   i   Rl   i   R.   (   Rj   R#   R   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_x_stride_transposež  s    !.'c      
   C` s£   |  j  d d ƒ \ } } } } } y5 |  j d | | d | d d d d ƒ} t d ƒ Wn n Xy5 |  j d | | d | d d d d ƒ} t d ƒ Wn n Xd  S(   NRe   i   i   Rl   i    R.   i   (   Rj   R&   R   (   R'   Rh   Ri   R   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_x_stride_assert¤  s    !''c         C` s”   |  j  d d ƒ \ } } } } } | j ƒ  } | t | | ƒ | | d  d  d … | d  d  d … <|  j | | | | | d d ƒ} t | | ƒ d  S(   NRf   i   R0   (   Rj   RC   R#   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR1   ²  s
    !5!c      
   C` s    |  j  d d ƒ \ } } } } } | j ƒ  } | t t | ƒ | ƒ | | d  d  d … | d  d  d … <|  j | | | | | d d d d ƒ} t | | ƒ d  S(   NRf   i   Rl   i   R0   (   Rj   RC   R#   R   R&   R   (   R'   Rh   Ri   R   R(   R)   RW   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_y_stride_transpose¹  s
    !;'c      
   C` s£   |  j  d d ƒ \ } } } } } y5 |  j d | | d | d d d d ƒ} t d ƒ Wn n Xy5 |  j d | | d | d d d d ƒ} t d ƒ Wn n Xd  S(   NRf   i   i   Rl   i    R0   i   (   Rj   R&   R   (   R'   Rh   Ri   R   R(   R)   (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_y_stride_assertÀ  s    !''(   R5   R6   R7   Rj   R,   Rk   Rm   Rn   R/   Ro   Rp   R1   Rq   Rr   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR`   p  s   									t	   TestSgemvc           B` s    e  Z e j Z e Z d  „  Z RS(   c         ` s#  d d l  m } d d  l } d d  l ‰ | j d k r; d  Sd ‡ f d † ‰  d ‡  f d † } ‡ f d †  } | d d d d ƒ } x™ | D]‘ \ } } } }	 ˆ j j | | ƒ }
 ˆ j j | ƒ } ˆ j |
 | ƒ } | |
 | ˆ j d |	 ƒ} | | | ˆ j d |	 ƒ} | | | | ƒ qŠ Wd  S(   Ni    (   t   productt   darwint   Cc   	      ` s²   | ƒ  } ˆ  j  |  ƒ } ˆ  j | | j | d ˆ  j ƒ} | j d d } x, t | ƒ D] } | | | d k rY PqY qY W| | | | | j !j d | ƒ } | j |  d | ƒS(   NR%   t   datai    t   order(   t   prodR	   t   nbytest   uint8t   __array_interface__t   ranget   viewR   (	   R
   t   alignR%   Rx   t   dt   Nt   tmpt   addresst   offset(   t   np(    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   aligned_arrayÛ  s    	#$c         ` s$   ˆ  |  j  | | | ƒ } |  | (| S(   N(   R
   (   t   arrR   R%   Rx   t   aligned(   R†   (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt
   as_alignedé  s    c         ` s,   t  ˆ  j d |  | ƒ | d d d d ƒd  S(   Ng      ð?t   rtolgñhãˆµøä>t   atolgH¯¼šò×z>(   R   R&   (   t   At   Xt   desired(   R'   (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   assert_dot_closeï  s    i   i    i'  iÈ   iY   t   FRx   (   i   i    (   i'  (   iÈ   iY   (   Rv   R   (	   t	   itertoolsRt   t   syst   numpyt   platformt   randomt   randt   dotR   (   R'   Rt   R’   R‰   R   t   testdataR   t   mR-   t   a_ordert   A_dt   X_dRŽ   t   A_ft   X_f(    (   R†   R…   R'   s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   test_sgemv_on_osxÓ  s     (   R5   R6   R9   t   sgemvR&   R   R%   RŸ   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRs   Ï  s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyRs   þ  s   t	   TestDgemvc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   dgemvR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR¡     s   	t	   TestCgemvc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   cgemvR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR£     s   	c           B` s   e  Z RS(    (   R5   R6   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR£     s   t	   TestZgemvc           B` s   e  Z e j Z e Z RS(    (   R5   R6   R9   t   zgemvR&   R   R%   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyR¥     s   	t   __main__N(    (    (    (    (    (    (    (    (    (    (;   t
   __future__R    R   R   R“   R   R   R   R   R   R   R	   R
   R   R   R   R   t   scipy.linalgR   R9   t   scipy._lib.sixR   t   numpy.testingR   R   R   R   R   R   t   accuracyR#   t   objectR$   R8   t   AttributeErrorR;   R=   R?   RA   RD   RF   RH   RJ   RL   RM   RO   RQ   RS   RU   RX   RZ   R\   R^   R`   Rs   R¡   R£   R¥   R5   (    (    (    s<   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_fblas.pyt   <module>	   s~   R.	;6;	^.w