3
KdG                 @   sL  d Z ddlmZmZmZ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mZmZmZmZmZ ddlZddlmZ dd ZG dd	 d	ZG d
d dZG dd dZ G dd dZ!G dd dZ"G dd dZ#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)G d d! d!Z*G d"d# d#Z+G d$d% d%Z,G d&d' d'Z-dS )(z"Test functions for matrix module

    )assert_equalassert_array_equalassert_array_max_ulpassert_array_almost_equalassert_raisesassert_)arangeaddfliplrflipudzerosoneseyearraydiaghistogram2dtrimask_indicestriu_indicestriu_indices_fromtril_indicestril_indices_fromvanderN)requires_array_functionc             C   s   t | }tj||}|S )N)r   r	   outer)ndata r   T/var/www/html/virt/lib64/python3.6/site-packages/numpy/lib/tests/test_twodim_base.pyget_mat   s    r   c               @   sL   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )TestEyec          
   C   s   t tdtddddgddddgddddgddddgg t tdddtddddgddddgddddgddddggd t tddktdtd d S )N      r   f)dtype   )r   r   r   bool)selfr   r   r   
test_basic   s    



zTestEye.test_basicc          
   C   s   t tdddtddddgddddgddddgddddgg t tdddtddddgddddgddddgddddgg d S )Nr!   r"   )kr   )r   r   r   )r'   r   r   r   	test_diag,   s    



zTestEye.test_diagc          	   C   sj   t tddtdddgdddgdddgdddgg t tddtddddgddddgddddgg d S )Nr!   r%   r"   r   )r   r   r   )r'   r   r   r   test_2d9   s    



zTestEye.test_2dc          	   C   sr   t tddddtddddgddddgddddgg t tddddtdddgdddgdddgdddgg d S )Nr%   r!      )r)   r   r"   )r   r   r   )r'   r   r   r   test_diag2dE   s    

zTestEye.test_diag2dc             C   s0  t tdddddgddgg t tdddddgddgg t tdddddgddgg t tdddddgddgg t tdddddgddgddgg t tdddddgddgddgg t tdddddgddgddgg t tdddddgddgddgg t tddd	ddgddgddgg d S )
Nr-   r"   r   r%   r*   r.   r*   r.   )r   r   )r'   r   r   r   test_eye_boundsQ   s    $$$$zTestEye.test_eye_boundsc             C   s$   t tddddddgddgg d S )Nr-   ZS3)r$      1    )r   r   )r'   r   r   r   test_strings\   s    zTestEye.test_stringsc             C   s$   t tddtdddgddgg d S )Nr-   )r$   TF)r   r   r&   )r'   r   r   r   	test_bool`   s    zTestEye.test_boolc             C   s`   t dddd}t ddddd}t|| |jjs4t|jj sBt|jj sPt|jjs\td S )	Nr!   r%   r"   )r)   F)r)   orderr*   r*   )r   r   flagsc_contiguousAssertionErrorf_contiguous)r'   Zmat_cZmat_fr   r   r   
test_orderc   s    
zTestEye.test_orderN)__name__
__module____qualname__r(   r+   r,   r/   r1   r4   r5   r<   r   r   r   r   r       s   r    c               @   s6   e Zd Zdd ZdddZdd Zdd	 Zd
d ZdS )TestDiagc             C   s   dt d jd}td}x tdD ]}|| |||f< q$W tt|| td}|j }x8tdD ],}|| |||d f< || ||d |f< qdW tt|dd| tt|d	d| d S )
Nd      l   r-   )r)   )rB   rB   )rD   rD   r.   )r   astyper   ranger   r   copy)r'   valsbr)   cr   r   r   test_vectorn   s    zTestDiag.test_vectorNc             C   s   |d krdt d d jd}td}x tdD ]}|||f ||< q0W tt|| |d }x$tdD ]}|||d f ||< qhW tt|d|d d  x$tdD ]}||d |f ||< qW tt|d	|d d  d S )
NrA   rB   r"   rC   r   r%   r-   )rB   r.   )r   rE   r   rF   r   r   )r'   rH   rI   r)   r   r   r   test_matrix|   s    zTestDiag.test_matrixc             C   s(   t dtd d ddd}| j| d S )NrA   rB   r"   r6   rC   )r7   r$   )r   r   rL   )r'   rH   r   r   r   test_fortran_order   s    zTestDiag.test_fortran_orderc             C   s   ddgddgddgg}t t|ddg  t t|dddg t t|ddddg t t|d	dddg t t|d
ddg t t|ddg  d S )Nr"   r-   r%   r!   rB      )r)   r   r*   r.   r0   )r   r   )r'   Ar   r   r   test_diag_bounds   s    zTestDiag.test_diag_boundsc             C   s   t ttdggg d S )Nr"   )r   
ValueErrorr   )r'   r   r   r   test_failure   s    zTestDiag.test_failure)N)r=   r>   r?   rK   rL   rM   rP   rR   r   r   r   r   r@   m   s
   
	r@   c               @   s   e Zd Zdd ZdS )
TestFliplrc             C   sv   t tttd td}|d d d d df }tt|| dddgdddgg}dddgdddgg}tt|| d S )Nr!   r"   r   r-   r%   rB   r*   )r   rQ   r
   r   r   r   )r'   arI   r   r   r   r(      s    zTestFliplr.test_basicN)r=   r>   r?   r(   r   r   r   r   rS      s   rS   c               @   s   e Zd Zdd ZdS )
TestFlipudc             C   sf   t d}|d d dd d f }tt|| dddgdddgg}dddgdddgg}tt|| d S )Nr!   r"   r   r-   r%   rB   r*   )r   r   r   )r'   rT   rI   r   r   r   r(      s    zTestFlipud.test_basicN)r=   r>   r?   r(   r   r   r   r   rU      s   rU   c               @   sH   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	dd Z
dS )TestHistogram2dc             C   s  t dddddg}t dddd	d
g}tjddd}tjddd}t||||fd }t dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	g	}t|j| t|||d }t|j| tttdttd\}}}t|tdd t|tjddd t|tjddd d S )Ng̙
}?g%?g$F?g;cjY?gI+?gp5x?g?_?gp?gbd?gg<=?r   r"   
   	      )	r   nplinspacer   r   TlistrF   r   )r'   xyZxedgesZyedgesHanswerr   r   r   test_simple   s0     zTestHistogram2d.test_simplec             C   s   t ddddddddg}t ddddddddg}t||dddgddggdd	\}}}t d
ddddgdddddgdddddgdddddgdddddgdddddgg}t||d d t|tjddd t|tjddd d S )Nr"   r-   r%   r!   rB   r   rN   T)rF   densityg        g       @rD   )rN   rB   )r   r   r   r   rZ   r[   )r'   r^   r_   r`   xedyedra   r   r   r   	test_asym   s    "zTestHistogram2d.test_asymc          
   C   s   t dddddddddg	}t dddddddddg	}t||ddddgddddggdd\}}}t dddgdddgdddggd	 }t||d d S )
Nr"   r-   r%   rB   T)rc   g      ?g      ?g      "@)r   r   r   )r'   r^   r_   r`   rd   re   ra   r   r   r   test_density   s    (
zTestHistogram2d.test_densityc             C   sD   t jjdd d }t||d	ddgddgfd\}}}t|d d S )
NrA   g      ?g    .Ar!   rB   r   r"   )rF   )r!   rB   )rZ   randomZrandr   r   )r'   rr`   rd   re   r   r   r   test_all_outliers   s    "z!TestHistogram2d.test_all_outliersc             C   sZ   t g g ddgddgfd\}}}t|tdgg t g g dd\}}}t|tjd d S )Nr   r"   )binsg        r!   )r!   r!   )r   r   r   rZ   r   )r'   rT   Zedge1Zedge2r   r   r   
test_empty   s     zTestHistogram2d.test_emptyc             C   sp  t dddddddg}t ddd	d
dddg}d}t|||df\}}}t ddddgddddgddddgddddgddddgddddgddddgddddgddddgddddgg
}t|| t|t dddddg t||d|f\}}}t ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
g}t|| t|t dddddg d S )Nr   g<D瑷?g ?g!,3{?glyT?gf.?r"   g(@TT\?gIZ?gYN?gK?~?g&W-U?皙?皙?333333?皙?      ?333333?ffffff?皙??r!   g       @g        g      ?g      ?g      ?)r   rm   rn   ro   rp   rq   rr   rs   rt   ru   r"   )r   r   r   )r'   r^   r_   edgesr`   ZxeZyera   r   r   r   test_binparameter_combination   s:    














z-TestHistogram2d.test_binparameter_combinationc             C   s   G dd d}ddg}| }t ||}t||f||fi fk t ||}t||f||fi fk t |||d}t||f||ft|df t |||dgd}t||f||ft|dgdf ttt |||gd t |||d}t||f||ft|df d S )Nc               @   s   e Zd Zdd ZdS )z5TestHistogram2d.test_dispatch.<locals>.ShouldDispatchc             S   s
   |||fS )Nr   )r'   functiontypesargskwargsr   r   r   __array_function__  s    zHTestHistogram2d.test_dispatch.<locals>.ShouldDispatch.__array_function__N)r=   r>   r?   r|   r   r   r   r   ShouldDispatch  s   r}   r"   r-   )rk   rB   )weights)r   r   dictr   	Exception)r'   r}   ZxyZs_dri   r   r   r   test_dispatch  s    

 zTestHistogram2d.test_dispatchN)r=   r>   r?   rb   rf   rg   rj   rl   rw   r   r   r   r   r   r   rV      s   
rV   c               @   s   e Zd Zdd ZdS )TestTric             C   sJ   t dddgdddgdddgg}ttd| ttdtd|jt d S )Nr"   r   r%   )r$   )r   r   r   r&   rE   )r'   outr   r   r   
test_dtype,  s
    
zTestTri.test_dtypeN)r=   r>   r?   r   r   r   r   r   r   +  s   r   c              C   s   x|t jd t jd  D ]d} t jd| d}t j|}t j|}t|ddgddgg t||j t|j|j t|j|j qW d S )NAllFloat
AllIntegerr-   )r$   r"   r   )r-   r-   )	rZ   	typecodesr   triltriur   r\   r   r$   )r$   rT   rI   rJ   r   r   r   test_tril_triu_ndim24  s    

r   c              C   s  xt jd t jd  D ]} t jddgddggddgddggddgddggg| d}t jddgddggddgddggddgddggg| d}t jddgddggddgddggddgddggg| d}t j|}t j|}t|| t|| t|j|j t|j|j qW d S )Nr   r   r"   r   )r$   )rZ   r   r   r   r   r   r   r$   )r$   rT   Za_tril_desiredZa_triu_desiredZa_triu_observedZa_tril_observedr   r   r   test_tril_triu_ndim3@  s,    



r   c              C   st   t jddt jgdddgt jddgg} t jdddgdddgt jddgg}|j}tt j| | tt j| | d S )Nr"   r   )rZ   r   infr\   r   r   r   )arrZout_trilZout_triur   r   r   test_tril_triu_with_infY  s    r   c              C   s   xRt jd D ]D} | dkrqt jd| d}tt j|j|j tt j|j|j qW t jddgddggd	d}tt j|j|j tt j|j|j t jdd
d}tt j|j|j tt j|j|j d S )NZAllVr%   )r$   z2001-01-01T12:00z2002-02-03T13:56z2004-01-01T12:00z2003-01-03T13:45Z
datetime64zf4,f4)r%   r%   )r%   r%   )rZ   r   r   r   r   r$   r   r   )rJ   r   r   r   r   test_tril_triu_dtypef  s    
r   c           	   C   sf   t dtj} tjdjdd}t||  tddddddg t dtjd}t|| tdddg d S )	Nr%   rX   r   r"   r-   r!   rB      )r   rZ   r   r   reshaper   r   )iurT   iu1r   r   r   test_mask_indices|  s
    r   c              C   s  t d} t ddd}t ddd}t dddd}tjddddgdd	d
dgddddgddddgg}tjddjdd}t||  tddd	dddddddg
 t|| tdd	d
dddddddg
 d|| < t|tddddgddd
dgddddgd d!d"d#gg d$||< t|td%ddddgd&d'dddgd(d)d*ddgd+d,d-d.dgg d/||< t|td0d1d2dgd3d4d5d6gd7d8d9d:gd;d<d=d>gg d?||< t|td@dAdBddgdCdDdEdFdgdGdHdIdJdKgdLdMdNdOdPgg d S )QNr!   r-   )r)   rB   )m)r)   r   r"   r%   rN   rD   r   rX   rW   rY                                 r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)r   rZ   r   r   r   r   )Zil1Zil2Zil3Zil4rT   rI   r   r   r   test_tril_indices  sJ    





r   c               @   s   e Zd Zdd ZdS )TestTriuIndicesc             C   s  t d}t ddd}t ddd}t dddd}tjddddgdd	d
dgddddgddddgg}tjddjdd}t|| tddddd	d
ddddg
 t|| tdddddd
ddddddddg d||< t|tddddgdddd gddd!d"gdddd#gg d$||< t|td%d&d'd(d)gd	d*d+d,d-gddd.d/d0gdddd1d2gg d3||< t|td4d5d6d7gdd8d9d:gddd;d<gdddd=gg d>||< t|td?d@dAdBdCgd	dDdEdFdGgdddHdIdJgddddKdLgg d S )MNr!   r-   )r)   rB   )r   )r)   r   r"   r%   rN   rD   r   rX   rW   rY   r   r   r   r   r   r   r   r   r   r   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   ir*   r*   iir*   r*   ir*   r*   r*   ir*   r*   iiir*   r*   iir*   r*   ir*   r*   )r   rZ   r   r   r   r   )r'   r   Ziu2Ziu3Ziu4rT   rI   r   r   r   test_triu_indices  sL    





z!TestTriuIndices.test_triu_indicesN)r=   r>   r?   r   r   r   r   r   r     s   r   c               @   s   e Zd Zdd ZdS )TestTrilIndicesFromc             C   s(   t tttjd t tttjd d S )Nr-   )r-   )r-   r-   r-   )r   rQ   r   rZ   r   )r'   r   r   r   test_exceptions  s    z#TestTrilIndicesFrom.test_exceptionsN)r=   r>   r?   r   r   r   r   r   r     s   r   c               @   s   e Zd Zdd ZdS )TestTriuIndicesFromc             C   s(   t tttjd t tttjd d S )Nr-   )r-   )r-   r-   r-   )r   rQ   r   rZ   r   )r'   r   r   r   r     s    z#TestTriuIndicesFrom.test_exceptionsN)r=   r>   r?   r   r   r   r   r   r     s   r   c               @   s   e Zd Zdd Zdd ZdS )
TestVanderc          	   C   s   t jddddg}t|}t jdddddgdddddgdddddgdd	d
ddgg}t||d d dd f  |jd }x:tdD ].}t||d}t||d d || |f  qW d S )Nr   r"   r-   r%   r   r   r!   Q      rX   rN   )Nr.   ir.   )rZ   r   r   r   shaperF   )r'   rJ   vZpowersr   r   r   r   r   r(     s    
zTestVander.test_basicc             C   s   t dddgtjd}t|}tj dddgdddgdddgg}t|| t ddg}t|dd}tj dddgdddgg}t|| d S )NrY   r   r   )r$   y   r"         g      ?y              ?r%   )r   y               @iiy      ?      ?y      ?      y      ?      ?y              y      ?      )r   rZ   Zint8r   r   )r'   rJ   r   expectedr   r   r   test_dtypes  s    
zTestVander.test_dtypesN)r=   r>   r?   r(   r   r   r   r   r   r     s   r   ).__doc__Znumpy.testingr   r   r   r   r   r   Znumpyr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rZ   Znumpy.core.tests.test_overridesr   r   r    r@   rS   rU   rV   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s*    LR/v	
/2