
    i                    *   S SK r S SKrS SKrS SKJr  S SK Jr  S SKJr  S SKr	S SK
JrJrJr  S SKJr  S SKJrJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJrJrJ r J!r!J"r"J#r#J$r$  S SK%r%S r&S r'S r(S r)S r*SS jr+S r,S r-S r.S r/S r0S r1S r2SS jr3S r4S r5S r6S r7S  r8S! r9S" r:S# r;S$ r<S% r=S& r>SS' jr?SS( jr@SS) jrAS* rBS+ rCS, rDS- rES. rFS/ rGS0 rHS1 rISS2 jrJS3 rKSS4 jrLS5 rMSS6 jrNSS7 jrOSS8 jrPS9 rQS: rRS; rSSS< jrTSS= jrUS> rVSS? jrWSS@ jrXSSA jrYSB rZSSC jr[SD r\SSE jr]SSF jr^SSG jr_SH r`SSI jraSJ rbSSK jrcSL rdSSM jreSSN jrfSSO jrgSP rhSSQ jriSSR jrjSS rkST rlSSU jrmSSV jrnSSW jroSX rpSY rqSZ rr\	R                  4S[ jrtS\ ruS] rvS^ rwS_ rxS` rySa rzSb r{Sc r|Sd r}Se r~SSf jrSSg jrSh rSi rSj rSSk jrSl rSm rSn rSo rSp rSq rSr rSSs jrSt rSu rSv rSw rSSx jrSSy jrSz rS{ rS| rS} rS~ rSS jrS rS rSS jrS rSS jrS rSS jrS rSS jrSS jrSS jrS rSS jrSS jrSS jr " S S\\5      r " S S\5      r " S S\5      r\S:X  a  \%GRX                  " 5         gg)    N)partial)product)dedent)jitnjittypeof)types)ListDict)numpy_version)TypingError)	IS_32BITS)pysignaturecross2d)TestCaseMemoryLeakMixin
needs_blasrun_in_subprocessskip_if_numpy_2
IS_NUMPY_2IS_MACOS_ARM64c                 .    [         R                  " U 5      $ N)npsincxs    X/var/www/html/trading/venv/lib/python3.13/site-packages/numba/tests/test_np_functions.pyr   r          771:    c                 .    [         R                  " U 5      $ r   r   angler   s    r   angle1r%          88A;r!   c                 .    [         R                  " X5      $ r   r#   )r   degs     r   angle2r)   #   s    88Ar!   c                 .    [         R                  " X5      $ r   )r   array_equalabs     r   r+   r+   '       >>!r!   c                 .    [         R                  " X5      $ r   r   intersect1dr,   s     r   intersect1d_2r3   +   r/   r!   c                 0    [         R                  " XU5      $ r   r1   r-   r.   assume_uniques      r   intersect1d_3r7   /   s    >>!..r!   c                 ,    [         R                  " XUS9$ Naxis)r   append)arrvaluesr;   s      r   r<   r<   3   s    99St,,r!   c                 *    [         R                  " XS9$ r9   )r   count_nonzero)r=   r;   s     r   r@   r@   7   s    C++r!   c                 .    [         R                  " X5      $ r   )r   delete)r=   objs     r   rB   rB   ;   s    99Sr!   c                 .    [         R                  " U 5      $ r   r   diffr-   s    r   diff1rH   ?   r    r!   c                 .    [         R                  " X5      $ r   rE   )r-   ns     r   diff2rK   C       771=r!   c                 .    [         R                  " U 5      $ r   r   bincountrG   s    r   	bincount1rP   G       ;;q>r!   c                 *    [         R                  " XS9$ )NweightsrN   )r-   ws     r   	bincount2rV   K   s    ;;q$$r!   c                 0    [         R                  " XU5      $ r   rN   )r-   rU   	minlengths      r   	bincount3rY   O   s    ;;qY''r!   c                 .    [         R                  " X5      $ r   r   searchsortedr-   vs     r   r\   r\   S       ??1  r!   c                 ,    [         R                  " XSS9$ )Nleftsider[   r]   s     r   searchsorted_leftrd   W   s    ??1f--r!   c                 ,    [         R                  " XSS9$ )Nrightrb   r[   r]   s     r   searchsorted_rightrg   [   s    ??1g..r!   c                  (    [         R                  " U 6 $ r   )r   digitizeargss    r   ri   ri   _   s    ;;r!   c                  (    [         R                  " U 6 $ r   )r   	histogramrj   s    r   rm   rm   c   s    <<r!   c                  ,    [         R                  " 5       $ r   )r   MachArrj   s    r   macharrp   g   s    99;r!   c                 .    [         R                  " U 5      $ r   )r   	iscomplexr   s    r   rr   rr   k       <<?r!   c                 .    [         R                  " U 5      $ r   )r   iscomplexobjr   s    r   ru   ru   o       ??1r!   c                 .    [         R                  " U 5      $ r   )r   isscalarr   s    r   rx   rx   s   rQ   r!   c                 .    [         R                  " U 5      $ r   )r   isrealr   s    r   rz   rz   w       99Q<r!   c                 .    [         R                  " U 5      $ r   )r   	isrealobjr   s    r   r}   r}   {   rs   r!   c                 .    [         R                  " X5      $ r   )r   isneginfr   outs     r   r   r          ;;qr!   c                 .    [         R                  " X5      $ r   )r   isposinfr   s     r   r   r      r   r!   c                 2    [         R                  " XX#U5      $ r   )r   iscloser-   r.   rtolatol	equal_nans        r   r   r      s    ::aD	22r!   c                 .    [         R                  " U 5      $ r   )r   isnatr   s    r   r   r      r&   r!   c                  (    [         R                  " U 6 $ r   )r   iinforj   s    r   r   r          88T?r!   c                  (    [         R                  " U 6 $ r   )r   finforj   s    r   r   r      r   r!   c                  <    [         R                  " U 6 R                  $ r   )r   r   rp   rj   s    r   finfo_macharr      s    88T?!!!r!   c                 .    [         R                  " U 5      $ r   r   fliplrrG   s    r   r   r      r{   r!   c                 .    [         R                  " U 5      $ r   r   flipudrG   s    r   r   r      r{   r!   c                 .    [         R                  " U 5      $ r   )r   fliprG   s    r   r   r      r    r!   c                 .    [         R                  " X5      $ r   r   logspacestartstops     r   	logspace2r      s    ;;u##r!   c                 ,    [         R                  " XUS9$ Nnumr   r   r   r   s      r   	logspace3r      s    ;;u,,r!   c                 .    [         R                  " X5      $ r   r   	geomspacer   s     r   
geomspace2r      s    <<$$r!   c                 ,    [         R                  " XUS9$ r   r   r   s      r   
geomspace3r      s    <<--r!   c                 .    [         R                  " U 5      $ r   r   rot90rG   s    r   r   r      r&   r!   c                 .    [         R                  " X5      $ r   r   )r-   ks     r   rot90_kr          88A>r!   c                 ,    [         R                  " XUS9$ r9   )r   array_splitr-   indicesr;   s      r   r   r      s    >>!400r!   c                 ,    [         R                  " XUS9$ r9   )r   splitr   s      r   r   r      s    88AT**r!   c                 .    [         R                  " X5      $ r   )r   vsplitr-   
ind_or_secs     r   r   r          99Q##r!   c                 .    [         R                  " X5      $ r   )r   hsplitr   s     r   r   r      r   r!   c                 .    [         R                  " X5      $ r   )r   dsplitr   s     r   r   r      r   r!   c                 ,    [         R                  " XUS9$ Nmode)r   	correlater-   r^   r   s      r   r   r      s    <<4((r!   c                 ,    [         R                  " XUS9$ r   )r   convolver   s      r   r   r      s    ;;q$''r!   c                 .    [         R                  " U 5      $ r   r   triNs    r   tri_nr      s    66!9r!   c                 .    [         R                  " X5      $ r   r   r   Ms     r   tri_n_mr          66!<r!   c                 .    [         R                  " X5      $ r   r   r   r   s     r   tri_n_kr      r   r!   c                 0    [         R                  " XU5      $ r   r   r   r   r   s      r   	tri_n_m_kr      s    66!?r!   c                 .    [         R                  " U 5      $ r   r   trilms    r   tril_mr      r    r!   c                 .    [         R                  " X5      $ r   r   r   r   s     r   tril_m_kr      rL   r!   c                 .    [         R                  " U 5      $ r   r   tril_indicesrJ   s    r   tril_indices_nr      rv   r!   c                 .    [         R                  " X5      $ r   r   rJ   r   s     r   tril_indices_n_kr      r_   r!   c                 *    [         R                  " XS9$ Nr   r   rJ   r   s     r   tril_indices_n_mr          ??1""r!   c                 0    [         R                  " XU5      $ r   r   rJ   r   r   s      r   tril_indices_n_k_mr          ??1##r!   c                 .    [         R                  " U 5      $ r   r   tril_indices_fromr=   s    r   tril_indices_from_arrr         $$r!   c                 .    [         R                  " X5      $ r   r   r=   r   s     r   tril_indices_from_arr_kr         ''r!   c                 .    [         R                  " U 5      $ r   r   triur   s    r   triu_mr    r    r!   c                 .    [         R                  " X5      $ r   r  r   s     r   triu_m_kr    rL   r!   c                 .    [         R                  " U 5      $ r   r   triu_indicesr   s    r   triu_indices_nr    rv   r!   c                 .    [         R                  " X5      $ r   r	  r   s     r   triu_indices_n_kr    r_   r!   c                 *    [         R                  " XS9$ r   r	  r   s     r   triu_indices_n_mr    r   r!   c                 0    [         R                  " XU5      $ r   r	  r   s      r   triu_indices_n_k_mr    r   r!   c                 .    [         R                  " U 5      $ r   r   triu_indices_fromr   s    r   triu_indices_from_arrr  #  r   r!   c                 .    [         R                  " X5      $ r   r  r   s     r   triu_indices_from_arr_kr  '  r  r!   c                 0    [         R                  " XU5      $ r   )r   vanderr   r   
increasings      r   r  r  +  s    99Q:&&r!   c                 .    [         R                  " X5      $ r   )r   	partitionr-   kths     r   r  r  /  s    <<r!   c                 .    [         R                  " X5      $ r   )r   argpartitionr  s     r   r!  r!  3  s    ??1""r!   c                 2    [         R                  " XX#U5      $ r   )r   cov)r   yrowvarbiasddofs        r   r#  r#  7  s    66!d++r!   c                 0    [         R                  " XU5      $ r   )r   corrcoefr   r$  r%  s      r   r)  r)  ;  s    ;;qV$$r!   c                 0    [         R                  " XU5      $ r   )r   ediff1d)aryto_endto_begins      r   r,  r,  ?  s    ::c8,,r!   c                 .    [         R                  " X5      $ r   )r   roll)r-   shifts     r   r1  r1  C  s    771r!   c                 .    [         R                  " U 5      $ r   r   asarrayrG   s    r   r5  r5  G      ::a=r!   c                 *    [         R                  " XS9$ Ndtyper4  r-   r:  s     r   asarray_kwsr<  K  s    ::a%%r!   c                 *    [         R                  " XS9$ r8  r   asfarrayr;  s     r   r?  r?  O  s    ;;q&&r!   c                 .    [         R                  " U 5      $ r   r>  rG   s    r   asfarray_default_kwargrA  S  rQ   r!   c                 .    [         R                  " X5      $ r   )r   extract	conditionr=   s     r   rC  rC  W  s    ::i%%r!   c                 .    [         R                  " U 5      $ r   r   trapzr$  s    r   np_trapzrJ  [  r&   r!   c                 .    [         R                  " X5      $ r   rG  r$  r   s     r   
np_trapz_xrM  _  r   r!   c                 *    [         R                  " XS9$ NdxrG  r$  rQ  s     r   np_trapz_dxrS  c  s    88Ar!   c                 0    [         R                  " XU5      $ r   rG  r$  r   rQ  s      r   np_trapz_x_dxrV  g  s    88A"r!   c                 .    [         R                  " U 5      $ r   r   	trapezoidrI  s    r   np_trapezoidrZ  k  rs   r!   c                 .    [         R                  " X5      $ r   rX  rL  s     r   np_trapezoid_xr\  o      <<r!   c                 *    [         R                  " XS9$ rO  rX  rR  s     r   np_trapezoid_dxr_  s  s    <<!!r!   c                 0    [         R                  " XU5      $ r   rX  rU  s      r   np_trapezoid_x_dxra  w  s    <<b!!r!   c                 2    [         R                  " XX#U5      $ r   )r   allcloser   s        r   np_allcloserd  {  s    ;;qT33r!   c                 ,    [         R                  " XUS9$ )Nr;   rT   )r   average)r-   r;   rT   s      r   
np_averagerh    s    ::aG44r!   c                 0    [         R                  " XU5      $ r   )r   interpr   xpfps      r   rj  rj    s    99QBr!   c                 .    [         R                  " X5      $ r   )r   repeatr-   repeatss     r   	np_repeatrr    s    99Q  r!   c                 L    [         R                  " U 5      R                  U5      $ r   )r   r5  ro  rp  s     r   array_repeatrt    s    ::a=((r!   c                 ,    [         R                  " XUS9$ )N)defaultr   select)condlist
choicelistrv  s      r   	np_selectr{    s    99X7;;r!   c                 .    [         R                  " X5      $ r   rw  )ry  rz  s     r   np_select_defaultsr}    s    99X**r!   c                 .    [         R                  " U 5      $ r   )r   bartlettr   s    r   np_bartlettr    rQ   r!   c                 .    [         R                  " U 5      $ r   )r   blackmanr  s    r   np_blackmanr    rQ   r!   c                 .    [         R                  " U 5      $ r   )r   hammingr  s    r   
np_hammingr    r6  r!   c                 .    [         R                  " U 5      $ r   )r   hanningr  s    r   
np_hanningr    r6  r!   c                 .    [         R                  " X5      $ r   )r   kaiser)r   betas     r   	np_kaiserr    s    99Qr!   c                 .    [         R                  " X5      $ r   )r   crossr,   s     r   np_crossr    r   r!   c                 .    [         R                  " X5      $ r   )r   
trim_zeros)r-   trims     r   np_trim_zerosr    s    ==!!r!   c                     [        X5      $ r   r   r,   s     r   
nb_cross2dr    s    1=r!   c                 .    [         R                  " U 5      $ r   r   rG   s    r   flip_lrr    r{   r!   c                 .    [         R                  " U 5      $ r   r   rG   s    r   flip_udr    r{   r!   c                 .    [         R                  " X5      $ r   )r   union1dr,   s     r   
np_union1dr    s    ::a?r!   c                 .    [         R                  " X5      $ r   )r   asarray_chkfiniter;  s     r   np_asarray_chkfiniter    s    ))r!   c                 ,    [         R                  " XX#S9$ Nperiodr   unwrap)pdiscontr;   r  s       r   r  r    s    99Q55r!   c                 .    [         R                  " U 5      $ r   r  )r  s    r   unwrap1r    r{   r!   c                 *    [         R                  " XS9$ r  r  )r  r  s     r   unwrap13r    s    99Q&&r!   c                 ,    [         R                  " XUS9$ )Nr  r  r  )r  r  r  s      r   	unwrap123r    s    99Qw77r!   c                 
    X;   $ r    )r-   keys     r   array_containsr    s	    8Or!   c                 0    [         R                  " XU5      $ r   )r   swapaxes)r-   a1a2s      r   r  r    s    ;;qb!!r!   c                 ,    [         R                  " XUS9$ )Ncopynan)r   
nan_to_num)Xr  r  s      r   r  r    s    ==3//r!   c                 .    [         R                  " U 5      $ r   )r   r   )
dimensionss    r   
np_indicesr    s    ::j!!r!   c                 .    [         R                  " U 5      $ r   r   diagflat)r^   s    r   	diagflat1r    rQ   r!   c                 .    [         R                  " X5      $ r   r  )r^   r   s     r   	diagflat2r        ;;qr!   c                 .    [         R                  " X5      $ r   r   setxor1dr,   s     r   np_setxor1d_2r    r  r!   c                 0    [         R                  " XU5      $ r   r  r5   s      r   np_setxor1d_3r    s    ;;q]++r!   c                 .    [         R                  " X5      $ r   r   	setdiff1dr,   s     r   np_setdiff1d_2r    r]  r!   c                 0    [         R                  " XU5      $ r   r  r5   s      r   np_setdiff1d_3r    s    <<m,,r!   c                 .    [         R                  " X5      $ r   r   in1dr,   s     r   	np_in1d_2r    rL   r!   c                 ,    [         R                  " XUS9$ Nr6   r  r5   s      r   
np_in1d_3ar        771}55r!   c                 ,    [         R                  " XUS9$ Ninvertr  r-   r.   r  s      r   
np_in1d_3br        771''r!   c                 0    [         R                  " XX#5      $ r   r  r-   r.   r6   r  s       r   	np_in1d_4r        771//r!   c                 .    [         R                  " X5      $ r   r   isinr,   s     r   	np_isin_2r    rL   r!   c                 ,    [         R                  " XUS9$ r  r  r5   s      r   
np_isin_3ar    r  r!   c                 ,    [         R                  " XUS9$ r  r  r  s      r   
np_isin_3br    r  r!   c                 0    [         R                  " XX#5      $ r   r  r  s       r   	np_isin_4r    r  r!   c                     ^  \ rS rSrSrU 4S jr  SS jrS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5SS4 jr6S5 r7S6 r8S7 r9S8 r:S9 r;S: r<S; r=S< r>S= r?\@S> 5       rAS? rBS@ rCSA rDSB rESC rFSD rGSE rHSF rISG rJSSH jrKSI rLSJ rMSK rNSL rOSM rPSN rQSO rRSP rSSQ rTSR rUSS rVST rWSU rXSV rYSW rZSX r[SY r\SZ r]S[ r^S\ r_S] r`S^ raS_ rbS` rcSa rdSb reSc rfSd rgSe rhSf riSg rjSh rkSi rlSj rmSk rnSl ro\pSm 5       rqSn rr\pSo 5       rs\pSp 5       rt\pSq 5       ru\pSr 5       rvSs rw\pSt 5       rx\pSu 5       ry\pSv 5       rz\pSw 5       r{Sx r|Sy r}Sz r~S{ rS| rS} rS~ rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\GR6                  " \S5      S 5       r\4S jr\GR6                  " \S5      S 5       r\4S jr\GR6                  " \S5      S 5       r\GRH                  " S5      \4S j5       r\GR6                  " \S5      S 5       r\4S jr\GR6                  " \S5      S 5       r\4S jr\GR6                  " \S5      S 5       r\4S jrS rS rS rS rS rS rS rS rS rS rS rS rS r\GRv                  " \=(       a    \S5      S 5       rS rS rS rS rS rS rS rS rS r\S 5       rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\@S 5       rS rS rS r\@S 5       rS rS rS r\@S 5       rS rS rS rS rS r\@S 5       rS rS rS rS rS rS rSrU =r$ )TestNPFunctionsi  z$
Tests for various Numpy functions.
c                 r   > [         [        U ]  5         [        R                  R                  S5      U l        g )N*   )superr  setUpr   randomRandomStaternd)self	__class__s    r   r  TestNPFunctions.setUp$  s&    ot*,99((,r!   c           
         [        X#5       H  u  pUc  S/=pE[        XE5       H  u  p[        U	4U-   5      " U5      nU" U
/UQ76 nU" U
/UQ76 n U	R                  nU[        R
                  [        R                  4;   a  SOSnSU
< SU< 3nU R                  " X4UUUUS.UD6  M     M     g! [         a    U	n Naf = f)a  
Runs tests for a unary function operating in the numerical real space.

Parameters
----------
pyfunc : a python function definition holding that calls the numpy
         functions to be tested.
x_types: the types of the values being tested, see numba.types
x_values: the numerical values of the values to be tested
func_extra_types: the types of additional arguments to the numpy
                  function
func_extra_args:  additional arguments to the numpy function
ignore_sign_on_zero: boolean as to whether to allow zero values
with incorrect signs to be considered equal
prec: the required precision match, see assertPreciseEqual

Notes:
------
x_types and x_values must have the same length

Nr  singledoublez
for input z with prec )precmsgignore_sign_on_zeroabs_tol)zipr   r:  AttributeErrorr	   float32	complex64assertPreciseEqual)r  pyfuncx_typesx_valuesfunc_extra_typesfunc_extra_argsr  r  kwargstxvxxtypesxargscfuncgotexpectedscaltyr  r  s                      r   	run_unaryTestNPFunctions.run_unary(  s    0 ',FB&68T9 !$%5!GbUV^-f5B''!"-u- XXF "emmU__%EE !%  68>'' C-1,/<O07	C <B	C "H - &  F s   B//B>=B>c                 J  ^ ^^^ SmSm[         mUUU U4S jn/ SQn[        R                  [        R                  /[	        U5      S-  -  nU" X25        [
        R                  " U[
        R                  S9/nU Vs/ s H  n[        U5      PM     nnU" X25        / SQn[        R                  [        R                  /[	        U5      S-  -  nU" X2SS9  [
        R                  " U[
        R                  S9/nU Vs/ s H  n[        U5      PM     nnU" X2SS9  g	s  snf s  snf )
z^
Tests the sinc() function.
This test is purely to assert numerical computations are correct.
Tepsc                 4   > TR                   " TX4TTS.UD6  g )N)r  r  )r  )r  r  r  isozr  r  tols      r   check(TestNPFunctions.test_sinc.<locals>.checkq  s%    NN67 %/3S%#%r!   )
      ?                           ?         g#B;g#B   r9  )      ?                                      r-                ?y                    ?                            ?      ?                  @      @            y#B;        y#B        y        #B;y        #B)ulpsN)
r   r	   r  float64lenr   arrayr   r	  
complex128)r  r   r  r  r^   r  r  r  s   `    @@@r   	test_sincTestNPFunctions.test_sincU  s     	% 	% I==%--0CMQ4FGg  HHXRZZ89&./h6!9h/g 
 ??E$4$45X!9KLga( HHXR]];<&./h6!9h/ga( 0 0s   ;D<D c                    [         n[        SS9" U5      nU R                  [        5       nU" S5        S S S 5        U R	                  S[        WR                  5      5        U R                  5         g ! , (       d  f       ND= f)NTnopythonstrz+Argument "x" must be a Number or array-like)r   r   assertRaisesr   assertInr?  	exceptiondisable_leak_checkr  r  r  raisess       r   test_sinc_exceptions$TestNPFunctions.test_sinc_exceptions  sf    T"6*{+v%L ,C&**+	- 	! ,+   	A22
B c                     S n[         n[        SS9" U5      nU" 5        H&  u  pEU" XE5      nU" XE5      nU R                  Xg5        M(     g )Nc               3   d  #    [         R                  " SS5      n SnX4v   [         R                  " S5      nSnX#4v   [         R                  " S/5      nSnSnXE4v   XF4v   [         R                  " / 5      nXv4v   [         R                  " SS/5      nUS4v   X4v   [         R                  R                  S5        [         R                  R                  S5      n	[         R                  R                  S5        [         R                  R                  5       n
U	S	   nX4v   X4v   U	R                  [         R                  5      nXS	   4v   X4v   [         R                  R                  S5        [         R                  R                  SS
[         R                  S9nUS4v   US4v   g 7f)N
   2            TFr*  r      )sizer:  r(     )r   aranger5  r8  r  seedrandviewr9  randintuint8)a_0k_0a_1k_1single_val_ak_ink_out	empty_arrbool_arr	float_arrrand_k	present_k
complx_arruint_arrs                 r   arrs+TestNPFunctions.test_contains.<locals>.arrs  sj    ))B#CC(N))A,CC(N::rd+LDE$$%%

2I"" xxu.HD. -IINN1		r*IIINN1YY^^%F!!I##&&"6Jm++$$IINN1yy(("BHH(EHA+B,s   F.F0Tr=  )r  r   r
  )r  rg  r  r  r=   r  r  receiveds           r   test_containsTestNPFunctions.test_contains  sM    +	Z  T"6*HCc'HSH##H7	 r!   c                 >  ^ ^^ [         m[        mUUU 4S jn/ SQn[        R                  [        R                  /[        U5      S-  S-   -  nU" X25        [        R                  " U[        R                  S9/nU Vs/ s H  n[        U5      PM     nnU" X25        / SQn[        R                  [        R                  /[        U5      S-  S-   -  nU" X25        [        R                  " U5      n[        R                  [        R                  /nU" X25        gs  snf )z_
Tests the angle() function.
This test is purely to assert numerical computations are correct.
c                    > TR                  TX5        SS/n[        R                  4/[        U5      -  nTR                  TXUUS9  g )NTF)r  r  )r  r	   bool_r7  )r  r  xtra_values
xtra_typespyfunc1pyfunc2r  s       r   r   )TestNPFunctions.test_angle.<locals>.check  sN    NN7G6"H-K ;;.)C,<<JNN7G,6+6  9r!   )r"  r#  r$  r%  r&  r'  r(  r)  r*     r9  )r+  r,  r-  r-  r.  y             r/  r0  r1  r2  r3  r4  N)r%   r)   r	   r  r6  r7  r   r8  r   r	  r9  )r  r   r  r  r^   rs  rt  s   `    @@r   
test_angleTestNPFunctions.test_angle  s    
 	9 :==%--0CMQ4F4JKg  HHXRZZ89&./h6!9h/g A??E$4$45X!9Ka9OPg  88H%??E$4$45g  0s   >Dc                     S nUn/ SQn/ SQn[        X45       HK  u  pV[        R                  " U/US9n[        SS9" U5      nU" U5      n	U" U5      n
U R	                  X5        MM     g )Nc                 F    [         R                  " U 5      nUR                  $ r   )r   r$   r:  )r   rs     r   numba_angle;TestNPFunctions.test_angle_return_type.<locals>.numba_angle  s    A77Nr!   )r"  r#  r+  r4  )f4f8c8c16r9  Tr=  )r  r   r8  r   assertEqual)r  r|  r  r  r  valtypr   r  r  r  s              r   test_angle_return_type&TestNPFunctions.test_angle_return_type  sj    	 .+H.HC#c*A&v.EayH(CX+ /r!   c                    [         n[        SS9" U5      nU R                  [        5       nU" S5        S S S 5        U R	                  S[        WR                  5      5        U R                  5         g ! , (       d  f       ND= f)NTr=  helloz0Argument "z" must be a complex or Array[complex])r%   r   r@  r   rA  r?  rB  rC  rD  s       r   test_angle_exceptions%TestNPFunctions.test_angle_exceptions  sf    T"6*{+v'N ,H&**+	- 	! ,+rH  c                     S n[         n[        SS9" U5      nU" 5        H&  u  pEU" XE5      nU" XE5      nU R                  Xg5        M(     g )Nc               3   $  #    [         R                  " / 5      [         R                  " / 5      4v   [         R                  " SS/5      [         R                  " SS/5      4v   [         R                  " / 5      [         R                  " S/5      4v   [         R                  " S5      R                  SS5      n SU S   S'   [         R                  " S5      R                  SS5      U 4v   X 4v   Sv   Sv   Sv   S	v   S
v   Sv   Sv   Sv   g 7f)Nrv  r*  rK  r(     rv  r*     r  r*  r*  )r  r*  )TTTF)Tr*  )Trv  )Fr   r   r8  rS  reshaper   s    r   arrays0TestNPFunctions.test_array_equal.<locals>.arrays  s     ((2,,,((Aq6"BHHaV$444((2,!--		"%%a+AAaDG))B-''1-q00$J&&JJMMN   DDTr=  )r+   r   r
  r  r  r  r  r=   rC   r  r  s           r   test_array_equal TestNPFunctions.test_array_equal  sL    	" T"6*HCc'H/C##H2 !r!   c                 0   [         n[        SS9" U5      nU R                  [        5       nU" [        R
                  " S5      R                  SS5      S 5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)NTr=     r     z3Both arguments to "array_equals" must be array-like)
r+   r   r@  r   r   rS  r  rA  r?  rB  rD  s       r   test_array_equal_exception*TestNPFunctions.test_array_equal_exception-  sq    T"6*{+v"))E"**1a0$7 ,A  !	
 ,+s   .B
Bc                    S n[         n[        SS9" U5      nU" 5        Hf  u  pE[        U[        5      (       a  [	        U5      n[        U[        5      (       a  [	        U5      nU" XE5      nU" XE5      nU R                  Xg5        Mh     g )Nc               3     #    [         R                  " [        R                  5      [         R                  " [        R                  5      4v   S/[         R                  " [        R                  5      4v   [         R                  " [        R                  5      S/4v   S/S/4v   S/S/4v   SS/S/4v   / SQSS/4v   SS/SS/4v   / SQ/ SQ4v   / SQ/ SQ4v   / SQ/ SQ4v   g 7f	Nrv  r*  rv  r*  r*  r  r(     rv  r*  r*  r  r  rv  r(  )r(  r(  r  rv  r*  )r*  rv  r  r  r  rv  r(  r
   
empty_listr	   r6  r  r!   r   r  2TestNPFunctions.test_intersect1d_2.<locals>.arrays:       ??5==1??5==13 3#tu}}555//%--01#55#s(N#s(Na&1#+aV##a&1a&. Y&& //!#888   C)C+Tr=  )r3   r   
isinstancelistr
   r
  r  r  r  r  r-   r.   r  r  s           r   test_intersect1d_2"TestNPFunctions.test_intersect1d_28  sy    	9  T"6*HDA !T""G!T""Ga|H+C##H2 r!   c                    S n[         n[        SS9" U5      nU" 5        H  u  pE[        U[        5      (       a  [	        U5      n[        U[        5      (       a  [	        U5      nU" XESS9nU" XESS9nU R                  Xg5        [        [        R                  " U5      5      [        U5      :X  d  M  [        [        R                  " U5      5      [        U5      :X  d  M  U" XESS9nU" XESS9nU R                  Xg5        M     g )Nc               3     #    [         R                  " [        R                  5      [         R                  " [        R                  5      4v   S/[         R                  " [        R                  5      4v   [         R                  " [        R                  5      S/4v   S/S/4v   S/S/4v   SS/S/4v   / SQSS/4v   SS/SS/4v   / SQ/ SQ4v   / SQ/ SQ4v   / SQ/ SQ4v   g 7fr  r  r  r!   r   r  2TestNPFunctions.test_intersect1d_3.<locals>.arraysZ  r  r  Tr=  Fr  )	r7   r   r  r  r
   r
  r7  r   uniquer  s           r   test_intersect1d_3"TestNPFunctions.test_intersect1d_3X  s    	9  T"6*HDA!T""G!T""Ga%8HE2C##H2299Q< CF*s299Q</@CF/J!!d;A5''6 r!   c                    [         n[        U5      n[        R                  " S/5      n[        R                  " S/5      nU R	                  5         U R                  [        5         U" X4S5        S S S 5        U R                  [        5         U" SUS5        S S S 5        U R                  [        5         U" USS5        S S S 5        g ! , (       d  f       N_= f! , (       d  f       NH= f! , (       d  f       g = fNrv  r*  fooT)r7   r   r   r8  rC  r@  r   r  	np_pyfunc	np_nbfuncr-   r.   s        r   test_intersect1d_errors'TestNPFunctions.test_intersect1d_errorsz      !	O	HHaSMHHaSM!{+aE" ,{+eQ% ,{+a% ,+	 ,+++++$   %
CC4C*
C
C'*
C8c                     S n[         n[        SS9" U5      nU" 5        H&  u  pEU" XE5      nU" XE5      nU R                  Xg5        M(     g )Nc               3     #    [         R                  " / 5      S 4v   [         R                  " S5      S 4v   [         R                  " S5      S 4v   [         R                  " S[         R
                  S9S4v   [         R                  " S5      R                  SSS5      S 4v   [         R                  " S5      R                  SS5      S4v   [         R                  " S5      R                  SS5      S	4v   g 7f)
NrK  r9  r   <   r  r  r(  r  rv  )r   r8  zerosrS  onesrp  r  r  r!   r   r  2TestNPFunctions.test_count_nonzero.<locals>.arrays  s     ((2,$$((2,$$))B-%%''"BHH-q00))I&..q!Q7==))E"**1a0!33))E"**1a0!33s   C6C8Tr=  )r@   r   r
  )r  r  r  r  r=   r;   r  r  s           r   test_count_nonzero"TestNPFunctions.test_count_nonzero  sM    	4 T"6*ICc(H"C##H2 "r!   c                     S n[         n[        SS9" U5      nU" 5        H)  u  pEnU" XEU5      nU" XEU5      nU R                  Xx5        M+     g )Nc               3     #    Sv   [         R                  " S5      SS 4v   [         R                  " S5      [         R                  " S5      S 4v   [         R                  " S5      R                  SS5      [         R                  " S5      S 4v   [         R                  " / SQ/ SQ/5      [         R                  " / SQ/5      S	4v   [         R                  " / SQ/ SQ/5      n X S
4v   g 7f)N)r*  r*  NrK  r  r(  r*  r  r  r(  rN  r     	   r   rv  )r   rS  r  r8  r   s    r   r  .TestNPFunctions.test_np_append.<locals>.arrays  s     ))B-D(())B-1t33))B-''1-ryy|TAA((Iy12BHHi[4I1LL((Iy12CA+r  Tr=  )r<   r   r
  )	r  r  r  r  r=   rC   r;   r  r  s	            r   test_np_appendTestNPFunctions.test_np_append  sS    	 T"6*$hNCdc-H$'C##H2 'r!   c                    [         n[        SS9" U5      n[        R                  " / SQ/ SQ/5      n[        R                  " / SQ/5      nSnU R	                  [
        5       nU" S XE5        S S S 5        U R                  S[        WR                  5      5        U R	                  [
        5       nU" US U5        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" X4S	S
9  S S S 5        U R                  S[        UR                  5      5        U R                  5         g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nf= f)NTr=  r  r  r  r   z+The first argument "arr" must be array-likez/The second argument "values" must be array-liker$  r:   z,The third argument "axis" must be an integer)
r<   r   r   r8  r@  r   rA  r?  rB  rC  )r  r  r  r=   r>   r;   rE  s          r   test_np_append_exceptions)TestNPFunctions.test_np_append_exceptions  s#   T"6*hh	9-.9+& {+v$% ,9  !	
 {+v#tT" ,=  !	
 {+v#C( ,:  !	

 	!/ ,+ ,+ ,+s$   "
E.E;E#
E
E #
E1c                     S n[         n[        SS9" U5      nU" 5        H&  u  pEU" XE5      nU" XE5      nU R                  Xg5        M(     g )Nc               3   $  #    / SQS4v   / SQSS/4v   [         R                  " S5      S4v   [         R                  " S5      S4v   [         R                  " S5      / SQ4v   [         R                  " S5      / SQ4v   [         R                  " S5      R                  SS	S
5      S4v   [         R                  " S5      R                  SS	S
5      / SQ4v   / SQ[        SSS5      4v   [         R                  " S5      [        S5      4v   g 7f)Nrv  r*  r  r  r(  r  r*  rK  )r  r(  rN  )r*  r  r  r(  r  r  r(  )r(  r     r  rv  r*  r  r  rv  )r   rS  r  slicer  r!   r   r  +TestNPFunctions.test_delete.<locals>.arrays  s      "1$$!Aq6))))B-""))B-##))B-**))B---))I&..q!Q7::))I&..q!Q7GGaA..))B-r**r  Tr=  )rB   r   r
  r  s           r   test_deleteTestNPFunctions.test_delete  sL    	+( T"6*HCc'H/C##H2 !r!   c                    [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" SS/S5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R                  " S5      / SQ5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS	5        S S S 5        U R                  S
[        UR                  5      5        U R                  [        5       nU" SS/S	5        S S S 5        U R                  S[        UR                  5      5        U R                  5         g ! , (       d  f       GNA= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f)NTr=  rv  r*  gQ	@zobj should be of Integer dtyperK  )g      @gffffff@g@r  z)arr must be either an Array or a Sequencez"obj must be less than the len(arr))rB   r   rC  r@  r   rA  r?  rB  r   rS  
IndexErrorrD  s       r   test_delete_exceptions&TestNPFunctions.test_delete_exceptions  sY   T"6*!{+v1a&$ ,,  !	

 {+v"))B-1 ,,  !	

 {+v!QK ,7  !	

 z*f1a&! +0  !	

 	!9 ,+ ,+ ,+ +*s/   F	 F+
F$7F5
F
F!$
F25
Gc              #      #    [         R                  " S5      S-  nUv   UR                  S5      nUv   [         R                  " S5      R                  S5      S-  nUv   g7f)z 
Some test arrays for np.diff()
r  r  r  r     )r  r*  r  Nr   rS  r  r  r-   r.   cs       r   diff_arraysTestNPFunctions.diff_arrays  sS      IIbMQIIfIIbM!!),1s   A A"c                 .   [         n[        SS9" U5      nU R                  5        H$  nU" U5      nU" U5      nU R                  XE5        M&     [        R
                  " S5      nU R                  5          U" U5        S S S 5        g ! , (       d  f       g = f)NTr=  r  )rH   r   r  r
  r   r8  assertTypingError)r  r  r  r=   r  r  r-   s          r   
test_diff1TestNPFunctions.test_diff1  sw    T"6*##%Cc{H*C##H2 & HHRL##%!H &%%s   4	B
Bc           	          [         n[        SS9" U5      nU R                  5        HI  nUR                  S   nSSSSUS-
  XDS-   S4 H$  nU" X55      nU" X55      nU R	                  Xg5        M&     MK     g )	NTr=  r   rv  r*  r  i  )rK   r   r  shaper
  )r  r  r  r=   rQ  rJ   r  r  s           r   
test_diff2TestNPFunctions.test_diff2'  sx    T"6*##%C99R=DAq$(D(C@!#>Cm''6 A &r!   c                    [         n[        SS9" U5      nU R                  5         [        R                  " S5      nU R                  5          U" US5        S S S 5        [        R                  " S5      nS HN  nU R                  [        5       nU" X45        S S S 5        U R                  S[        WR                  5      5        MP     U R                  5         g ! , (       d  f       N= f! , (       d  f       NY= f)NTr=  r  rv  rK  )r  izorder must be non-negative)rK   r   rC  r   r8  r  rS  r@  
ValueErrorrA  r?  rB  )r  r  r  r=   rJ   rE  s         r   test_diff2_exceptions%TestNPFunctions.test_diff2_exceptions1  s    T"6* 	! hhrl##%#qM & iimA"":.&c /MM6F<L<L8MN 
 	! &% /.s   
C	C*
C'*
C8	c                     S n[         n[        SS9" U5      nU" 5        H%  nU" U5      nU" U5      nU R                  XVU5        M'     g )Nc               3   T  #    Sv   [         R                  " S/5      v   Sv   Sv   Sv   [        S5      v   [         R                  " S5      v   Sv   Sv   S v   [         R                  " SS	5      v   [         R
                  " S
5      v   [         R
                  " SS	5      v   g 7f)Nr  )r                @numbarK  i90  gV-@TYnatrv  )r   r5  intint16timedelta64
datetime64r  r!   r   r>   -TestNPFunctions.test_isscalar.<locals>.valuesG  s     G**aS/!JHMb'M((5/!KJJ..S))--&&--3''s   B&B(Tr=  )rx   r   r  r  r>   r  r  r   r  r  s          r   test_isscalarTestNPFunctions.test_isscalarF  sK    	( T"6*AayH(CXA. r!   c                    S n[        SS9S 5       n[        [        /nU H  n[        SS9" U5      nU" 5        H  nU" U5      nU" U5      nU R                  Xx5        UR	                  USU5      n	U" USU5      n
U R                  X5        UR	                  USU5      nU" USU5      nU R                  X5        M     U R                  [        UR                  5      S5        M     g )Nc               3   X   #    Sv   Sv   [         R                  " / SQ5      v   Sv   g 7f)Nrv  r+  )r  r+  Thello worldr4  r  r!   r   r>   4TestNPFunctions.test_isobj_functions.<locals>.values^  s%     GL**.//s   (*Tr=  c                 (    U(       a  U OS nU" U5      $ r   r  )r   condr  r$  s       r   optional_fn9TestNPFunctions.test_isobj_functions.<locals>.optional_fnd  s    tA8Or!   Fr  )r   ru   r}   r  py_funcr7  
signatures)r  r>   r  pyfuncsr  r  r   r  r  expected_optionalgot_optionalexpected_nonegot_nones                r   test_isobj_functions$TestNPFunctions.test_isobj_functions]  s    	  
d		 
	  +F&v.EX!!9Ah  / %0$7$74$H!*1dE:  !2A !, 3 3Auf E&q%7  9  S!1!12A6# r!   c                     S n[         [        /nU HA  n[        SS9" U5      nU" 5        H$  nU" U5      nU" U5      nU R                  Xg5        M&     MC     g )Nc               3      #    [         R                  " / SQ5      v   [         R                  " / SQ5      v   Sv   Sv   Sv   Sv   Sv   [         R                  " SS	/SS
/SS/SS//5      v   g 7f)N)      ?      ?r+        @r  r*                 @r  r  y              (@      ?      @y      $@        )r  y       @        rv  r*  r  r(  rN  r  r  r   r8  r  r!   r   r>   7TestNPFunctions.test_is_real_or_complex.<locals>.values~  sf     ((:;;((9%%GILM""((QFQFQFQF;<<s   A.A0Tr=  )rr   rz   r   r
  )r  r>   r  r  r  r   r  r  s           r   test_is_real_or_complex'TestNPFunctions.test_is_real_or_complex}  sX    	= f%F&v.EX!!9Ah''6  r!   c                     S n[         [        /nU HC  n[        SS9" U5      nU" 5        H&  u  pVU" XV5      nU" XV5      nU R                  Xx5        M(     ME     g )Nc               3   B  #    [         R                  * S 4v   [         R                  S 4v   [         R                  S 4v   [         R                  " [         R                  * S[         R                  /5      S 4v   [         R                  * [         R                  " S[         R                  S94v   [         R                  [         R                  " S[         R                  S94v   [         R                  [         R                  " S[         R                  S94v   [         R                  * [         R
                  " S5      4v   [         R                  " [         R                  * S[         R                  /5      [         R                  " S[         R                  S94v   g 7f)Nr$  rv  r9  r  r  )r   infr5  r  rp  emptyr  r!   r   r>   7TestNPFunctions.test_isneg_or_ispos_inf.<locals>.values  s     66'4-&&$,&&$,**rvvgr26623T9966'288ARXX666&&"((1BHH555&&"((1BHH55566'288B<''**rvvgr26623RXXarxx5PPPs   FFTr=  )r   r   r   r
  )	r  r>   r  r  r  r   r   r  r  s	            r   test_isneg_or_ispos_inf'TestNPFunctions.test_isneg_or_ispos_inf  s[    		Q X&F&v.E (!!>Am''6 # r!   c                   ^	^
^^^ SmSm[         R                  " SS/5      m
[         R                  " S5      R                  S5      m	TTS.mU	U
UUU4S jn[        n[        S	S
9" U5      nU" 5        Ho  u  pEnU" XE40 UD6nU" XE40 UD6n[        U[         R                  5      (       a  U R                  Xx5        MJ  U R                  [         R                  " Xx5      5        Mq     g )Nh㈵>:0yE>d     r  r*  r*  r*  )r   r   c               3   &  >#    SS0 4v   S[         R                  0 4v   [         R                  " SS/5      [         R                  " SS/5      0 4v   [         R                  " SS/5      [         R                  " SS/5      0 4v   [         R                  " SS/5      [         R                  " SS/5      0 4v   [         R                  " SS/5      [         R                  " SS/5      0 4v   [         R                  " S[         R                  /5      [         R                  " S[         R                  /5      0 4v   [         R                  " S[         R                  /5      [         R                  " S[         R                  /5      S	S
04v   [         R                  " [         R                  [         R                  /5      [         R                  " S[         R                  /5      S	S
04v   [         R                  " SS/5      [         R                  " SS/5      SS04v   [         R                  " SS/5      [         R                  " SS/5      0 4v   [         R                  " SS/5      [         R                  " SS/5      SS04v   [         R                  " S[         R                  S/5      [         R                  " S[         R                  S/5      T4v   [         R                  " T[         R                  [         R                  * [         R                  /5      [         R                  " S/5      T4v   [         R                  " T[         R                  [         R                  * [         R                  /5      ST4v   S[         R                  " T[         R                  [         R                  * [         R                  /5      T4v   [         R                  " SS/5      [         R                  " SS/5      T4v   TTT4v   [         R                  " S/5      [         R                  " ST-   T-   /5      T4v   TTTT-  -   T4v   TTTT-  -   T-   T4v   T T T T-  -   T4v   [         R                  [         R                  T4v   [         R                  * [         R                  T4v   [         R                  [         R                  " [         R                  /5      T4v   [         R                  " [         R                  [         R                  * /5      [         R                  " [         R                  [         R                  * /5      T4v   [         R                  " [         R                  S/5      [         R                  " S[         R                  /5      T4v   [         R                  " [         R                  [         R                  * /5      [         R                  " SS/5      T4v   [         R                  " [         R                  [         R                  /5      [         R                  " S[         R                  * /5      T4v   [         R                  " [         R                  [         R                  /5      [         R                  " SS/5      T4v   [         R                  " [         R                  S/5      [         R                  " [         R                  [         R                  * /5      T4v   [         R                  " TS-  /5      [         R                  " S/5      T4v   [         R                  " S/5      [         R                  " ST-   TS-  -   /5      T4v   T T TS-  T -  -   TS-  -   T4v   [         R                  " [         R                  " [         R                  S/5      5      [         R                  " [         R                  " S[         R                  /5      5      T4v   [         R                  " [         R                  S/5      [         R                  " TS-  TS-  /5      T4v   [         R                  " [         R                  S/5      [         R                  " [         R                  TS-  /5      T4v   [         R                  " TSSSST-  -   -  T-   /5      [         R                  " S[         R                  S/5      T4v   [         R                  " S5      [         R                  " / SQ5      T4v   [         R                  [         R                  " [         R                  [         R                  [         R                  /5      T4v   [         R                  " S/5      [         R                  " T[         R                  [         R                  * [         R                  /5      T4v   S[         R                  " T[         R                  [         R                  * [         R                  /5      T4v   g 7f)N    _B   UkBr+  Hz>r$  &.>   2٠Br"  r   T0.++r   绽|=g#B;g=|=rv  r*  r  r  r   皙?    .A)r   rv   @)r   r  r8  r$  rS  )aranr=   r   kwr   s   r   r>   ,TestNPFunctions.test_isclose.<locals>.values  s    
B&&""((D$<("((C:*>BB((D$<("((J3E*FJJ((D$<("((J3E*FJJ((D$<("((It3D*ErII((C=)288S"&&M+BBFF((C=)288S"&&M+B[RVDWWW((BFFBFF+,bhhRVV}.EUYGZZZ((FD>*BHHc3Z,@63-OO((E5>*BHHeS\,BBFF((E5>*BHHe\5J,KfVY]ZZ((Arvvq>*BHHa^,DbHH((D"&&266'266:;RXXqc]BNN((D"&&266'266:;QBBRXXtRVVbffWbff=>BB ((Aq6"BHHaV$4b88sB,((A3-1t8d?*;!<b@@sS4Z'++sS4Z'$.22td{*B..&&"&&"$$66'2662%%&&"((BFF8,b00((BFFRVVG,-rxx"&&8I/JBNN ((BFFA;'1bff+)>BB((BFFRVVG,-rxxA/?CC((BFFBFF+,bhhBFF7|.DbHH((BFFBFF+,bhh1v.>BB((BFFA;'266BFF72C)DbHH((D1H:&!r99((A3-1t8dQh+>*?!@"DDtczD004#:=rAA((288RVVQK01288BHHa[<Q3RTVVV ((BFFA;'4!8TAX2F)GKK((BFFA;'2664!82D)ErII((D!SADL%9D%@ABBHHaQSQWQWY\M]D^`bbb))A, 5r99&&"((BFFBFFBFF#;<b@@((A3-4"&&"&&*I!JBNNRXXtRVVbffWbff=>BBs   hhTr=  )r   r8  rS  r  r   r   r  rp  r  
assertTruer+   )r  r>   r  r  r-   r.   r  r  r  r:  r=   r   r;  r   s            @@@@@r   test_iscloseTestNPFunctions.test_isclose  s    hhT{#yy|##I.D)3	C 3	Cj T"6*"HLA&a-f-H''C(BHH--  /x => %r!   c                    [         n[        SS9" U5      n[        R                  " SS[        R                  /5      [        R                  " SS/5      SSSS	[
        4S
SSSSS[        4SS
SSSS[        4SSSSSS[        4SSSSSS[        4SSSSSS[        4/nU H,  u  pEpgpn
U R                  X5         U" XEXgU5        S S S 5        M.     g ! , (       d  f       M@  = fNTr=  r0  r3  r4  r*  r+  Fz=shape mismatch: objects cannot be broadcast to a single shaper  r  z)The first argument "a" must be array-likez*The second argument "b" must be array-liker*  z2The third argument "rtol" must be a floating pointz3The fourth argument "atol" must be a floating pointrv  z0The fifth argument "equal_nan" must be a boolean)r   r   r   r5  r  r  r   assertRaisesRegexr  r  r  inpsr-   r.   r   r   r   exc_msgexcs              r   isclose_exception!TestNPFunctions.isclose_exception  s   T"6*ZZtRVV,-ZZD)*E5L	
 au8 u9 5%A 5%B 5%?%
. :>5A$i#''5aD	2 65 :>55s   6C
C	c                     / SQn[         R                  " / SQ5      nU R                  R                  SSSS9R	                  [         R
                  5      nXU4$ )z'
Some test sequences for np.bincount()
)rv  r*  r(  r*  r  rM  )r(  r  r  r(  r   r,  ,  rQ  )r   r8  r  rW  astypeint8r  s       r   bincount_sequences"TestNPFunctions.bincount_sequences  sK      HH]#HHQ#.55bgg>ayr!   c                     [         n[        SS9" U5      nU R                  5        H$  nU" U5      nU" U5      nU R                  XE5        M&     g NTr=  )rP   r   rN  r
  )r  r  r  seqr  r  s         r   test_bincount1TestNPFunctions.test_bincount1  sI    T"6***,Cc{H*C##H2 -r!   c                 *   [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" SS/5        S S S 5        U R                  S[        WR                  5      5        U R                  5         g ! , (       d  f       ND= f)NTr=  r*  r  #first argument must be non-negative)rP   r   rC  r@  r  rA  r?  rB  rD  s       r   test_bincount1_exceptions)TestNPFunctions.test_bincount1_exceptions  sz    T"6* 	! z*f1b'N +;&**+	- 	! +*s   B
Bc                 d   [         n[        SS9" U5      nU R                  5        H  nU Vs/ s H  n[        R                  " U5      S-
  PM     nnU[
        R                  " U5      U[
        R                  " U5      4 H$  nU" X65      nU" X65      nU R                  Xx5        M&     M     g s  snf NTr=  r*  )rV   r   rN  mathsqrtr   r8  r
  )	r  r  r  rR  r   rU   rT   r  r  s	            r   test_bincount2TestNPFunctions.test_bincount2(  s    T"6***,C+./3a1!3A/rxx{C#?!#/C)''6 @ -/s   #B-c                    [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" SS/SS/5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SS/S/5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       NE= f)NTr=  r*  r  r   rV  z+weights and list don't have the same length)rV   r   rC  r@  r  rA  r?  rB  rD  s       r   test_bincount2_exceptions)TestNPFunctions.test_bincount2_exceptions3  s    T"6* 	! z*f1b'Aq6" +;&**+	- z*f1b'A3 +C&**+	- +* +*   CC
C
C%c                    [         n[        SS9" U5      nU R                  5        Hd  n[        U5      nXDS-   4 HL  nU" US U5      nU" US U5      nU R	                  [        U5      [        U5      5        U R                  Xg5        MN     Mf     g rZ  )rY   r   rN  maxr  r7  r
  )r  r  r  rR  a_maxrX   r  r  s           r   test_bincount3TestNPFunctions.test_bincount3F  s    T"6***,CHE#QY/	!#tY7Cy1  XC9''6	 0 -r!   c                    [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" SS/SS/5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SS/S S5        S S S 5        U R                  S	[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       NE= f)
NTr=  r*  r  r   rV     &   z 'minlength' must not be negative)rY   r   rC  r@  r  rA  r?  rB  rD  s       r   test_bincount3_exceptions)TestNPFunctions.test_bincount3_exceptionsR  s    T"6* 	! z*f1b'Aq6" +;&**+	- z*f2r(D"% +8&**+	- +* +*rb  c                 "  ^ ^^	^
^^^ [         m[        SS9" T5      m[        m[        SS9" T5      m	[        m[        SS9" T5      m
UU	U
UUUU 4S jn[        R
                  " S5      S-  n[        R
                  " S5      S-
  nU[        U5      4 HG  nU H  nU" XE5        M     X3R                  S5      4 H  nU" XE5        M     U" U[        U5      5        MI     [        R                  " [        U5      [        S	5      /S
-  -   5      S-  n[        R
                  " S5      S-
  nU[        U5      4 HG  nU H  nU" XE5        M     X3R                  S5      4 H  nU" XE5        M     U" U[        U5      5        MI     S n[        SS9" U5      mT R                  5          T" SS/S5        S S S 5        SS jn[        SS9" U5      mT R                  5          T" SS/SSS9  S S S 5        [        R                  " / SQ5      n[        R                  " SS/SS
/SS/SS//5      nU" XE5        [        R                  " / SQ5      n[        R                  " SS/SS/SS//5      nU" XE5        g ! , (       d  f       N= f! , (       d  f       N= f)NTr=  c                    > T" X5      nT" X5      nT
R                  X#5        T" X5      nT" X5      nT
R                  X#5        T	" X5      nT" X5      nT
R                  X#5        g r   r
  r-   r^   r  r  r  
cfunc_leftcfunc_rightr  pyfunc_leftpyfunc_rightr  s       r   r   0TestNPFunctions.test_searchsorted.<locals>.checko  g    a|H+C##H2"1(HQ"C##H2#A)Ha#C##H2r!   r(  r*  rM  rv  r  r(  r  r         @r&  c                 ,    [         R                  " XSS9$ )Nnonsenserb   r[   r]   s     r   bad_side3TestNPFunctions.test_searchsorted.<locals>.bad_side  s    ??1j99r!   c                 ,    [         R                  " XUS9$ )Nrb   r[   )r-   r^   rc   s      r   nonconst_side8TestNPFunctions.test_searchsorted.<locals>.nonconst_side  s    ??1d33r!   rf   rb   )rv  r*  r   r  rN  r   r  )	r  rv  r  r*  r   r  r  rN  r  rK  r  )ra   )r\   r   rd   rg   r   rS  r  r  r6  floatr  r8  )r  r   binsr>   r-   r^   r{  r~  r  rq  rr  r  rs  rt  s   `       @@@@@@r   test_searchsorted!TestNPFunctions.test_searchsortede  sQ   T"6*'$'4
)4(6	3 	3 yy|q 2"T
#Aa  nnV45a 6 !T&\" $ zz$t*e~'99:S@2$T
#Aa  nnV45a 6 !T&\" $	:T"8,##%1Q%O &	4T"=1##%1Q%) & HHYHHAAAA	
 	aHH01HHBQQ
 	a= &% &%s   "I/J /
I= 
Jc                   ^ ^	^
^^^^ [         m[        SS9" T5      m	[        m[        SS9" T5      m
[        m[        SS9" T5      mU	U
UUUUU 4S jn[	        [        SS5      5      nU[        R                  /S-  [        R                  /S-  -   [        R                  * /S-  -   -  n[        S5       H  nT R                  R                  / S	Q5      nT R                  R                  X$5      nT R                  R                  X$US-  S
-
  -   5      nU" XV5        U" [        R                  " U5      U5        M     [        R                  " S5      n[        R                  " [        U5      [        R                  S9nU" Xw5        U" Xx5        U" X5        U" X5        [        R                  " S
5      n[        R                  " S5      nU" XV5        [        R                   " / SQ5      n[        R                   " SS/5      nU" XV5        / SQnSnU" XV5        [        R                   " / SQ5      n[        R                   " SS/5      nU" XV5        g )NTr=  c                    > T" X5      nT" X5      nT
R                  X#5        T" X5      nT" X5      nT
R                  X#5        T	" X5      nT" X5      nT
R                  X#5        g r   ro  rp  s       r   r   =TestNPFunctions.test_searchsorted_supplemental.<locals>.check  rv  r!   r)  rL  r(  r  r-  )r(  rK  rR  rv  
fill_valuer   )FFTTFr  )123r  4)r\   r   rd   rg   r  ranger   r  r$  r  choicesortr  fullr7  rS  r8  )r  r   element_poolisample_sizer-   r^   r  nansr  rq  rr  r  rs  rt  s   `        @@@@@@r   test_searchsorted_supplemental.TestNPFunctions.test_searchsorted_supplemental  s   T"6*'$'4
)4(6	3 	3 E"bM*1x!|3wi!mCCtA((//+6K :AQUQY.GHA !K"''!*a   wwqzwws4yRVV4d 	ddd IIaLIIaLa HH/0HHeT]#a a HH_%HHc3Z ar!   c                   ^ ^	^
^^^^ [         m[        SS9" T5      m	[        m[        SS9" T5      m
[        m[        SS9" T5      mU	U
UUUUU 4S jnSS[        R
                  /n[        R                  " X"5       Vs/ s H  n[        U6 PM     nn[        S5       H  nT R                  R                  SS[        U5      /5      nT R                  R                  XF5      nT R                  R                  XFUS-  S-
  -   5      nU" Xx5        U" [        R                  " U5      U5        M     U" [        R                  " U5      [        R                  " S	5      S
9  g s  snf )NTr=  c                    > T" X5      nT" X5      nT
R                  X#5        T" X5      nT" X5      nT
R                  X#5        T	" X5      nT" X5      nT
R                  X#5        g r   ro  rp  s       r   r   8TestNPFunctions.test_searchsorted_complex.<locals>.check  rv  r!   r   rv  r,  r  r(  r*  r]   )r\   r   rd   rg   r   r  	itertoolsr   complexr  r  r  r7  r  r8  rS  )r  r   poolr  r  r  r  r-   r^   r  rq  rr  r  rs  rt  s   `        @@@@@@r   test_searchsorted_complex)TestNPFunctions.test_searchsorted_complex  s   T"6*'$'4
)4(6	3 	3 1bff~-6->->t-JK-J-JKsA((//1a\1B*CDK :AQUQY.GHA !K"''!*a   	&"))A,7 Ls   >Ec                   ^ ^^ [         m[        SS9" T5      mUUU 4S jn[        R                  " SSSSSS	S
SS[	        S5      [	        S5      [	        S5      45      n[        U5      S:X  d   eT R                  R                  U5        [        R                  " / SQ5      n[        R                  " SSSS
[	        S5      [	        S5      /5      n[        R                  " SSSS
[	        S5      [	        S5      /[	        S5      /S-  -   5      nX4U/nX"R                  S5      /nU H2  nUR                  5         U H  n	U" X5        U" XS S S2   5        M     M4     U H$  nS H  n
U" X(U
5        U" X(S S S2   U
5        M     M&     U" [        U5      U5        U" [        R                  " [        R                  S/5      [        R                  " S[        R                  /5      5        g )NTr=  c                  <   > T" U 6 nT" U 6 nTR                  X5        g r   ro  rk   r  r  r  r  r  s      r   r   ,TestNPFunctions.test_digitize.<locals>.check*  #    t}H,C##H2r!   r   Gz?rv  皙@r  r  r  r        #@r$  z-infr  r  rv  r  r  r  r  rK  r  r  r        ?)ri   r   r   r6  r  r7  r  shuffler  r  r  r8  r  )r  r   r>   bins1bins2bins3all_binsxsr  r   rf   r  r  s   `          @@r   test_digitizeTestNPFunctions.test_digitize&  s   T"6*	3
 Qac1aC"5\5=%,H I6{b    

>*

Aq#q%,fFG

Aq#q%,fF#El^b01 2 %(nnV,- DIIKaadd$   D&fE*f4R4j%0 '  	d6lE" 	bhh{#RXXsBFFm%<=r!   c                 d  ^ ^^ T R                  5         [        m[        SS9" T5      mUUU 4S jn[        R                  " [        R
                  S/5      n[        R                  " [        R
                  SS[        R
                  /5      nU" X#5        / SQn/ SQnU" X#5        / S	QnU" X#5        g )
NTr=  c                     > TT4 HM  nTR                  [        5       nU" U 6   S S S 5        SnTR                  U[        WR                  5      5        MO     g ! , (       d  f       N:= f)Nz3bins must be monotonically increasing or decreasingr@  r  rA  r?  rB  )rk   fnrE  r  r  r  r  s       r   check_errorETestNPFunctions.test_digitize_non_monotonic_bins.<locals>.check_errorV  sU    uo&&z2fI 3 Lc3v'7'7#89 &22s   A
A&	rv  r  ffffff@r  r   rv  r*  )r   r   rv  r   rv  rv  r   rv  )rC  ri   r   r   r8  r  )r  r  r   r  r  r  s   `   @@r    test_digitize_non_monotonic_bins0TestNPFunctions.test_digitize_non_monotonic_binsO  s    !T"6*	: HHbffa[!xxc26623AAAr!   c                   ^ ^^ [         m[        SS9" T5      mUUU 4S jn[        R                  " SS5      n[        R                  " SS5      nU" X#5        [        R                  " SSS5      n[        R                  " SSS5      nU" X#5        T R                  R                  S5      n[        R                  " UR                  5       UR                  5       S5      nU" X#5        / S	Qn/ S
QnU" X#5        [        R                  " SS5      n[        R                  " SS5      nU" X#S5        [        R                  " SSS5      n[        R                  " SSS5      nU" X#S5        T R                  R                  S5      n[        R                  " UR                  5       UR                  5       S5      nU" X#S5        / SQn/ SQnU" X#5        / SQnU" X#5        / SQnU" X#5        SnU" U/US-
  US-   /5        g )NTr=  c                  <   > T" U 6 nT" U 6 nTR                  X5        g r   ro  r  s      r   r   9TestNPFunctions.test_digitize_supplemental.<locals>.checkp  r  r!   r(  r)  r  rK  )rv  r(  r  rK  r     r   )rv  r(  rK  r  r  )r   r   rv  )rv  rv  r   rv  rv  rv  rv  l          rv  )	ri   r   r   rS  r  rU  linspaceminrd  )r  r   r   r  r  r  s   `   @@r   test_digitize_supplemental*TestNPFunctions.test_digitize_supplementali  s    T"6*	3 IIb!yyQa IIaR yyB#a HHMM"{{1557AEEGR0a $a IIb!yyQat IIaR yyB#at HHMM"{{1557AEEGR0at aaa qcAE1q5>"r!   c                 t   U R                  5         [        n[        SS9" U5      n[        R                  " S/5      n[        R                  " / SQ5      nSnX4 HI  nU R                  5        nU" X45        U R                  U[        UR                  5      5        S S S 5        MK     g ! , (       d  f       M]  = f)NTr=  r  )r"        @r         @zx may not be complex)	rC  ri   r   r   r8  r  rA  r?  rB  )r  r  r  r   r$  r  funcrE  s           r    test_digitize_raise_if_x_complex0TestNPFunctions.test_digitize_raise_if_x_complex  s    !T"6*HHfXHH&'$MD'')VQ
c3v'7'7#89 *) "))s   -.B((
B7	c                    ^ ^^^ [         m[        SS9" T5      mUUU 4S jmU4S jn[        R                  " S5      n[	        U5      S:X  d   eT R
                  R                  U5        U" U5        g )NTr=  c                  f   > T" U 6 u  pT" U 6 u  p4TR                  X5        TR                  X$SSS9  g )Nr  r*  r  r5  ro  )rk   pyhistpybinschistcbinsr  r  r  s        r   r   -TestNPFunctions.test_histogram.<locals>.check  s>    #T]NF $<LE##F2 ##Fq#Ir!   c                    > [         R                  " / SQ5      nT" X5        T" U R                  S5      U5        T" U S5        T" U SS5        T" U 5        g )Nr  r  r  )r"  g      +@)r   r6  r  )r>   r  r   s     r   check_values4TestNPFunctions.test_histogram.<locals>.check_values  sQ     ::n-D&&..($/ &! &![) &Mr!   )r   r  rv  r  r  r  r  r  r  g     @E@r#  r%  r  )rm   r   r   r6  r7  r  r  )r  r  r>   r  r   r  s   `  @@@r   test_histogramTestNPFunctions.test_histogram  sc    T"6*	J	   7 86{b    Vr!   c                 6   [        SS9" U5      nSn[        R                  [        R                  [        R                  [        R
                  [        R                  [        R                  [        R                  /n/ SQn[        R                  " XDX3U5       H  u  pgpn
[        R                  " XS9n[        R                  " XS9n[        R                  " U[        R                  5      (       a  USU-  -   R                  U5      n[        R                  " U[        R                  5      (       a  USU-  -   R                  U5      nU" XU
S9nU" XU
S9nU R                  X5        M     [        R                  " S5      R!                  S	S
5      n[        R                  " S5      nUU4UU44 HT  u  nnU R#                  [$        5       nU" UU5        S S S 5        SnU R'                  U[)        WR*                  5      5        MV     g ! , (       d  f       N:= f)NTr=  )rv  r*  r  r  )r  validsamer9  r.  r   r  r  r  zonly supported on 1D arrays)r   r   rM  int32int64r  r6  r	  r9  r  r   rS  
issubdtypecomplexfloatingrL  r
  r  r@  r   rA  r?  rB  )r  r  r  lengthsdtsmodesdt1dt2rJ   r   r   r-   r^   r  r  _a_br   r$  rE  r  s                        r   _test_correlate_convolve(TestNPFunctions._test_correlate_convolve  s   T"6* ww"((BJJ

||R]],)$-$5$5g%
 CaD 		!'A		!'A}}S""4"455aZ'',}}S""4"455aZ'',a.H4(C##H2%
  YYr]""1a(YYr]"XBx(DAq"";/6a 0/CMM#s6#3#345	 )//s   
H


H	c                 .    U R                  [        5        g r   )r  r   r  s    r   test_correlateTestNPFunctions.test_correlate  s    %%i0r!   c                    U R                  5         [        R                  " SS9n[        R                  " S5      n[	        SS9" U5      nX#4X244 H  u  pVU R                  [        5       nU" XV5        S S S 5        [        U5      S:X  a'  U R                  S[        WR                  5      5        Ma  U R                  S[        WR                  5      5        M     U R                  [        5       nU" X3S	S
9  U R                  S[        UR                  5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   )r  r(  Tr=  r   z'a' cannot be emptyz'v' cannot be emptyzinvalid moder   zInvalid 'mode')rC  r   r  rS  r   r@  r  r7  rA  r?  rB  )r  r  r  r  r  r   r$  rE  s           r   #_test_correlate_convolve_exceptions3TestNPFunctions._test_correlate_convolve_exceptions  s    ! WW4 YYq\T"2&Xx(DA"":.&a /1v{3S9I9I5JK3S9I9I5JK ) z*f"~.MM*C0@0@,AB +* /. +*s   *	D%/-D6%
D3	6
Ec                 .    U R                  [        5        g r   )r  r   r  s    r   test_correlate_exceptions)TestNPFunctions.test_correlate_exceptions  s    00;r!   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_convolveTestNPFunctions.test_convolve  s    %%h/r!   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_convolve_exceptions(TestNPFunctions.test_convolve_exceptions  s    00:r!   c                 D    U" S0 UD6nU" S0 UD6nU R                  XVUS9  g )Nr  r  ro  )r  r  r  paramsr  r  r  s          r   _check_outputTestNPFunctions._check_output  s-    #F#ofow?r!   c                   ^ [         n[        SS9" U5      n[        U R                  X5      mU4S jnU" [        R
                  " / SQ5      5        U" [        R                  " S5      S-
  5        U" [        R                  " SSS	5      5        U" [        R
                  " S
[        R                  [        R                  [        R                  * /5      5        U" [        R
                  " / 5      5        U" [        R                  " SS	5      S-
  5        U" [        R
                  " S/S	-  S/S-  -   5      5        [        R                  [        R                  [        R                  [        R                  4 H  nU" [        R                  " SUS95        M      U" / SQ5        U" S5        U" S5        U" S5        U" S5        U" S5        g )NTr=  c                    > / SQnSS/nSU 0nT" U5        U H  nXS.nT" U5        M     U H  nXS.nT" U5        M     U H  nU H  nXUS.nT" U5        M     M     g )N)Nr   rv  r*  r  r  TFr   )r   r   )r   r  r  r  )r   	n_choicesincreasing_choicesr  rJ   r  r  s         r   _check1TestNPFunctions.test_vander_basic.<locals>._check'  s    -I"& 1XF&!  )f% 
 1
 ;f% 1
 "4J#$JGF!&) #5 r!   )rv  r*  r  r(  r        %@r  rK  r(  333333?r)  333333?Fr  r9  r   rv  r*  r  r  r(  rN  r  )r$  r"  rx  r  )r  g-@A`"	@)TFr  )r  r   r   r  r   r8  rS  r  r  r$  r  r  r  r6  )r  r  r  r  r:  r  s        @r   test_vander_basic!TestNPFunctions.test_vander_basic"  sM   T"6* 2 2FB	*0 	rxx%&ryy|d"#r{{1b!$%rxxbffbffrvvg678rxx|ryyQ#%& 	rxx
eWq[012 XXrxxRZZ?E299Ru-. @ 	||r
 	 ! r!   c                   ^ ^^ [         n[        SS9" U5      mT R                  5         [        R                  " S5      S-
  mUU U4S jnSS[        R
                  SS/4 H  nU" U5        M     T R                  [        5       nT" TS	S
9  S S S 5        T R                  S[        WR                  5      5        UU 4S jn[        R                  " S5      R                  S5      mU" T5        SmU" T5        g ! , (       d  f       Nr= f)NTr=  r(  r&  c                    > TR                  5        nT" TU S9  S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nr   z,Second argument N must be None or an integerr  rA  r?  rB  )r   rE  r  r  r   s     r   _check_n8TestNPFunctions.test_vander_exceptions.<locals>._check_n`  sE    '')Va1 *MMHf../1 *)s   A
Ar7  rv  r*  r  r   z#Negative dimensions are not allowedc                    > TR                  [        5       nT" U 5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nz.x must be a one-dimensional array or sequence.)r@  r  r  r?  rB  )r   rE  r  r  s     r   	_check_1d9TestNPFunctions.test_vander_exceptions.<locals>._check_1dn  sG    "":.&a /M !1!124 /.   	A
Ar  )r  r  r  )r*  r  rw  )r  r   rC  r   rS  r$  r@  r  rA  r?  rB  r  )r  r  r  r   rE  r  r  r   s   `     @@r   test_vander_exceptions&TestNPFunctions.test_vander_exceptionsW  s    T"6* 	!IIaL3	1 dBFFQF*AQK + z*f!rN +;&**+	-	4 IIbM!!),!! +*s   C88
Dc                     [         n[        SS9" U5      n[        U R                  X5      nS nU" 5        H  nSU0nU" U5        M     g )NTr=  c                  0    [         R                  " SS5      $ Nr  r   rS  r  r!   r   n_variations6TestNPFunctions.test_tri_n_basic.<locals>.n_variations      99R##r!   r   )r   r   r   r  )r  r  r  r  r  rJ   r  s          r   test_tri_n_basic TestNPFunctions.test_tri_n_basicz  sK    T"6*++V;	$ A1XF6N  r!   c                     [         n[        SS9" U5      n[        U R                  X5      nS nS nU" 5        H  nSU0nU" U5        M     U" 5        H  nU" 5        H  nXhS.nU" U5        M     M     g )NTr=  c                  0    [         R                  " SS5      $ r  r  r  r!   r   r  8TestNPFunctions.test_tri_n_m_basic.<locals>.n_variations  r   r!   c                  Z    [         R                  R                  S /[        SS5      45      $ Nr)  r  r  chainfrom_iterabler  r  r!   r   m_variations8TestNPFunctions.test_tri_n_m_basic.<locals>.m_variations  $    ??004&%A,1GHHr!   r   r   )r   r   r   r  )	r  r  r  r  r  r+  rJ   r  r   s	            r   test_tri_n_m_basic"TestNPFunctions.test_tri_n_m_basic  sz    T"6*++V;	$	I
 A1XF6N  
 A!^ )v $  r!   c                     [         n[        SS9" U5      n[        U R                  X5      nS nS nU" 5        H  nSU0nU" U5        M     U" 5        H  nU" 5        H  nXhS.nU" U5        M     M     g )NTr=  c                  0    [         R                  " SS5      $ r  r  r  r!   r   r  8TestNPFunctions.test_tri_n_k_basic.<locals>.n_variations  r   r!   c                  0    [         R                  " SS5      $ NrK  r  r  r!   r   k_variations8TestNPFunctions.test_tri_n_k_basic.<locals>.k_variations      99S"%%r!   r   r   )r   r   r   r  )	r  r  r  r  r  r6  rJ   r  r   s	            r   test_tri_n_k_basic"TestNPFunctions.test_tri_n_k_basic  sy    T"6*++V;	$	& A1XF6N  
 A!^ )v $  r!   c                    [         n[        SS9" U5      n[        U R                  X5      nS nS nS nU" 5        H  nSU0nU" U5        M     U" 5        H  nU" 5        H  n	XyS.nU" U5        M     M     U" 5        H  nU" 5        H  n
XzS.nU" U5        M     M     U" 5        H,  nU" 5        H  n
U" 5        H  n	XyU
S	.nU" U5        M     M      M.     g )
NTr=  c                  0    [         R                  " SS5      $ r  r  r  r!   r   r  :TestNPFunctions.test_tri_n_m_k_basic.<locals>.n_variations  r   r!   c                  Z    [         R                  R                  S /[        SS5      45      $ r'  r(  r  r!   r   r+  :TestNPFunctions.test_tri_n_m_k_basic.<locals>.m_variations  r-  r!   c                  0    [         R                  " SS5      $ r4  r  r  r!   r   r6  :TestNPFunctions.test_tri_n_m_k_basic.<locals>.k_variations  r8  r!   r   r   r   r   )r   r   r   r  )r  r  r  r  r  r+  r6  rJ   r  r   r   s              r   test_tri_n_m_k_basic$TestNPFunctions.test_tri_n_m_k_basic  s    T"6*++V;	$	I	& A1XF6N  
 A!^ )v $   A!^ )v $   A!^%A#$15F6N ( $  r!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jnSS[        R                  SS/4 H  nU" U5        M     g )NTr=  c                    > TR                  5        nT" SSU S9  S S S 5        S[        WR                  5      ;   d   eg ! , (       d  f       N*= f)Nr(  rN  r   k must be an integer)r  r?  rB  )r   rE  r  r  s     r   r  3TestNPFunctions.test_tri_exceptions.<locals>._check  sD    '')Vaa  *)S1A1A-BBBB *)s	   	?
Ar  rv  r*  )r   r   rC  r   r$  )r  r  r  r   r  s   `   @r   test_tri_exceptions#TestNPFunctions.test_tri_exceptions  sO    T"6* 	!	C
 dBFFQF*A1I +r!   c                 \   ^ ^^ [        SS9" T5      mUUU 4S jnT R                  T TU5      $ )NTr=  c                    > T" U 5      nT" U 5      nTR                  UR                  UR                  5        [        R                  R	                  X!5        g r   )r  r:  r   testingassert_array_equal)r=   r  r  r  r  r  s      r   r  :TestNPFunctions._triangular_matrix_tests_m.<locals>._check  s?    c{H*CSYY7JJ))#8r!   r   _triangular_matrix_tests_innerr  r  r  r  s   `` @r   _triangular_matrix_tests_m*TestNPFunctions._triangular_matrix_tests_m  s.    T"6*	9 224HHr!   c                 \   ^ ^^ [        SS9" T5      mUUU 4S jnT R                  T TU5      $ )NTr=  c                 .  > [         R                  R                  S /[        SS5      45       Hd  nUc  0 nOSU0nT" U 40 UD6nT" U 40 UD6nTR	                  UR
                  UR
                  5        [        R                  R                  XC5        Mf     g )Nr5  rK  r   )	r  r)  r*  r  r  r:  r   rM  rN  )r=   r   r  r  r  r  r  r  s        r   r  <TestNPFunctions._triangular_matrix_tests_m_k.<locals>._check  s    __22TFE#rN3KL9F!1XF!#00C*6*  HNN;

--c< Mr!   rP  rR  s   `` @r   _triangular_matrix_tests_m_k,TestNPFunctions._triangular_matrix_tests_m_k  s.    T"6*
	= 224HHr!   c                 |  ^ U4S jnU4S jnU" [         R                  " S5      S-   5        U" [         R                  " S5      S-
  5        T" [         R                  " S5      R                  SSS	S
5      5        T" [         R                  " / 5      5        T" [         R                  " S5      R                  S5      S S S2   5        T" [         R                  " S5      R                  SSS95        [         R                  " S5      S-
  R                  S5      nT" U5        T" [         R                  " U5      5        g )Nc                    > T" U 5        U R                  S5      n T" U 5        U R                  S5      n T" U 5        T" U R                  5        g )N)r  r  )r  rv  r  r  r  Tr-   r  s    r   	check_oddATestNPFunctions._triangular_matrix_tests_inner.<locals>.check_odd
  s?    1I		&!A1I		,'A1I133Kr!   c                    > T" U 5        U R                  S5      n T" U 5        U R                  S5      n T" U 5        T" U R                  5        g )N)r     r  r*  r*  r  r\  r^  s    r   
check_evenBTestNPFunctions._triangular_matrix_tests_inner.<locals>.check_even  s?    1I		'"A1I		,'A1I133Kr!   ?   r  @   ih  r  r  r(  rN  r  )r  r  r  Forderrc  )r   rS  r  r8  asfortranarray)r  r  r  r_  rd  r=   s     `   r   rQ  .TestNPFunctions._triangular_matrix_tests_inner  s    		 	"))B-$&'299R=4'( 	ryy~%%aAq12rxx|ryy|##F+DbD12ryy|##F##67yy}t#,,\:sr  %&r!   c                    [        SS9" U5      nU R                  5         [        R                  " S5      nU R	                  5        nU" USS9  U R                  S[        UR                  5      5        S S S 5        g ! , (       d  f       g = f)NTr=  r(  rN  r  rF  rG  )r   rC  r   r  r  rA  r?  rB  )r  r  r  r-   rE  s        r   _triangular_matrix_exceptions-TestNPFunctions._triangular_matrix_exceptions'  si    T"6* 	!GGFO##%!sOMM0#f6F6F2GH &%%s   -A<<
B
c                 >   [        SS9" U5      nU H  nU" U6 nU" U6 nU R                  [        U5      [        U5      5        U R                  [        U5      [        U5      5        [	        XV5       H$  u  px[
        R                  R                  Xx5        M&     M     g rQ  )r   r  typer7  r  r   rM  rN  )	r  r  rk   r  r   r  r  egs	            r   _triangular_indices_tests_base.TestNPFunctions._triangular_indices_tests_base2  s    T"6*AqzH)CT(^T#Y7S]CH5H*

--a3 + r!   c                 f    U R                  U[        S5       Vs/ s H  o"/PM     sn5        g s  snf )NrK  ru  r  )r  r  rJ   s      r   _triangular_indices_tests_n+TestNPFunctions._triangular_indices_tests_n=  s,    ++)$)QS)$	
$s   .
c                     U R                  U[        S5       VVs/ s H!  n[        U* S-
  US-   5        H  o2U/PM     M#     snn5        g s  snnf )NrK  rv  r*  rx  )r  r  rJ   r   s       r   _triangular_indices_tests_n_k-TestNPFunctions._triangular_indices_tests_n_kC  sH    ++"2YEYqb1fa!e0D1V0DVYE	
Es   (Ac                     U R                  U[        S5       VVs/ s H  n[        SU-  5        H  o2U/PM     M     snn5        g s  snnf )NrK  r*  rx  )r  r  rJ   r   s       r   _triangular_indices_tests_n_m-TestNPFunctions._triangular_indices_tests_n_mI  s>    ++"2Y=Ya!e1VVY=	
=s   #Ac                    U R                  U[        S5       VVVs/ s H8  n[        U* S-
  US-   5        H  n[        SU-  5        H  nX#U/PM	     M     M:     snnn5        [        SS9" U5      nU" S5        g s  snnnf )NrK  rv  r*  Tr=  )ru  r  r   )r  r  rJ   r   r   r  s         r   _triangular_indices_tests_n_k_m/TestNPFunctions._triangular_indices_tests_n_k_mO  s    ++ %b	 $	1QBFAE*AEl AY" * 	 $	
 T"6*a$s   ?A<c                    [        SS9" U5      n[        [        [        4 H  n[        R
                  " [        S5      [        S5      5       H  u  pE[        R                  " XE4U5      nU" U5      nU" U5      nU R                  [        U5      [        U5      5        U R                  [        U5      [        U5      5        [        Xx5       H$  u  p[        R                  R                  X5        M&     M     M     g )NTr=  rK  r   r  r  boolr  r   r  r   r  r  rr  r7  r  rM  rN  )r  r  r  r:  rJ   r   r=   r  r  rs  rt  s              r   "_triangular_indices_from_tests_arr2TestNPFunctions._triangular_indices_from_tests_arr[  s    T"6*5$'E ((rE"I>ggqfe,!#;Cj  hc;  XC9.DAJJ11!7 / ? (r!   c           	      "   [        SS9" U5      n[        [        [        4 H  n[        R
                  " [        S5      [        S5      5       H  u  pE[        R                  " XE4U5      n[        SS5       H  nU" U5      nU" U5      n	U R                  [        U5      [        U	5      5        U R                  [        U5      [        U	5      5        [        X5       H$  u  p[        R                  R                  X5        M&     M     M     M     g )NTr=  rK  r5  r  )r  r  r  r:  rJ   r   r=   r   r  r  rs  rt  s               r   $_triangular_indices_from_tests_arr_k4TestNPFunctions._triangular_indices_from_tests_arr_kh  s    T"6*5$'E ((rE"I>ggqfe,sBA%c{H*C$$T(^T#Y?$$S]CH= #H 2

55a; !3 ( ? (r!   c                 l   [        SS9" U5      n[        U5      R                  nU R                  5        nU" S5        S S S 5        U R	                  S[        WR                  5      5        SU;   aE  U R                  5        nU" SSS9  S S S 5        U R	                  S[        UR                  5      5        S	U;   aF  U R                  5        nU" SSS
9  S S S 5        U R	                  S[        UR                  5      5        g g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NW= f)NTr=  r"  zn must be an integerr   rv  rF  rG  r   r   zm must be an integer)r   r   
parametersr  rA  r?  rB  )r  r  r  r  rE  s        r   _triangular_indices_exceptions.TestNPFunctions._triangular_indices_exceptionsv  s    T"6* (33
##%#J &,c&2B2B.CD*'')Va3 *MM0#f6F6F2GH*'')Va3 *MM0#f6F6F2GH  &%
 *)
 *)s#   	DDD%
D
D"%
D3c                    [        SS9" U5      nS Hc  n[        R                  " S/U-  5      nU R                  5        nU" U5        S S S 5        U R	                  S[        WR                  5      5        Me     U(       a^  [        R                  " SS/5      nU R                  5        nU" USS9  S S S 5        U R	                  S[        WR                  5      5        g g ! , (       d  f       N= f! , (       d  f       NF= f)	NTr=  r   rv  r  r(  zinput array must be 2-dr&  rF  rG  )r   r   r  r  rA  r?  rB  )r  r  test_kr  ndimsr-   rE  s          r   #_triangular_indices_from_exceptions3TestNPFunctions._triangular_indices_from_exceptions  s    T"6*Ee$A'')Va *MM3S9I9I5JK	  AA'')Va3 *MM0#f6F6F2GH	 	 *) *)s   	C(C0
C-	0
C>c                 X    U R                  [        5        U R                  [        5        g r   )rS  r   rX  r   r  s    r   test_tril_basicTestNPFunctions.test_tril_basic      ''/))(3r!   c                 .    U R                  [        5        g r   )ro  r   r  s    r   test_tril_exceptions$TestNPFunctions.test_tril_exceptions      **84r!   c                 T   U R                  [        5        U R                  [        5        U R	                  [
        5        U R                  [        5        U R                  [        5        U R                  [        5        U R                  [
        5        U R                  [        5        g r   )	ry  r   r|  r   r  r   r  r   r  r  s    r   test_tril_indices!TestNPFunctions.test_tril_indices  x    ((8**+;<**+;<,,-?@++N;++,<=++,<=++,>?r!   c                     U R                  [        5        U R                  [        5        U R	                  [        S5        U R	                  [        S5        g NFT)r  r   r  r   r  r  s    r   test_tril_indices_from&TestNPFunctions.test_tril_indices_from  B    //0EF112IJ001FN001H$Or!   c                 X    U R                  [        5        U R                  [        5        g r   )rS  r  rX  r  r  s    r   test_triu_basicTestNPFunctions.test_triu_basic  r  r!   c                 .    U R                  [        5        g r   )ro  r  r  s    r   test_triu_exceptions$TestNPFunctions.test_triu_exceptions  r  r!   c                 T   U R                  [        5        U R                  [        5        U R	                  [
        5        U R                  [        5        U R                  [        5        U R                  [        5        U R                  [
        5        U R                  [        5        g r   )	ry  r  r|  r  r  r  r  r  r  r  s    r   test_triu_indices!TestNPFunctions.test_triu_indices  r  r!   c                     U R                  [        5        U R                  [        5        U R	                  [        S5        U R	                  [        S5        g r  )r  r  r  r  r  r  s    r   test_triu_indices_from&TestNPFunctions.test_triu_indices_from  r  r!   c                     [         n[        [         5      nS nU" 5        H!  nU R                  U" U5      U" U5      5        M#     g )Nc               3   ,   #    Sv   Sv   Sv   Sv   g 7f)N)r  r  )r  r  )r*  r*  r  r(  r  r  r!   r   inputs2TestNPFunctions.test_indices_basic.<locals>.inputs  s     LJJs   )r  r   r
  )r  r  r  r  dimss        r   test_indices_basic"TestNPFunctions.test_indices_basic  s<    Z 	 HD##F4L%+> r!   c                 n   [        [        5      nU R                  5         SnU R                  [        5       nU" S5        S S S 5        U R                  U[        WR                  5      5        U R                  [        5       nU" S5        S S S 5        U R                  U[        UR                  5      5        U R                  [        5       nU" S5        S S S 5        U R                  U[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NV= f)Nz5The argument "dimensions" must be a tuple of integersabc)rx  r  )r*  r  )r   r  rC  r@  r   rA  r?  rB  )r  r  errmsgrE  s       r   test_indices_exception&TestNPFunctions.test_indices_exception  s    Z !H{+v%L ,f&**+	- {+v* ,f&**+	- {+v(O ,f&**+	- ,+
 ,+
 ,+s#   	D	D	D&
D
D#&
D4c                     U" X45      nU" X45      nU R                  [        R                  " US U 5      [        R                  " US U 5      5        U R                  [        R                  " XTS  5      [        R                  " XdS  5      5        g r   r
  r   r  r  r  r  r-   r  r  r  s          r   partition_sanity_check&TestNPFunctions.partition_sanity_check  sr     !>Am 			(4C. 9299S#Y;OP 			(4. 9299SY;OPr!   c           	      4   U" X45      nU" X45      nU R                  [        R                  " X5S U    5      [        R                  " X6S U    5      5        U R                  [        R                  " X5US     5      [        R                  " X6US     5      5        g r   r  r  s          r   argpartition_sanity_check)TestNPFunctions.argpartition_sanity_check  s     !>Am 			!TcN*; < "		!I, 7	9 			!STN*; < "		!I, 7	9r!   c           
         [         n[        SS9" U5      n[        SS5       GHH  n[        SUS-
  5       GH0  n[        R                  " U5      nU R
                  R                  U5        XPR
                  R                  SS5      -  nU R
                  R                  UR                  5      nSXdUS-   U* U* /n[        R                  " U5      U   nU R                  U" XW5      U   U5        U R                  U" UR                  5       U5      U   U5        U R                  U" [        UR                  5       5      U5      U   U5        U H  n	U R                  XXY5        M     GM3     GMK     g NTr=  rK  r  rv  r*  r   )r  r   r  r   rS  r  r  rW  rQ  r  r
  tolisttupler  
r  r  r  jr  didxr  tgtr   s
             r   test_partition_fuzz#TestNPFunctions.test_partition_fuzz	  s<    T"6*r2A1a!e_IIaL  #((B//hh&&qvv.#!a%#r2ggajo''ac(:(+-''ahhj#(>s(C(+-''eAHHJ.?(Ec(J(+- A//qD  % r!   c                    [         n[        SS9" U5      n[        SS5       GHT  n[        SUS-
  5       GH<  n[        R                  " U5      nU R
                  R                  U5        XPR
                  R                  SS5      -  nU R
                  R                  UR                  5      nSXdUS-   U* U* /n[        R                  " U5      U   nU R                  XR" XW5      U      XX   5        U R                  XR" UR                  5       U5      U      XX   5        U R                  XR" [        UR                  5       5      U5      U      XX   5        U H  n	U R                  XXY5        M     GM?     GMW     g r  )r!  r   r  r   rS  r  r  rW  rQ  argsortr
  r  r  r  r  s
             r   test_argpartition_fuzz&TestNPFunctions.test_argpartition_fuzz	  sR    T"6*r2A1a!e_IIaL  #((B//hh&&qvv.#!a%#r2jjmC(''%-*<(=()0''%
C*@*E(F()0''%ahhj0A3*G*L(M()0 A226!G  % r!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         [        R                  " S5      nUU 4S jnU" US5        U" US5        U" US5        g )NTr=  rK  c                    > TR                  [        5       nT" X5        S S S 5        [        WR                  5      S:X  d   eg ! , (       d  f       N*= fNzkth out of boundsr@  r  r?  rB  r-   r  rs  r  r  s      r   r  ETestNPFunctions.test_partition_exception_out_of_range.<locals>._check@	  @    "":.!a /q{{#':::: /.   	A
Ar  r  )r  r   rC  r   rS  r  r  r-   r  r  s   `   @r   %test_partition_exception_out_of_range5TestNPFunctions.test_partition_exception_out_of_range4	  sY     T"6* 	! IIbM	;
 	q"q#q'r!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         [        R                  " S5      nUU 4S jnU" US5        U" US5        U" US5        g )NTr=  rK  c                    > TR                  [        5       nT" X5        S S S 5        [        WR                  5      S:X  d   eg ! , (       d  f       N*= fr  r  r  s      r   r  HTestNPFunctions.test_argpartition_exception_out_of_range.<locals>._checkU	  r  r  r  r  )r!  r   rC  r   rS  r  s   `   @r   (test_argpartition_exception_out_of_range8TestNPFunctions.test_argpartition_exception_out_of_rangeI	  sY     T"6* 	! IIbM	;
 	q"q#q'r!   c                   ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jn[        R                  " S5      nU" US5        U" US5        U" U[        R
                  " SS[        R                  45      5        g )	NTr=  c                    > TR                  5        nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fNzPartition index must be integerr  r-   r  rE  r  r  s      r   r  HTestNPFunctions.test_partition_exception_non_integer_kth.<locals>._checkg	  C    '')Va *MM;f../1 *)   	A		
ArK        "@ffffff
@r  rv  r*  )r  r   rC  r   rS  r8  r  r  r  r  r-   r  s   `   @r   (test_partition_exception_non_integer_kth8TestNPFunctions.test_partition_exception_non_integer_kth^	  sk     T"6* 	!	1 IIbMq#q*q"((Aq"&&>*+r!   c                   ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jn[        R                  " S5      nU" US5        U" US5        U" U[        R
                  " SS[        R                  45      5        g )	NTr=  c                    > TR                  5        nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fr  r  r  s      r   r  KTestNPFunctions.test_argpartition_exception_non_integer_kth.<locals>._check{	  r  r  rK  r  r  rv  r*  )r!  r   rC  r   rS  r8  r  r  s   `   @r   +test_argpartition_exception_non_integer_kth;TestNPFunctions.test_argpartition_exception_non_integer_kthr	  sk     T"6* 	!	1 IIbMq#q*q"((Aq"&&>*+r!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jnU" SS5        U" SS5        g )NTr=  c                    > TR                  5        nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fNz(The first argument must be an array-liker  r  s      r   r  ITestNPFunctions.test_partition_exception_a_not_array_like.<locals>._check	  C    '')Va *MMDf../1 *)r  r  r   Sausages)r  r   rC  rR  s   `  @r   )test_partition_exception_a_not_array_like9TestNPFunctions.test_partition_exception_a_not_array_like	  s?    T"6* 	!	1 	q!z1r!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jnU" SS5        U" SS5        g )NTr=  c                    > TR                  5        nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fr  r  r  s      r   r  LTestNPFunctions.test_argpartition_exception_a_not_array_like.<locals>._check	  r  r  r  r   r  )r!  r   rC  rR  s   `  @r   ,test_argpartition_exception_a_not_array_like<TestNPFunctions.test_argpartition_exception_a_not_array_like	  s?    T"6* 	!	1 	q!z1r!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jnU" [        R                  " S5      S5        g )NTr=  c                    > TR                  5        nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fNz3The first argument must be at least 1-D (found 0-D)r  r  s      r   r  CTestNPFunctions.test_partition_exception_a_zero_dim.<locals>._check	  C    '')Va *MMOf../1 *)r  rv  r   )r  r   rC  r   r8  rR  s   `  @r   #test_partition_exception_a_zero_dim3TestNPFunctions.test_partition_exception_a_zero_dim	  s>    T"6* 	!	1 	rxx{Ar!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jnU" [        R                  " S5      S5        g )NTr=  c                    > TR                  5        nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fr	  r  r  s      r   r  FTestNPFunctions.test_argpartition_exception_a_zero_dim.<locals>._check	  r  r  rv  r   )r!  r   rC  r   r8  rR  s   `  @r   &test_argpartition_exception_a_zero_dim6TestNPFunctions.test_argpartition_exception_a_zero_dim	  s>    T"6* 	!	1 	rxx{Ar!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jnU" [        R                  " S5      [        R                  " S5      R                  SS5      S9  g )	NTr=  c                    > TR                  [        5       nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fNzkth must be scalar or 1-Dr  r  s      r   r  NTestNPFunctions.test_partition_exception_kth_multi_dimensional.<locals>._check	  B    "":.&a /MM5s6;K;K7LM /.r  rK  rN  r  r*  r  )r  r   rC  r   rS  r  rR  s   `  @r   .test_partition_exception_kth_multi_dimensional>TestNPFunctions.test_partition_exception_kth_multi_dimensional	  sT    T"6* 	!	N
 	ryy}"))A,"6"6q!"<=r!   c                    ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jnU" [        R                  " S5      [        R                  " S5      R                  SS5      S9  g )	NTr=  c                    > TR                  [        5       nT" X5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= fr  r  r  s      r   r  QTestNPFunctions.test_argpartition_exception_kth_multi_dimensional.<locals>._check	  r  r  rK  rN  r  r*  r  )r!  r   rC  r   rS  r  rR  s   `  @r   1test_argpartition_exception_kth_multi_dimensionalATestNPFunctions.test_argpartition_exception_kth_multi_dimensional	  sT    T"6* 	!	N
 	ryy}"))A,"6"6q!"<=r!   c                    ^ ^^ [         m[        SS9" T5      mSUUU 4S jjn[        R                  " / 5      nSUl        US[        R                  " / 5      4 H  nU" U5        M     g )NTr=  c                 H   > T" X5      nT" X5      nTR                  X#5        g r   ro  r-   r  r  r  r  r  r  s       r   r   9TestNPFunctions.test_partition_empty_array.<locals>.check	  #    a~H-C##H2r!   r  r*  rv  r   r  r  )r  r   r   r8  r  r  r   r-   r=   r  r  s   `   @@r   test_partition_empty_array*TestNPFunctions.test_partition_empty_array	  s[     T"6*	3 	3 HHRL b"((2,&C#J 'r!   c                    ^ ^^ [         m[        SS9" T5      mSUUU 4S jjn[        R                  " / 5      nSUl        US[        R                  " / 5      4 H  nU" U5        M     g )NTr=  c                 H   > T" X5      nT" X5      nTR                  X#5        g r   ro  r"  s       r   r   <TestNPFunctions.test_argpartition_empty_array.<locals>.check	  r$  r!   r%  r  r  )r!  r   r   r8  r  r&  s   `   @@r   test_argpartition_empty_array-TestNPFunctions.test_argpartition_empty_array	  s[     T"6*	3 	3 HHRL b"((2,&C#J 'r!   c           	         [         n[        SS9" U5      n[        R                  " / 5      nU" US5      nU R	                  X45        [        R
                  " S5      nU" US5      nU R	                  X45        [        R                  " / SQ5      nUR                  5       nU" [        R                  " S5      U5        U R	                  XV5        SS/SS/SS/4 Hg  n[        R                  " U5      n[        R                  " U5      nS H2  n	U R	                  U" X95      U	   X   5        U R                  XX95        M4     Mi     / S	Q/ S
Q/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ4 Hg  n[        R                  " U5      n[        R                  " U5      nS H2  n	U R	                  U" X95      U	   X   5        U R                  XX95        M4     Mi     [        R
                  " S5      nU R	                  U" US5      U5        [        R                  " S5      nS H0  n	U R                  U" X95      U	   U	5        U R                  XX95        M2     [        R                  " S5      S S S2   nX3R                  5       [        UR                  5       5      4 H  n
U R                  U" U
S5      S   S5        U R                  U" U
S5      S   S5        U R	                  U" U
S5      U" U
S5      5        U R	                  U" U
S5      U" U
S5      5        U R                  XUS5        M     [        R                  " S5      n[        R                  " X3R                  S-  5      nUR                  S-  S-   nU R                  U" X5      U   U5        [        R                  " S5      n[        R                  " X3R                  S-  S-   5      nUR                  S-  S-   nU R                  U" X5      U   U5        [        R
                  " S5      nS US'   U R                  U" US!5      S   S 5        U R                  U" US!5      S   S5        [        R                  US'   [        R                   " U" US!5      S   5      (       d   e[        R                  " S5      S"-  n[        R                  " [        R                  " S5      S"-  5      nU R"                  R%                  U5        ['        UR                  5       H2  nU R                  U" X=5      U   X   5        U R                  XX=5        M4     [        R                  " / S#Q5      n/ S$QnU R                  [        U" X55      U   5      S%5        [        R(                  [        R*                  4 VVs/ s H  nS&  H  oU4PM     M     nnnU GH  u  p[        R                  " XS'9nU R"                  R%                  U5        [        R,                  " [        R                  " XS'9S(5      n[/        U R"                  R$                  U5        ['        UR                  5       H  nU" X=5      nU R                  UU   U5        [        R0                  R3                  US U UU   5        [        R0                  R3                  UU   UUS-   S  5        U R                  XX=5        M     GM     g s  snnf ))NTr=  r   rv  r  rP  r(  (   r*  r   rv  r  r*  rv  r  r*  rv  r  r*  r  rv  rv  rv  rv  r  r*  r*  rv  rv  r*  rv  r   rv  r*  rL  1   r(  rP  /   r  rN  rb  r  )      @B AB rK  r  r*  r  r  r   rv  r*  r  r  r(  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r     rM  r   r  r  r  r  rb  r9  r  rv  )r  r   r   r8  r
  r  r  rS  r  r  r  r  r  r1  rQ  r  isnanr  r  r  r  r  tilemaprM  assert_array_less)r  r  r  r  r  r  okthr{  r  r   r-   r   midr  dtstdd1r  s                      r   test_partition_basic$TestNPFunctions.test_partition_basic
  su    T"6*HHRLAqk'GGAJAqk' hh{#xxzbiimS!*a&1a&1a&)AA''!*C''aA?++F1@  * Y	9Y	9>AA''!*C''aA?++F1@ 	> GGBKaQ/ IIbMAU1[^Q/''q< 
 IIbM$B$HHJahhj 11AU1a[^Q/U1b\"-r2##E!RL%2,?##E!SM5B<@''q#> 2 IIgGGAvv{#ffkAoqs+S1IIgGGAvv{Q'ffkAoqs+S1 GGBK!q'*2.2q'*1-q1vv!xxa)"-.... IIbMAggbiima'(qvvAU1[^SV4''q<  HH ( )uQ}S12LA!#2:: 6H 6"11gg 6HEB		!&AHHQ1/8B  "%166]!K  1q)

,,QrUAaD9

,,QqT1QUV9=++F1@ #  Is   Z>c           	          [         n[        SS9" U5      n[        R                  " / [        R                  S9nU" US5      nU" US5      nU R                  XE5        [        R                  " S[        R                  S9nU" US5      nU" US5      nU R                  XE5        [        R                  " / SQ5      nUR                  5       nU" [        R                  " S5      U5        U R                  Xg5        SS/SS/SS/4 Hl  n[        R                  " U5      n[        R                  " U5      n	S	 H7  n
U R                  X2" X:5      U
      X9U
      5        U R                  XX:5        M9     Mn     / S
Q/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ4 Hl  n[        R                  " U5      n[        R                  " U5      n	S H7  n
U R                  X2" X:5      U
      X9U
      5        U R                  XX:5        M9     Mn     [        R                  " S5      nU R                  X2" US5         U5        [        R                  " S5      nS H0  n
U R                  U" X:5      U
   U
5        U R                  XX:5        M2     [        R                  " S5      S S S2   nX3R                  5       [        UR                  5       5      4 H  nU R                  U" US5      S   S5        U R                  U" US5      S   S5        U R                  U" US5      U" US5      5        U R                  U" US5      U" US5      5        U R                  XUS5        M     [        R                  " S5      n[        R                  " X3R                   S-  5      nUR                   S-  S-   nU R                  X" X5      U      U5        [        R                  " S 5      n[        R                  " X3R                   S-  S-   5      nUR                   S-  S-   nU R                  X" X5      U      U5        [        R                  " S!5      nS"US'   U R                  X2" US#5      S      S"5        U R                  X2" US#5      S      S5        [        R"                  US'   [        R$                  " X2" US#5      S      5      (       d   e[        R                  " S5      S$-  n[        R&                  " [        R                  " S5      S$-  5      n	U R(                  R+                  U5        [-        UR                   5       H4  nU R                  X2" X>5      U      X   5        U R                  XX>5        M6     [        R                  " / S%Q5      n/ S&QnU R                  [        X2" X65      U      5      S'5        [        R.                  [        R0                  4 VVs/ s H  nS(  H  nUU4PM	     M     nnnU GH  u  nn[        R                  " UUS9nU R(                  R+                  U5        [        R2                  " [        R                  " UUS9S)5      n[5        U R(                  R*                  U5        [-        UR                   5       H  nX2" X>5         nU R                  UU   U5        [        R6                  R9                  US U UU   5        [        R6                  R9                  UU   UUS-   S  5        U R                  XX>5        M     GM      g s  snnf )*NTr=  r9  r   rv  r/  r0  r*  r1  r2  r  r3  r4  r5  r  r6  r7  r8  rL  r9  r:  r;  r  rN  rb  r  r  r<  r=  r>  r?  r@  rK  r  rA  r  rB  rC  rE  rF  rG  )r!  r   r   r8  r  r
  r  r  rS  r  r  r  r  r  r  r1  rQ  r  rH  r  r  r  r  r  r  rI  rJ  rM  rK  )r  r  r  r  r  r  r  rL  r{  r  r   r-   r   rM  r  rN  rO  rP  rQ  r  s                       r   test_argpartition_basic'TestNPFunctions.test_argpartition_basick
  s    T"6*HHRrxx(!Q<Aqk.GGARXX&!Q<Aqk. hh{#xxzbiimS!*a&1a&1a&)AA**Q-C''%+a.(91V9E..vaC  * Y	9Y	9>AA**Q-C''%+a.(91V9E..vaC 	> GGBK%1+2 IIbMAU1[^Q/''q< 
 IIbM$B$HHJahhj 11AU1a[^R0U1b\"-r2##E!RL%2,?##E!SM5B<@**6!SA 2 IIgGGAvv{#ffkAo5=-.4IIgGGAvv{Q'ffkAo5=-.4 GGBK!5G,R01155G,Q/0!4vv!xx%7+B/01111 IIbMAggbiima'(qvvAQuQ{1~.7**6!?  HH ( )qqs!345|D!#2:: 6H 6"1r1gg 6HEB		!2&AHHQ1B/8B  "%166]eAkN  1q)

,,QrUAaD9

,,QqT1QUV9=..vaC #  Is   
\
c           	         Sn[         R                  " U5       Ho  n[         R                  R                  X5U X6   SU-  S9  U R	                  X6S  X6   :  R                  5       SXcUS  X6   4-  S9  US-   nU R                  XX65        Mq     g Nr   zkth %d)err_msgzkth %d, %r not greater equal %dr  rv  )r   r  rM  rK  r=  allr  r  r  r  r  r  prevr   s          r   assert_partitioned"TestNPFunctions.assert_partitioned
  s    AJJ((AD19A ) ?OOQrUad]//1"&)*abE14(8"9  ; q5D''q< r!   c           	         Sn[         R                  " U5       Ho  n[         R                  R                  X5U X6   SU-  S9  U R	                  X6S  X6   :  R                  5       SXcUS  X6   4-  S9  US-   nU R                  XX65        Mq     g rX  )r   r  rM  rK  r=  r[  r  r\  s          r   assert_argpartitioned%TestNPFunctions.assert_argpartitioned
  s    AJJ((AD19A ) ?OOQrUad]//1"&)*abE14(8"9  ; q5D**6!? r!   c                    [         n[        SS9" U5      n[        U R                  X5      n[        R
                  " / SQ5      nU" US5      nU" US5        U" U[        R                  " US5         S5        U R                  XR" US5      5        [        R                  " S5      nU R                  R                  U5        U R                  [        R                  " S5      U" U[        [        UR                  5      5      5      5        [        R                  " S5      nU R                  R                  U5        [        R
                  " / SQ5      nU R                  R                  U5        U" XF5      nU" XV5        U R                  R                  U5        U R                  U" XF5      U5        [        R                  " S5      S S S	2   nU" U" US
/S-  5      S
/5        U" U" US
/S-  SS/-   5      S
/S-  SS/-   5        g NTr=  )r  r  r*  rv  )r   r  )r  r  ri  )rv  r  r  r  rM  r  r(  r  rN  rO  )r  r   r   r^  r   r8  r!  r
  rS  r  r  r  r  rQ  )r  r  r  r^  r  r  keyss          r   test_partition_iterative(TestNPFunctions.test_partition_iterative
  s    T"6*$T%<%<fLHH\"!V1f%1R__Q78&A5H#56IIbM		"uQU166]8K/LM IIbMxx&!N1#a2 IIbM$B$5QC!G,qc25QC!Gq"g$56a1b'8IJr!   c                 (   [         n[        SS9" U5      n[        U R                  UU5      n[        R
                  " / SQ5      nXB" US5         nU" US5        U" U[        R                   " US5         S5        U R                  XTU" US5         5        [        R                  " S5      nU R                  R                  U5        U R                  [        R                  " S5      XB" U[        [        UR                  5      5      5         5        [        R                  " S5      nU R                  R                  U5        [        R
                  " / SQ5      nU R                  R                  U5        XB" XF5         nU" XV5        U R                  R                  U5        U R                  XB" XF5         U5        [        R                  " S5      S S S	2   nU" XB" US
/S-  5         S
/5        U" XB" US
/S-  SS/-   5         S
/S-  SS/-   5        g rd  )r!  r   r   ra  r   r8  r
  rS  r  r  r  r  rQ  )r  r  r  ra  r  r  re  s          r   test_argpartition_iterative+TestNPFunctions.test_argpartition_iterative
  s    T"6* '(B(B(.(-!/ HH\"eAva(a6 :;VDU1h%7#89IIbM		"qq$uQVV}:M1N/OP IIbMxx&eAna&%. 115 IIbM$B$aa!q 12QC8aa!qAr7): ;<qcAgB>OPr!   c                 d  ^ ^^ [         m[        SS9" T5      mUUU 4S jnS n[        R                  " SSS5      n[        R                  USS	& [        R
                  * US
'   [        R
                  US'   UR                  S5      nU" U5       H  n[        SS5       H  nU" XE5        M     M      g )NTr=  c           	        > T" X5      nT" X5      nTR                  US S 2S S 2U4   US S 2S S 2U4   5        [        R                  " UR                  S S 5       H  nTR                  [        R                  " X$   S U 5      [        R                  " X4   S U 5      5        TR                  [        R                  " X$   US  5      [        R                  " X4   US  5      5        M     g Nr  )r
  r   ndindexr  r  )r-   r  r  r  rO  r  r  r  s        r   r   7TestNPFunctions.test_partition_multi_dim.<locals>.check2  s    a~H-C##HQ3Y$7Q3YHZZs 34''		(+ds2C(D(*		#&#,(?A''		(+cd2C(D(*		#&,(?A 5r!   c              3   &  #    U v   U R                   v   [        R                  " U 5      v   [        R                  " U [        R                  S9v   [        R                  " U [        R
                  S9v   SS[        R
                  * S444v   g 7fNr  r"  r
  r  r]  r   rk  	full_liker  r$  rG   s    r   a_variations>TestNPFunctions.test_partition_multi_dim.<locals>.a_variations=  i     G##I##A&&,,qRVV44,,qRVV44%"&&!,.00   BBrv  rK  0   r  r  r  r  r  r  r  r  r  )r  r   r   r  r  r$  r  r  r  r   rt  r-   r=   r   r  r  s   `     @@r   test_partition_multi_dim(TestNPFunctions.test_partition_multi_dim.  s    T"6*		A	1 KK2r"!Aw!vv!IIi ?C2q\c " #r!   c                 d  ^ ^^ [         m[        SS9" T5      mUUU 4S jnS n[        R                  " SSS5      n[        R                  USS	& [        R
                  * US
'   [        R
                  US'   UR                  S5      nU" U5       H  n[        SS5       H  nU" XE5        M     M      g )NTr=  c           
        > T" X5      nT" X5      n[         R                  " U 5      n [         R                  " U R                  S S 5      nU H)  nTR	                  X   X%   U      X   X5   U      5        M+     [         R                  " UR                  S S 5       H  nTR	                  [         R
                  " X   X%   S U    5      [         R
                  " X   X5   S U    5      5        TR	                  [         R
                  " X   X%   US     5      [         R
                  " X   X5   US     5      5        M     g rm  )r   r5  rn  r  r
  r  )	r-   r  r  r  r  rO  r  r  r  s	         r   r   :TestNPFunctions.test_argpartition_multi_dim.<locals>.checkT  s   a~H-C

1A**QWWSb\*C''X[-=(>()SVC[(9;  ZZs 34''		!$x{4C7H2I(J(*		!$svds|2D(EG''		!$x{347H2I(J(*		!$svcd|2D(EG 5r!   c              3   &  #    U v   U R                   v   [        R                  " U 5      v   [        R                  " U [        R                  S9v   [        R                  " U [        R
                  S9v   SS[        R
                  * S444v   g 7frq  rr  rG   s    r   rt  ATestNPFunctions.test_argpartition_multi_dim.<locals>.a_variationsc  rv  rw  rv  rK  rx  r  r  r  r  ry  r  r  )r!  r   r   r  r  r$  r  r  rz  s   `     @@r   test_argpartition_multi_dim+TestNPFunctions.test_argpartition_multi_dimP  s    T"6*	G	1 KK2r"!Aw!vv!IIi ?C2q\c " #r!   c                     [         n[        SS9" U5      n[        R                  " SSS5      [        R                  " S5      4 H  nS H  nU R                  XX45        M     M      g NTr=  rv  rK  ri  TFT)TFr  r   rv  )r  r   r   r  r8  r  r  r  r  r  r  s        r   test_partition_boolean_inputs-TestNPFunctions.test_partition_boolean_inputsv  sW    T"6*QB'2E)FFA,++F1B - Gr!   c                     [         n[        SS9" U5      n[        R                  " SSS5      [        R                  " S5      4 H  nS H  nU R                  XX45        M     M      g r  )r!  r   r   r  r8  r  r  s        r    test_argpartition_boolean_inputs0TestNPFunctions.test_argpartition_boolean_inputs~  sW    T"6*QB'2E)FFA,..vaE - Gr!   c                 P   [         n[        SS9" U5      nU R                  5         [        R                  " SS/SS/SS//5      R
                  n[        R                  " S5      S4 HG  nU R                  5        nU" X4S9  S S S 5        U R                  S	[        WR                  5      5        MI     [        R                  [        R                  4 HL  nU R                  [        5       nU" X4S9  S S S 5        U R                  S
[        WR                  5      5        MN     S HL  nU R                  [        5       nU" X4S9  S S S 5        U R                  S[        WR                  5      5        MN     g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NZ= f)NTr=  r   r*  rv  r                @)r'  z)ddof must be a real numerical scalar typez)Cannot convert non-finite ddof to integer)r7  gffffffzddof must be integral value)r#  r   rC  r   r8  r]  rS  r  rA  r?  rB  r  r$  r@  r  )r  r  r  r   r'  rE  s         r   test_cov_invalid_ddof%TestNPFunctions.test_cov_invalid_ddof  sJ   T"6* 	!HHq!fq!fq!f-.00IIaL"$D'')Va# *MMEf../1 % FFBFFND"":.&a# /MMEf../1 # D"":.&a# /MM7V=M=M9NO  *) /. /.s$   :E5*F<F5
F	
F	
F%	c                    ^  [        SS9" U5      n[        T R                  XSS9nU 4S jnU" 5        H  nU" X&05        M     g )NTr=  +=r  c               3     >#    [         R                  " SS/SS/SS//5      R                  v   T R                  R	                  S5      R                  SS5      v   [         R                  " [         R                  " SS/SS/SS//5      R                  5      v   T R                  R	                  S5      R                  SS5      S S 2S S S24   v   [         R                  " / SQ5      v   [         R                  " SS	S
9v   [         R                  " [         R                  S[         R                  * SS/5      v   [         R                  " SSS5      R                  SS5      v   Sv   Sv   Sv   Sv   / SQv   Sv   SS/v   Sv   Sv   [         R                  " / 5      v   [         R                  " / 5      R                  SS5      v   [         R                  " / 5      R                  SS5      v   Sv   g 7f)Nr   r*  rv  r,  r(  rM  )g&S:?o_?g#~j?甇ZӼ?Q|?rw  Tr  r  r  r  r  r  !   )皙?皙?g)\(?gRQ?)g
ףp=
?gzG?)r  r  )y        
ףp=
?y        zG?g r  g333333@r  r  )r  r  r  r  )rv  r  r*  r
  ))r7  皙@r  r  )r   r8  r]  r  randnr  rk  r  r  r$  r  r  s   r   input_variations=TestNPFunctions.corr_corrcoef_basic.<locals>.input_variations  s    ((QFQFQF34666((..%--a44##BHHq!fq!fq!f-E$F$H$HII((..%--a4Q!V<<((CDD''&T22((BFFFRVVGVVDEE++b!R(00Q77 ;:<<!!OO44i((K$$ ((2,((2,&&q!,,((2,&&q!,,Hs   G9G<)r   r   r  )r  r  first_arg_namer  r  r  	input_arrs   `      r   corr_corrcoef_basic#TestNPFunctions.corr_corrcoef_basic  sE    T"6*++VEJ	: *+IN./ ,r!   c                 0    [         nU R                  USS9  g )Nr   r  )r)  r  r  r  s     r   test_corrcoef_basic#TestNPFunctions.test_corrcoef_basic  s       <r!   c                 0    [         nU R                  USS9  g )Nr   r  )r#  r  r  s     r   test_cov_basicTestNPFunctions.test_cov_basic  s       <r!   c                 0   [         n[        SS9" U5      n[        U R                  XSS9nU R                  R                  S5      R                  SS5      nS US S S2   4nS	nS	nS
n[        R                  " XVXx5      n	U	 H  u  ppXJUXS.nU" U5        M     g )NTr=  r  r  i   rP  r  r  FT)Nr  r   rv  r  T)r   r$  r'  r&  r%  )	r#  r   r   r  r  r  r  r  r   )r  r  r  r  r   	y_choicesrowvar_choicesbias_choicesddof_choiceproductsr$  r%  r&  r'  r  s                  r   test_cov_explicit_arguments+TestNPFunctions.test_cov_explicit_arguments  s    T"6*++VEJHHNN3''A.!DbD'M	$"/$$Y%1@%-!Atd"6F6N &.r!   c                    [         n[        SS9" U5      n[        U R                  XSS9nU R                  R                  S5      R                  SS5      nS US S S2   4nS	n[        R                  " XV5       H  u  pxXGUS
.n	U" U	5        M     g )NTr=  r  r  r  rP  r  r  r  r*  )	r)  r   r   r  r  r  r  r  r   )
r  r  r  r  r   r  r  r$  r%  r  s
             r    test_corrcoef_explicit_arguments0TestNPFunctions.test_corrcoef_explicit_arguments  s    T"6*++VEJHHNN3''A.!DbD'M	$"**9EIA7F6N Fr!   c                    [        SS9" U5      n[        U R                  XSS9n[        R                  " / SQ5      n[        R                  " / SQ5      nX%SU0nU" U5        [        R                  " / SQ5      n[        R                  " / S	Q/5      nX%SU0nU" U5        [        R                  " / SQ5      nS	nX%SU0nU" U5        X&SU0nU" U5        [        R                  " / SQ5      nS
nX%SU0nU" U5        X&SU0nU" U5        [        R                  " / 5      n[        R                  " / 5      nX%SU0nU" U5        SnSnX%SU0nU" U5        U R
                  R                  SS5      n[        R                  " / SQ5      R                  SS5      S-  nX%SU0nU" U5        [        R                  " / SQ5      n[        R                  " / SQ/ SQ/5      nX%SU0nU" U5        S HX  n[        R                  " / SQ5      n[        R                  " / SQ/ SQ/ SQ/5      nX%SUSU0nU" U5        X&SUSU0nU" U5        MZ     g )NTr=  r  r  r  )r  r7  Q?r$  r  r.  r  r  )r.  r  r  r7  r  rK  r  rv  r  )r  r7  r  r%  )r   r   r  r   r8  r  r  r  )	r  r  r  r  r  r   r$  r  r%  s	            r   cov_corrcoef_edge_cases'TestNPFunctions.cov_corrcoef_edge_cases  s   T"6*++VEJ HH_%HH^$ S!,vHHYHHl^$ S!,vHHY S!,v S!,vHHY S!,v S!,vHHRLHHRL S!,v S!,vHHNN2q!HH_%--a3b8 S!,vHH_%HHnn56 S!,v!F)A...IJA$a6BF6N$a6BF6N "r!   c                     [         nU R                  USS9  [        SS9" U5      n[        U R                  XSS9n[
        R                  [
        R                  * SS4 H  nSU0nU" U5        M     g )	Nr   r  Tr=  r  r  r
  r   )r)  r  r   r   r  r   r  r$  r  r  r  r  r   r  s         r   test_corrcoef_edge_cases(TestNPFunctions.test_corrcoef_edge_cases-  sj    $$VC$@T"6*++VEJ&&266'5!,A1XF6N -r!   c                 t    [         n[        SS9" U5      n[        U R                  XSS9nSnSU0nU" U5        g )NTr=  r  r  ))r5  }Ô%IT)r  r5  r   )r)  r   r   r  r  s         r   &test_corrcoef_edge_case_extreme_values6TestNPFunctions.test_corrcoef_edge_case_extreme_values9  sA    T"6*++VEJ /qvr!   c                     [         nU R                  USS9  [        SS9" U5      n[        U R                  XSS9n[
        R                  " SS/S	S	/SS//5      R                  nUS
S.nU" U5        g )Nr   r  Tr=  r  r  r   r*  rv  r(  )r   r'  )r#  r  r   r   r  r   r8  r]  )r  r  r  r  r   r  s         r   test_cov_edge_cases#TestNPFunctions.test_cov_edge_casesD  sw    $$VC$@T"6*++VEJ HHq!fq!fq!f-.00!$vr!   c                   ^ ^ [         n[        SS9" U5      mT R                  5         UU 4S jn[        R                  " S5      nU" U5        SnU" U5        / SQ//nU" U5        UU 4S jn[        R                  " S5      n[        R                  " S5      nU" X55        [        R
                  " S5      nS	nU" X55        [        R                  " S
5      n[        R                  " S5      nT R                  [        5       nT" X5S9  S S S 5        T R                  S[        WR                  5      5        [        R
                  " / SQ5      R                  SS
5      nT R                  [        5       nT" U5        S S S 5        T R                  S[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       NE= f)NTr=  c                    > TR                  5        nT" U 5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nzm has more than 2 dimensionsr  )r   rE  r  r  s     r   _check_m5TestNPFunctions.test_cov_exceptions.<locals>._check_mY  s@    '')Va *MM8#f>N>N:OP *)r  r(  rN  r  )))r  r.  c                    > TR                  5        nT" XS9  S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= f)NrI  zy has more than 2 dimensionsr  )r   r$  rE  r  r  s      r   _check_y5TestNPFunctions.test_cov_exceptions.<locals>._check_yg  s@    '')Va *MM8#f>N>N:OP *)s   A
Arn  )r7  r  r7  )))r  r  r  r  r  rI  z$m and y have incompatible dimensionsr  rv  z/2D array containing a single row is unsupported)r#  r   rC  r   r  r8  rS  r@  r  rA  r?  rB  r  RuntimeError)r  r  r  r   r  r$  rE  r  s   `      @r   test_cov_exceptions#TestNPFunctions.test_cov_exceptionsQ  s]   T"6* 	!	Q
 GGI([M	Q
 GGFOGGIHH_%!IIaLIIaLz*f!M +<&**+	-
 HH_%--a3|,!H -G&**+	- +* -,s   F)2	F:)
F7:
Gc                 N   [         n[        SS9" U5      n[        U R                  X5      nS nS nU" [        R
                  " SSS5      5       HR  nSU0nU" U5        U" U5       H7  nXhS	.nU" U5        XhS
.nU" U5        U" U5       H  n	XhU	S.nU" U5        M     M9     MT     g )NTr=  c              3   ^   #    S v   U v   U R                  [        R                  5      v   g 7fr   )rL  r   r   rG   s    r   to_variations9TestNPFunctions.test_ediff1d_basic.<locals>.to_variations  s"     JG((288$$s   +-c              3      #    U v   U R                  SSS5      v   U R                  [        R                  5      v   g 7f)Nr  r*  )r  rL  r   r  rG   s    r   ary_variations:TestNPFunctions.test_ediff1d_basic.<locals>.ary_variations  s0     G))Aq!$$((288$$s   <>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.   s
             r   test_ediff1d_basic"TestNPFunctions.test_ediff1d_basic  s    T"6*++V;	%
	%
 ""++b!R"89CS\F6N"3'!$4v!$2v&s+A%(1EF6N , (	 :r!   c                    [         n[        SS9" U5      nU R                  5         U R                  5        nU" [        R
                  " S5      5        S S S 5        SnU[        WR                  5      ;   d   eg ! , (       d  f       N,= f)NTr=  )TTFz+Boolean dtype is unsupported (as per NumPy))r,  r   rC  r  r   r8  r?  rB  )r  r  r  rs  r  s        r   test_ediff1d_exceptions'TestNPFunctions.test_ediff1d_exceptions  sp    T"6* 	!##%"((./0 & <c!++&&&&	 &%s   A99
Bc                 l   [         n[        SS9" U5      nS nU" 5        H$  nU" U5      nU" U5      nU R                  XV5        M&     U R                  [        5       nU" S5        S S S 5        U R                  S[        R                  -  [        WR                  5      5        g ! , (       d  f       NE= f)NTr=  c               3      #    [         R                  " S5      R                  SS5      v   [         R                  " S5      R                  SSS5      v   Sv   SS/SS/4v   g 7f)	NrK  r(  r*  rM  rv  r*  rv  r  r  r  r  r!   r   rt  7TestNPFunctions.test_fliplr_basic.<locals>.a_variations  sU     ))B-''1--))B-''1a00Oq6Aq6##s   A!A#r  zCannot np.fliplr on %s type)
r   r   r
  r@  r   rA  r	   unicode_typer?  rB  r  r  r  rt  r-   r  r  rE  s           r   test_fliplr_basic!TestNPFunctions.test_fliplr_basic  s    T"6*	$ AayH(C##H2  
 {+v%L , 	3e6H6HH&**+	- ,+   	B%%
B3c                 x   [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" [
        R                  " S5      5        S S S 5        U R                  S[        WR                  5      5        U R                  S[        UR                  5      5        g ! , (       d  f       NY= f)NTr=  r  cannot index arrayzwith 2 indices)
r   r   rC  r@  r   r   rS  rA  r?  rB  rD  s       r   test_fliplr_exception%TestNPFunctions.test_fliplr_exception  s    T"6* 	!{+v"))A, , 	*C0@0@,AB&F,<,<(=>	 ,+s   B++
B9c                 l   [         n[        SS9" U5      nS nU" 5        H$  nU" U5      nU" U5      nU R                  XV5        M&     U R                  [        5       nU" S5        S S S 5        U R                  S[        R                  -  [        WR                  5      5        g ! , (       d  f       NE= f)NTr=  c               3     #    S/v   [         R                  " S5      v   [         R                  " S5      R                  SS5      v   [         R                  " S5      R                  SSS5      v   Sv   SS/SS/4v   g 7f)	Nrv  rK  r(  r*  rM  r  r  r  r  r  r!   r   rt  7TestNPFunctions.test_flipud_basic.<locals>.a_variations  sj     #I))B-))B-''1--))B-''1a00Oq6Aq6##s   A>B r  zCannot np.flipud on %s type)
r   r   r
  r@  r   rA  r	   r  r?  rB  r  s           r   test_flipud_basic!TestNPFunctions.test_flipud_basic  s    T"6*	$ AayH(C##H2  
 {+v%L , 	3e6H6HH&**+	- ,+r  c                 P   [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        U R                  S[        UR                  5      5        g ! , (       d  f       NY= f)NTr=  rv  r  zwith 1 indices)r   r   rC  r@  r   rA  r?  rB  rD  s       r   test_flipud_exception%TestNPFunctions.test_flipud_exception  s    T"6* 	!{+v!H , 	*C0@0@,AB&F,<,<(=>	 ,+s   	B
B%c                 J   [         n[        SS9" U5      nS nU" 5        H$  nU" U5      nU" U5      nU R                  XV5        M&     U R                  [        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)NTr=  c               3     #    [         R                  " S5      v   [         R                  " S5      v   [         R                  " S5      R                  SS5      v   [         R                  " S5      R                  SSS5      v   g 7f)Nrv  rK  r(  r*  rM  r  r  r!   r   rt  5TestNPFunctions.test_flip_basic.<locals>.a_variations  sY     ((1+))B-))B-''1--))B-''1a00s   BBr  zCannot np.flip on UniTuple)r   r   r
  r@  r   rA  r?  rB  r  s           r   test_flip_basicTestNPFunctions.test_flip_basic  s    T"6*	1 AayH(C##H2  
 {+v) , 	2C8H8H4IJ ,+s   	B
B"c                     S n[         n[        SS9" U5      nU" 5        H1  u  pE[        R                  R	                  U" XE5      U" XE5      5        M3     g )Nc               3     #    Sv   Sv   Sv   Sv   Sv   Sv   Sv   Sv   S	[         R                  4v   S	[         R                  4v   [        S
:  Ga  [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   g g 7fN)rv  r  )r  r  )r  r  r   )r  r  r"        N@      Nr#  )r#  r  r$  r*  r   rv  r*  r  r        ?       @      @      @      ?             @                   @r   rs  pir   r	  r  r!   r   r  4TestNPFunctions.test_logspace2_basic.<locals>.inputs
      KLMMLOrtt)Oruu*v%ll1or||A66ll2&R(888ll1or||B'777ll6*BLL,@@@ll6*BLL,@@@ll7+R\\&-AAA &   E*E,Tr=  )r   r   r   rM  assert_allcloser  r  r  r  r   r   s         r   test_logspace2_basic$TestNPFunctions.test_logspace2_basic  J    	B( T"6*!8KEJJ&&ve':E%<NO $r!   c                    [        SS9" [        5      nU R                  5         U R                  [        5       nU" SS5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       NE= f)NTr=  r  r(  +The first argument "start" must be a number+The second argument "stop" must be a number)r   r   rC  r@  r   rA  r?  rB  r  r  rE  s      r   test_logspace2_exception(TestNPFunctions.test_logspace2_exception$  s    T"9-!{+v%O ,C&**+	- {+v!UO ,C&**+	- ,+
 ,+s   
B=
C=
C
Cc                     S n[         n[        SS9" U5      nU" 5        H1  u  pE[        R                  R	                  U" XE5      U" XE5      5        M3     g )Nc               3     #    Sv   Sv   Sv   Sv   Sv   Sv   Sv   Sv   S	[         R                  4v   S	[         R                  4v   [        S
:  Ga  [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   g g 7fr  r  r  r!   r   r  4TestNPFunctions.test_logspace3_basic.<locals>.inputs5  r  r  Tr=  r   r   r   rM  r  r  s         r   test_logspace3_basic$TestNPFunctions.test_logspace3_basic3  r  r!   c           	          S n[         n[        SS9" U5      nU" 5        H4  u  pEn[        R                  R	                  U" XEU5      U" XEU5      5        M6     g )Nc               3     #    Sv   Sv   Sv   Sv   Sv   Sv   Sv   Sv   S	[         R                  S
4v   S	[         R                  S4v   [        S:  Ga  [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   g g 7f)N)rv  r  rM  )r  r  r  )r   r  r0  r  r   rL  )r  r  r  r"  r  F   r  r#  P   )r#  r  Z   r$  rM  r  r  rv  r*  r0  r  r  rL  r  r  r  r&  r	  r
  r(  r  r)  r  r  r!   r   r  =TestNPFunctions.test_logspace3_with_num_basic.<locals>.inputsQ  s    O!!  rttR-ruub. v%ll1or||A::ll2&R(8"<<ll1or||B'7;;ll6*BLL,@"DDll6*BLL,@"DDll7+R\\&-A2EE &s   E2E4Tr=  r  r  r  r  r  r   r   r   s          r   test_logspace3_with_num_basic-TestNPFunctions.test_logspace3_with_num_basicO  sU    	F( T"6* &EJJ&&ve3'?',U#'>@ !)r!   c                 z   [        SS9" [        5      nU R                  5         U R                  [        5       nU" SS5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SSS5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NV= f)	NTr=  r  r(  r  r  r   z+The third argument "num" must be an integer)r   r   rC  r@  r   rA  r?  rB  r  s      r   test_logspace3_exception(TestNPFunctions.test_logspace3_exceptionl  s    T"9-!{+v%O ,C&**+	- {+v!UO ,C&**+	- {+v!Q ,C&**+	- ,+
 ,+
 ,+s#   
D

DD,

D
D),
D:c                     S n[         n[        SS9" U5      nU" 5        H"  u  pEU R                  U" XE5      U" XE5      SS9  M$     g )Nc               3     #    Sv   Sv   Sv   Sv   Sv   Sv   Sv   S[         R                  " S	5      4v   [         R                  " S	5      S4v   S
[         R                  " S	5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S	5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   [         R                  " S5      [         R                  " S5      4v   g 7f)Nr  r  r  )rv  r-  )r-  rv  )rv     )r  r  r  r#  r.               @@r,  r+  rv  r*  r  r  r  r	  r
  r  r   r	  r  r!   r   r  5TestNPFunctions.test_geomspace2_basic.<locals>.inputs  sJ    MOMMLObll2&&&,,r"B&&R(((,,r"BLL$777,,w'f)===,,q/2<<?22,,r"BLL$444,,q/2<<#333,,v&V(<<<,,v&V(<<<,,w'f)===s   GGTr=  g-q=r  )r   r   r
  r  s         r   test_geomspace2_basic%TestNPFunctions.test_geomspace2_basic  sP    	>* T"6*!8KE##F5$7$)%$6,1 $ 3 $r!   c                 4   [        SS9" [        5      nU R                  5         U R                  [        5       nU" SS5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nh= f)	NTr=  r  r(  %The argument "start" must be a number$The argument "stop" must be a numberr   &Geometric sequence cannot include zero)	r   r   rC  r@  r   rA  r?  rB  r  r  s      r   test_geomspace2_exception)TestNPFunctions.test_geomspace2_exception  s3   T":.!{+v%O ,=&**+	- {+v!UO ,<&**+	- z*f!QK +>&**+	- z*f!QK +>&**+	-# ,+
 ,+
 +*
 +*s/   
E
E'
E8
F	
E$'
E58
F	
Fc           	          S n[         n[        SS9" U5      nU" 5        H%  u  pEnU R                  U" XEU5      U" XEU5      SS9  M'     g )Nc               3     #    Sv   Sv   Sv   Sv   Sv   Sv   Sv   Sv   S	[         R                  " S
5      S4v   [         R                  " S
5      S	S4v   S[         R                  " S
5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S
5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S4v   [         R                  " S5      [         R                  " S5      S 4v   [         R                  " S!5      [         R                  " S5      S"4v   g 7f)#Nr$  r%  r'  )rv  r-  r  )rv  r-  r  )r-  rv  r  )rv  r3  r  )r4  r  r  r  r  rK  rM  r#  r  r.  r5  r  r,  r+  r(  rv  r*  r0  r  rL  r  r  r  r&  r	  r
  r(  r  r)  r6  r  r!   r   r  5TestNPFunctions.test_geomspace3_basic.<locals>.inputs  sk    !!Obll2&**,,r"B**R(",,,,r"BLL$7::,,w'f)=q@@,,q/2<<?B66,,r"BLL$4b88,,q/2<<#3R77,,v&V(<b@@,,v&V(<b@@,,w'f)=rAAs   G+G-Tr=  r  r  )r   r   r
  r+  s          r   test_geomspace3_basic%TestNPFunctions.test_geomspace3_basic  sX    	B, T"6* &E##F5$<$)%s$;,1 $ 3 !)r!   c                    [        SS9" [        5      nU R                  5         U R                  [        5       nU" SSS5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SSS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SSS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S	SS5        S S S 5        U R                  S
[        UR                  5      5        U R                  [        5       nU" SS	S5        S S S 5        U R                  S
[        UR                  5      5        g ! , (       d  f       GNi= f! , (       d  f       GN.= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nz= f)NTr=  r  r(  rK  r;  r<  z%The argument "num" must be an integerr   r=  )	r   r   rC  r@  r   rA  r?  rB  r  r  s      r   test_geomspace3_exception)TestNPFunctions.test_geomspace3_exception  s   T":.!{+v%B ,=&**+	- {+v!UB ,<&**+	- {+v!R ,=&**+	- z*f!QN +>&**+	- z*f!QN +>&**+	-- ,+
 ,+
 ,+
 +*
 +*s;   F&F8G
 G-G,&
F58
G

G
G),
G:c           	         [        SS9" [        5      n[        SS9" [        5      n[        nU" SS5      nU R                  [	        U5      S5        U" SSSS9nU R                  US   S	5        U" SSS
S9nU R                  XC" SSS
S95        U" SSSS9nU R                  XC" SSSS95        U R                  UR                   Vs/ s H  oUS:H  PM	     sn5        U" SSSS9nU R                  XC" SSSS95        U R                  UR                   Vs/ s H  oUS:H  PM	     sn5        U" SSSS9nU R                  XC" SSSS95        U R                  UR                   Vs/ s H  oUS:H  PM	     sn5        SnSnU" XgSS9nU R                  US   U5        U" XgSS9nU R                  US   U5        U R                  US   U5        [        R                  " SS9   U" SSSS9nS S S 5        U R                  US   S5        U R                  [        R                  " USS 5      R                  5       5        U R                  US   S5        U" SSSS9nU R                  XC" SSSS9SS9  U R                  UR                   Vs/ s H  oUS:H  PM	     sn5        U" SSSS9nU R                  XC" SSSS9SS9  U R                  UR                   Vs/ s H  oUS:H  PM	     sn5        U" S S!SS9nU R                  UU" S S!SS9SS9  U" S"S#SS9nU R                  UU" S"S#SS9SS9  [        S$:  a  U" S%S&SS9nU R                  XC" S%S&SS95        U" S'S(S5      nU R                  XC" S'S(S5      S)S9  U" S'S*S5      nU R                  XC" S'S*S5      S)S9  U" S(S+S5      nU R                  XC" S(S+S5      S)S9  U" S'S(S5      nU R                  XC" S'S(S5      S)S9  U" S,S-S
5      nU R                  XC" S,S-S
5      SS9  U" S'S.S5      nU R                  XC" S'S.S5      5        U" S.S'S5      nU R                  XC" S.S'S5      5        g s  snf s  snf s  snf ! , (       d  f       GNn= fs  snf s  snf )/NTr=  rv  r8  rL  r,  r   r  r?  r  r  r*  r  r   ir  gL4@ignore)invalidr  r  g      r  r.  y              0@r(  r  r  y             y            @tvIh%<=r  y     @@     @@y            ?y     @     @@r  r,  r+  r  y              gV瞯<y      @        y              y             y      @      @r)  )r   r   r   r  r7  r
  r=  imagr   errstaterH  r[  realr   )r  cfunc2cfunc3pfunc3r$  r   r   r   s           r   test_geomspace_numpy$TestNPFunctions.test_geomspace_numpy  s   d#J/d#J/ 1cNQ$1cs#2(1cq!6!CQ#781aQ6!QA#670Aa012t#6"d#:;0Aa014#6$#:;0Aa01 5A&!e,5A&!e,"t, [[*r1!$A + 	!d+1R)--/0!c* 2s"6"cq#95I0Aa0131%6#u!#<eL0Aa016<Q/ &v| C(- 	  	/ 7Mq1 &w1 E(- 	  	/
 6!wA.A##Avgv1'EF67A&6&'1#=uM661%6&&!#<eL7FA&6'61#=uM67A&6&'1#=uM7FA&6'61#=uM2r16"b!#452r16"b!#45I 1 1 1 +* 1 1s*   P:P?Q	Q	QQ 	
Qc                     [         n[        SS9" U5      nS nU" 5        H$  nU" U5      nU" U5      nU R                  XV5        M&     g )NTr=  c               3     #    [         R                  " S5      R                  SS5      v   [         R                  " S5      R                  SSS5      v   [         R                  " S5      R                  SSSSSS5      v   g 7fNrK  r(  r*  rM  rg  r  r  r!   r   rt  6TestNPFunctions.test_rot90_basic.<locals>.a_variationsP  `     ))B-''1--))B-''1a00))B-''1aAq99   A?B)r   r   r
  )r  r  r  rt  r-   r  r  s          r   test_rot90_basic TestNPFunctions.test_rot90_basicL  sI    T"6*	:
 AayH(C##H2  r!   c                     [         n[        SS9" U5      nS nU" 5        H7  n[        SS5       H$  nU" XE5      nU" XE5      nU R                  Xg5        M&     M9     g )NTr=  c               3     #    [         R                  " S5      R                  SS5      v   [         R                  " S5      R                  SSS5      v   [         R                  " S5      R                  SSSSSS5      v   g 7frV  r  r  r!   r   rt  =TestNPFunctions.test_rot90_with_k_basic.<locals>.a_variations^  rX  rY  r)  rN  )r   r   r  r
  )r  r  r  rt  r-   r   r  r  s           r   test_rot90_with_k_basic'TestNPFunctions.test_rot90_with_k_basicZ  sY    T"6*	:
 A2q\!!<Ak''6 "  r!   c                    [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R                  " S5      R                  SS5      SS9  S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " S	5      5        S S S 5        U R                  S
[        UR                  5      5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       NW= f)NTr=  r  z'The first argument "m" must be an arrayr  r*  rF  z*The second argument "k" must be an integerr  zInput must be >= 2-d.)r   r   rC  r@  r   rA  r?  rB  r   rS  r  rD  s       r   test_rot90_exception$TestNPFunctions.test_rot90_exceptioni  s   T"6* 	!{+v%L , 	?&**+	- {+v"))A,&&q!,6 , 	B&**+	- {+v"))A, , 	-s63C3C/DE ,+ ,+ ,+s#   	D?,E4E"?
E
E"
E0c                     Un[        SS9" U5      nS nU" 5        H6  nU" U6 nU" U6 n[        R                  R                  U[	        U5      5        M8     g )NTr=  c               3   $  #    [         R                  " S5      n U S4v   U SS4v   U / SQ4v   [        U 5      / SQ4v   [        U 5      / SQ4v   U / SQS4v   [        U 5      / SQS4v   [        U 5      / SQS4v   [         R                  " S5      R	                  SSS5      n U S4v   U SS4v   U SS4v   U / SQ4v   U / SQS4v   U / SQS4v   U SS	/4v   U SS	/S4v   U SS	/S4v   U S/S
4v   U S/S4v   U S/S4v   U [         R
                  " / [         R                  S9S4v   [         R                  " S5      R	                  SS
5      n U S4v   U SS4v   U S/S4v   U SS4v   U [         R                  " SSS5      S4v   U S4v   U [         R                  " S5      S44v   [         R
                  " / 5      n U S4v   U S4v   U SS4v   U SS4v   [         R
                  " / /5      n U S4v   U SS4v   U SS4v   U SS4v   g 7f)Nr,  r*  r   )rv  r  H   rg  r  rv  )r*  rv  r(  r  r  r  r  r9  rL  rK  rv  r  )r   rS  r  r  r  r8  r  r  rG   s    r   args_variations5TestNPFunctions._check_split.<locals>.args_variations  s>    		#AQ$JQ'MZ-q':%%(J&&Z""q':q(((J))		"%%aA.AQ$JQ'MQ'MY,Y/!Y/!aV)OaVQ,aVQ,aS"*aS"*aS"*RXXb1144		#&&q"-AQ$JQ'MaS!)OR(NRYYr2r*A--T'Mbhhqk2&&&AQ$JQ$JVQ,Q'M"AQ$JVQ,Q'MQ'Ms   HHr   r   rM  assert_equalr  r  r  r  r  rh  rk   r  r  s           r   _check_splitTestNPFunctions._check_split  sU    T"6*-	^ $%Dt}H,CJJ##Hd3i8	 &r!   c                     Un[        SS9" U5      nS nU" 5        H6  nU" U6 nU" U6 n[        R                  R                  U[	        U5      5        M8     g )NTr=  c               3      #    [         R                  " S5      S4v   [        [         R                  " S5      5      S4v   [        [         R                  " S5      5      S4v   [         R                  " S5      R	                  SS5      S4v   g 7f)Nr  r  r  r  r*  r(  )r   rS  r  r  r  r  r!   r   rh  ;TestNPFunctions._check_array_split.<locals>.args_variations  sg     ))A,/!ryy|$a''		!%q(())B-''A.11s   BBrj  rl  s           r   _check_array_split"TestNPFunctions._check_array_split  sT    T"6*	2 $%Dt}H,CJJ##Hd3i8	 &r!   c                 X    U R                  [        5        U R                  [        5        g r   )rm  r   rr  r  s    r   test_array_split_basic&TestNPFunctions.test_array_split_basic  s    +&,r!   c                 F   U R                  [        5        U R                  5         U R                  [        5       n[        [        5      " [        R                  " S5      S5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       n[        [        5      " [        R                  " S5      S/SS9  S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       NE= f)Nr(  r*  z0array split does not result in an equal divisionr  r  r:   z%np.split: Argument axis out of bounds)rm  r   rC  r@  r  r   r   r  rA  r?  rB  )r  rE  s     r   test_split_basic TestNPFunctions.test_split_basic  s    % !z*fK
A& +>  !	

 z*fK
QCb1 +=&**+	- +* +*s   +D(+D
D
D c           
      "   S nS nS nU" 5       U" 5       U" 5       /n[         SS4[        SS4[        SS	44 HT  u  pVnUn[        U5      n	[	        US
5       H1  n
XJS-
      H#  u  pU R                  U" X5      U	" X5      5        M%     M3     MV     g )Nc               3   |   #    [         R                  " / SQ5      S4v   [         R                  " / SQ5      S4v   g 7f)Nr  r*  r"  rx  r        @r  r  r!   r   inputs1D5TestNPFunctions.test_vhdsplit_basic.<locals>.inputs1D  s.     ((<(!++((+,a//s   :<c               3   b  #    [         R                  " / SQ/ SQ/5      S4v   [         R                  " / SQ/ SQ/5      S4v   [         R                  " S5      R                  SS5      S4v   [         R                  " S5      R                  SS5      [         R                  " SS/5      4v   [         R                  " S5      R                  SS5      SS/4v   [         R                  " S5      R                  SS5      S4v   [         R                  " S	5      R                  SSS5      S4v   g 7f)
Nr  r*  r|        0@r  r  rN  r  rN  r  r  r  r!   r   inputs2D5TestNPFunctions.test_vhdsplit_basic.<locals>.inputs2D  s     ((L,78!;;((,.>?@!CC))D/))!Q/22))D/))!Q/1a&1AAA))D/))!Q/!Q77))D/))!Q/77))C.((Aq1144s   D-D/c               3   6  #    [         R                  " / SQ/ SQ// SQ/ SQ//5      S4  [         R                  " S5      R                  SSS5      S4v   [         R                  " S5      R                  SSS5      [         R                  " SS/5      4v   [         R                  " S5      R                  SSS5      SS/4v   [         R                  " S5      R                  SSS5      S4v   [         R                  " S5      R                  SSS5      S4v   g 7f)	Nr  r*  r  r  r  rN  r  r  r  r  r!   r   inputs3D5TestNPFunctions.test_vhdsplit_basic.<locals>.inputs3D  s     HH|#%##%& ' )** ))D/))!Q2A55))D/))!Q2BHHaV4DDD))D/))!Q2QF::))D/))!Q2F::))C.((Aq1144s   DDr*  r   rv  r   r  r   r  )r   r   r   r   r  r
  )r  r~  r  r  r  fmindimnamer  r  r  r-   r   s                r   test_vhdsplit_basic#TestNPFunctions.test_vhdsplit_basic  s    	0
	5
	5 *hj(*5#)1h"7#)1h"7#)1h"7"9Q FLE61%%+E]MA++F1,A,1!,@B &3 &"9r!   c           	         [         SS4[        SS4[        SS44 GH  u  pn[        SS9" U5      nU R	                  5         U R                  [        5       nU" SS5        S S S 5        U R                  S	[        WR                  5      5        U R                  [        5       nU" S
S5        S S S 5        U R                  S	[        UR                  5      5        U R                  [        5       nU" [        R                  " / SQ/ SQ/5      S
5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " S5      S5        S S S 5        U R                  US-   [        U5      -   S-   [        UR                  5      5        GM     g ! , (       d  f       GN^= f! , (       d  f       GN$= f! , (       d  f       N= f! , (       d  f       N= f)Nr*  r   rv  r   r  r   Tr=  z#The argument "ary" must be an arrayr  r  z:The argument "indices_or_sections" must be int or 1d-arrayz only works on arrays of z or more dimensions)r   r   r   r   rC  r@  r   rA  r?  rB  r   r8  r  )r  r  r  r  r  rE  s         r   test_vhdsplit_exception'TestNPFunctions.test_vhdsplit_exception
  s   #)1h"7#)1h"7#)1h"7"9Q &q)E##%"";/6a 0MM?f../1"";/6eQ 0MM?f../1"";/6bhhl;<eD 0MM &f../1 "":.&bhhqk1% /MM$!<<s6{J/0f../1)"9
 0/ 0/ 0/
 /.s0   
F7"
G	.$GG,7
G		
G	
G)	,
G:	c                     [         n[        SS9" U5      nS nS nU" 5        H2  nU" 5        H$  nU" XV5      nU" XV5      nU R                  Xx5        M&     M4     g )NTr=  c               3     #    [         R                  " S5      v   [         R                  " S5      R                  SSS5      v   / SQv   Sv   Sv   Sv   S	v   [         R                  " [         R                  " S
[         R
                  /[         R                  S//5      5      v   [         R                  " / 5      v   Sv   g 7f)Nr  r  r  r  r(  )r7  r  r  r  F)r  r7  g333333@r  )r   rS  r  rk  r8  r  r$  r  r!   r   rt  5TestNPFunctions.test_roll_basic.<locals>.a_variations(  s     ))A,))I&..q!Q77!!%%KGJ##BHHsBFFmbffc]-K$LMM((2,H   CCc                  X    [         R                  R                  S[        SS5      45      $ )Nr  r5  rK  r(  r  r!   r   shift_variations9TestNPFunctions.test_roll_basic.<locals>.shift_variations4  s,    ??00-27R.2B C Cr!   )r1  r   r
  )	r  r  r  rt  r  r-   r2  r  r  s	            r   test_roll_basicTestNPFunctions.test_roll_basic$  s]    T"6*
		C A)+!!+Ao''6 ,  r!   c                 (   [         n[        SS9" U5      nU R                  5         S HV  nU R                  5        nU" [        R
                  " S5      U5        S S S 5        SnU[        WR                  5      ;   a  MV   e   g ! , (       d  f       N0= f)NTr=  )r7  r  rK  zshift must be an integer)r1  r   rC  r  r   rS  r?  rB  )r  r  r  r2  rs  r  s         r   test_roll_exceptions$TestNPFunctions.test_roll_exceptions>  sx    T"6* 	! E'')QbiimU+ * -C#akk**** !))s   B
B	c           	          [         n[        SS9" U5      n[        U R                  X5      n[        R
                  " S5      nU R                  R                  U5        [        SS5       H  nXE:  nU" XdS.5        M     [        R
                  " S5      R                  SS	S
5      nUS:  nU" XdS.5        Sn[        R                  " S
5      R                  5       nU" XdS.5        / SQn/ SQnU" XdS.5        [        R                  " SSS5      nSS[        R                  SSSSSS4	n[        R                  " US5       H<  nU" XdS.5        U" [        R                   " U5      R                  SS5      US.5        M>     [        R                   " / SQ5      n[        R                   " / 5      nU" XdS.5        [        R                   " / SQ5      n[        R                   " / SQ5      nU" XdS.5        [        R                   " / SQ/ SQ/5      n/ SQnU" XdS.5        [        R                   " / SQ/ SQ/5      n[        R                   " / SQ5      R                  SSS5      nU" XdS.5        [        R"                  " [        R
                  " S5      R                  S
SS	5      5      n[        R$                  " SS5      nU" XdS.5        U" XdS S S2   S.5        [        R                   " S5      nS H  nU" XdS.5        M     SnSnU" XdS.5        [        R                   " S5      n[        R                   " SS/5      nU" XdS.5        [        R
                  " S5      n[        R                   " / S Q5      R                  SS
5      S!-  nU" XdS.5        g )"NTr=  rK  r  rO  rD  r  r  r(  r  gffffff&@)r  r  r  r(  r  )r7  r  r  r  r  r  rN  Fr  r#  g333333rv  r"  y              ?r*  r  )rv  r   rv  r   r  )rv  r   rv  r   rv  r   )rv  r   rv  r   rv  r   r   r   r1  r  )rv  r   rv  r   r   r   r.  )rC  r   r   r  r   rS  r  r  r  r  eyeflattenr  r  r  combinations_with_replacementr8  rk  ro  )r  r  r  r  r-   	thresholdr  r  s           r   test_extract_basic"TestNPFunctions.test_extract_basicL  s   T"6*++V;IIbMr2I=D01 ' IIbM!!!Q*4xT,--vvay  "T,- T,-KKB"eRVVRtQTJ;;L!LD01$!7!71!=aHI M HHYxx|T,-HHYxx%T,-HHi+,!T,-HHi+,xx0199!QBT,-biim33Aq!<=yy$T,-TDbD'23HHQKD01  T,-HHQKxxu&T,-IIaLxx*+33Aq9B>T,-r!   c                 N  ^ ^ [         n[        SS9" U5      mT R                  5         [        R                  " / 5      n[        R                  " / SQ5      nT R                  [        5       nT" X25        S S S 5        T R                  S[        WR                  5      5        UU 4S jn[        R                  " / SQ/ SQ/5      n/ SQnU" X25        [        R                  " / SQ5      n[        R                  " / SQ5      nU" X25        [        R                  " S5      nS	nU" X25        [        R                  " S
5      n[        R                  " / SQ5      nU" X25        [        R                  " S
5      n[        R                  " / SQ5      nU" X25        g ! , (       d  f       GN(= f)NTr=  r  z"Cannot extract from an empty arrayc                    > SnTR                  [        5       nT" X5        S S S 5        TR                  U[        WR                  5      5        g ! , (       d  f       N4= f)Nz+condition shape inconsistent with arr shaper  )r  r-   r  rs  r  r  s       r   r  7TestNPFunctions.test_extract_exceptions.<locals>._check  sD    ?C"":.!d /MM#s1;;/0 /.s   	A
A)rv  r   rv  r   rv  r   rv  )rv  r   rv  r   rv  r  r1  r  )TFFFT)TFTFFTF)rC  r   rC  r   r8  r@  r  rA  r?  rB  rS  )r  r  r-   r  rs  r  r  s   `     @r   test_extract_exceptions'TestNPFunctions.test_extract_exceptions  s%   T"6* 	!HHRLxx	"z*a$N +:C<LM	1 HHi+,$tHHYxx(tHHRLtIIaLxx9:tIIaLxxFGt9 +*s   +	F
F$zNew in numpy 2.0+c                 *    U R                  [        S9  g N)r  )test_np_trapz_basicrZ  r  s    r   test_np_trapezoid_basic'TestNPFunctions.test_np_trapezoid_basic  s       5r!   c                 X   [        SS9" U5      n[        U R                  X5      n/ SQnU" SU05        SnU" SU05        [        R                  " S5      R                  SS5      nU" SU05        [        R                  " S	S
S5      R                  SSS5      nU" SU0SS9  U R                  R                  U5        U" SU0SS9  [        R                  " / 5      nU" SU05        [        R                  " S[        R                  [        R                  [        R                  * S/5      nU" SU05        [        R                  " S5      [        R                  " SS
S5      S-  -   nU" SU05        [        R                  " / [        R                  S9nU" SU05        SnU" SU05        g )NTr=  r  r$  )r  rv  r*  r*  r*  rP  r  r(  r5  rK  r  r  rK  r  r
  rM  r   r.  r9  r  )r   r   r  r   rS  r  r  r  r  r8  r  r$  r9  r  r  r  r  r$  s        r   r  #TestNPFunctions.test_np_trapz_basic  sg   T"6*++V;QxQxIIbM!!!Q'QxKKR$,,Q15Qx'Qx'HHRLQxHHeRVVRVVbffWa89QxIIbMBKK2r2R77QxHHRr}}-QxQxr!   c                 *    U R                  [        S9  g r  )test_np_trapz_x_basicr\  r  s    r   test_np_trapezoid_x_basic)TestNPFunctions.test_np_trapezoid_x_basic  s    ""."9r!   c                    [        SS9" U5      n[        U R                  X5      n/ SQn/ SQnU" XES.5        / SQnSnU" XES.5        Sn/ SQnU" XES.5        [        R                  " / SQ5      nS	S	/nU" XES.5        [        R                  " / 5      n[        R                  " S
S/5      nU" XES.5        SnS nU" XES.5        [        R
                  " S5      R                  SS	5      n[        R                  " S	S/5      nU" XES.5        [        R
                  " S5      R                  SS	5      n[        R                  " / SQ5      nU" XES.5        [        R
                  " S5      R                  SS	S5      n[        R                  " S	S/5      nU" XES.5        [        R
                  " S5      R                  SS	S5      n[        R                  " / SQ5      nU" XES.5        [        R
                  " S5      R                  SS	S5      nU R                  R                  U5        US-   nU R                  R                  U5        U" XES.5        [        R
                  " S5      nU[        R                  " SSS5      S-  -   nU" XES.5        [        R                  " / SQ5      n[        R                  " SS/5      nU" XES.5        g )NTr=  r  r  rN  r  rL  r  )r  rN  r  r(  rN  r  r  r  r*  r  rM  r(  r	  r  )r  r(  r  r7  r   rK  r.  r  r  )
r   r   r  r   r8  rS  r  r  r  r  )r  r  r  r  r$  r   s         r   r  %TestNPFunctions.test_np_trapz_x_basic  sO   T"6*++V;Q Q Q HH_%FQ HHRLHHaVQ Q IIbM!!!Q'HHaVQ IIbM!!!Q'HH\"Q IIbM!!!Q*HHaVQ IIbM!!!Q*HHYQ IIbM!!!Q*GQ IIbMAr2&++Q HHYHHff%&Q r!   c                 *    U R                  [        S9  g r  )test_trapz_numpy_questionablerZ  r  s    r   !test_trapezoid_numpy_questionable1TestNPFunctions.test_trapezoid_numpy_questionable  s    **,*?r!   zNumPy behaviour questionablec                     [        SS9" U5      n[        U R                  X5      n[        R                  " / SQ5      R                  [        5      nU" SU05        [        R                  " / SQ5      nU" SU05        g )NTr=  )TFTTr$  )r   r   r  r   r8  rL  r  r  s        r   r  -TestNPFunctions.test_trapz_numpy_questionable  sj     T"6*++V; HH./66s;Qx HH./Qxr!   c                 *    U R                  [        S9  g r  )test_np_trapz_dx_basicr_  r  s    r   test_np_trapezoid_dx_basic*TestNPFunctions.test_np_trapezoid_dx_basic,  s    ##?#;r!   c                 \   [        SS9" U5      n[        U R                  X5      n/ SQnSnU" XES.5        / SQn/ SQnU" XES.5        / SQn/ SQnU" XES.5        [        R                  " SS	S
5      n[        R
                  nU" XES.5        [        R                  " SS	S
5      n[        R                  nU" XES.5        [        R                  " SS	S
5      n[        R                  " SS	S5      nU" XES.SS9  [        R                  " S5      R                  SS	S5      S-  n[        R                  " S5      R                  SS	S5      nU" XES.5        [        R                  " SS
S5      nU" [        R                  " SUS-  -  5      [        R                  " S[        R                  -  5      -  SS9n[        R                  R                  USS5        [        R                  " S5      nSnU" XES.5        [        R                  " S5      n[        R                  " S	/5      nU" XES.5        g )NTr=  r  r*  rR  r  )rv  r  r(  rN  r  r(  rK  r  rK  r  r  r  r  r.  r0  r5  r  r'  rP  rv  r  rM  )r   r   r  r   r  r  r$  rS  r  expr\  r  rM  assert_almost_equalr8  )r  r  r  r  r$  rQ  r   r{  s           r   r  &TestNPFunctions.test_np_trapz_dx_basic0  s   T"6*++V;Q!"Q!"Q!"KKAr"VVQ!"KKAr"VVQ!"KKAr"[[Q"Q!51IIbM!!!Q*R/YYr]""1a+Q!"IIc2r""&&qAv&RUU);;D


&&q!Q/IIbMQ!"IIbMXXqc]Q!"r!   c                 *    U R                  [        S9  g r  )test_np_trapz_x_dx_basicra  r  s    r   test_np_trapezoid_x_dx_basic,TestNPFunctions.test_np_trapezoid_x_dx_basic]  s    %%->%?r!   c                    [        SS9" U5      n[        U R                  X5      nS S[        R                  " / SQ5      4 H  n/ SQn/ SQnU" XVUS.5        / SQnSS	/nU" XVUS.5        / SQn/ S
QnU" XVUS.5        [        R
                  " S5      R                  SSS5      nU R                  R                  U5        US-  n[        R                  US'   U" XVUS.5        M     g )NTr=  r*  r  r  r  rU  r  rN  r  r  r(  r  r7  r.  )
r   r   r  r   r8  rS  r  r  r  r  )r  r  r  r  rQ  r$  r   s          r   r  (TestNPFunctions.test_np_trapz_x_dx_basica  s    T"6*++V; BHH_56BAA"-.AAA"-.AA"-.		"%%aA.AHHQCAAgJ"-.# 7r!   c                 *    U R                  [        S9  g r  )test_np_trapz_x_dx_exceptionsra  r  s    r   !test_np_trapezoid_x_dx_exceptions1TestNPFunctions.test_np_trapezoid_x_dx_exceptionsy  s    **2C*Dr!   c                   ^ ^ [        SS9" U5      mT R                  5         UU 4S jn/ SQn/ SQ/ SQ4 H  nU" X4S45        M     [        R                  " S5      R	                  S	S
S5      n[        R                  " S5      R	                  S	S
S	5      nU" X4S45        [        R                  " S5      R	                  S	S
S5      n[        R
                  " / SQ5      nU" X4S45        / SQn[        R
                  " SS/5      nU" US U45        [        R                  " S5      R	                  S	S
S5      n[        R                  " S5      R	                  S	S
S5      nU" US U45        T R                  5        n[        R
                  " S
5      nU" US S45        S S S 5        T R                  S[        WR                  5      5        SS[        R                  4 HK  nT R                  5        nT" US S5        S S S 5        T R                  S[        UR                  5      5        MM     g ! , (       d  f       N= f! , (       d  f       NI= f)NTr=  c                    > TR                  [        5       nT" U 6   S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nzunable to broadcastr  )r  rs  r  r  s     r   check_not_okCTestNPFunctions.test_np_trapz_x_dx_exceptions.<locals>.check_not_ok  sB    "":.!v / MM/Q[[1AB /.s   A
Ar  )r  r(  rN  r  r  r  r  r"  r  r  r  r(  $   r	  rx  zy cannot be 0DFzy cannot be a scalar)r   rC  r   rS  r  r8  r  rA  r?  rB  r  )r  r  r  r$  r   rQ  rs  r  s   `      @r   r  -TestNPFunctions.test_np_trapz_x_dx_exceptions}  s   T"6* 	!	C #Y.A!% / IIbM!!!Q*IIbM!!!Q*aC[!IIbM!!!Q*HH\"aC[!XXsCj!ar]#IIbM!!!Q*YYr]""1a+ar]###%A!T3( & 	&AKK(89E266!A'')Qas# * MM0#akk2BC	 " &% *)s   7"H),H:)
H7:
I	c                   ^ ^ Sn[         R                  R                  U5      S-  n[         R                  R                  U5      S-  n[         R                  " U5      n[         R                  R                  U5      S:  n[         R                  R                  U5      S:  n[         R                  R	                  SUS9n[         R                  R	                  SUS9nSn	Sn
Sn[         R                  R                  XU5      S-  n[         R                  R                  XU5      S-  n[        n[        SS9" U5      mT R                  U" X#S	9T" X#S	9S
S9  T R                  U" XS	9T" XS	9S
S9  T R                  U" XxS	9T" XxS	9S
S9  T R                  U" X&S	9T" X&S	9S
S9  T R                  U" XSS	9T" XSS	9S
S9  T R                  U" XVS	9T" XVS	9S
S9  T R                  U" U5      T" U5      S
S9  T R                  U" U5      T" U5      S
S9  UU 4S jnU" X$S	9  UU 4S jnUU 4S jn[         R                  " S5      R                  S5      n[         R                  " SS/5      nU" UUS	9  U" USUS9  g )Nr,  r&  e   rK  rL  rR  Tr=  rS   rK  )placesc                    > TR                  [        5       nT" XS9  S S S 5        WR                  nTR                  [	        U5      S5        g ! , (       d  f       N6= f)NrS   z)Weights sum to zero, can't be normalized.)r@  ZeroDivisionErrorrB  r  r?  datarT   rs  errr  r  s       r   test_weights_zero_sum;TestNPFunctions.test_average.<locals>.test_weights_zero_sum  sK    ""#45d, 6++CSXHJ 65   A
Ac                    > TR                  [        5       nT" XS9  S S S 5        WR                  nTR                  [	        U5      S5        g ! , (       d  f       N6= f)NrS   zCNumba does not support average when shapes of a and weights differ.r@  	TypeErrorrB  r  r?  r  s       r   test_1D_weights5TestNPFunctions.test_average.<locals>.test_1D_weights  sK    ""9-d, .++CSX56 .-r  c                    > TR                  [        5       nT" XUS9  S S S 5        WR                  nTR                  [	        U5      S5        g ! , (       d  f       N6= f)Nrf  z)Numba does not support average with axis.r  )r  r;   rT   rs  r  r  r  s        r   test_1D_weights_axis:TestNPFunctions.test_average.<locals>.test_1D_weights_axis  sL    ""9-dg6 .++CSXHJ .-s   A
ArN  r2  g      ?g      ?rv  rf  )r   r  ranfr  rW  rU  rh  r   assertAlmostEqualrS  r  r5  )r  r   r-   rU   w0a_boolw_boola_intw_intd0rQ  d2a_3dw_3dr  r  r  r  r  r  s   `                  @r   test_averageTestNPFunctions.test_average  s    IINN1#IINN1#XXa[ "S("S( 		!!#A!.		!!#A!. yy~~bB'#-yy~~bB'#-T"6* 	q 3 %a 22 	 	?t 9 %d 8 	 	E
 	u ; %e :2 	 	G 	q 8 %a 7 	 	Dv 8 %f 7 	 	Dv > %f =b 	 	J 	vay%(2>vd|U4[D	J 	a,	6	J yy|##G,JJ'( 	a( 	T15r!   c           
         [         n[        SS9" U5      n[        R                  " [        R                  5      R
                  n[        R                  " U/[        R                  S9n[        R                  " SS/5      [        R                  " SS/5      4[        R                  " SS/5      [        R                  " SS/5      4[        R                  " SS/5      [        R                  " S	S/5      4[        R                  " S/5      [        R                  " S	S/5      4S
[        R                  " [        R                  S/5      [        R                  " S[        R                  /5      4XD4/nU H&  u  pFU" XF5      nU" XF5      nU R                  Xx5        M(     [        R                  " S[        R                  /5      n[        R                  " S[        R                  /5      nU R                  U" XF5      5        U R                  U" XFSS9U" XFSS95        [        R                  " [        R                  S/5      nU R                  U" XF5      U" XF5      5        / SQn	[        R                  " S5      n
[        R                  R                  S5      nU	 H  nU	 H  nU	 H  nU" XXS9nU" XXS9nU R                  Xx5        U" XXS9nU" XXS9nU R                  Xx5        U" [        R                  " U/5      U
XS9nU" [        R                  " U/5      U
XS9nU R                  Xx5        U" XDU-   XS9nU" XDU-   XS9nU R                  Xx5        U" XK-   XMUS9nU" XK-   XMUS9nU R                  Xx5        M     M     M     g )NTr=  r9  r0  r2  r1  r+  r3  r4  )r"  r"  rv  r   r"  r   )r"  r  g{Gz?gMbP?-C6?r*  gư>r$  )rR  r  )r   r   )rd  r   r   r   int_r  r8  r5  r$  r  r  assertFalser  r  r  )r  r  r  min_intr-   simple_datar.   	py_resultc_resultnoise_levels
zero_arraynoiser   r   s                 r   test_allcloseTestNPFunctions.test_allclose  s   T"6*((277#''HHgYbgg. ZZt%rzz:t2D'EFZZt%rzz:t2D'EFZZt%rzz9d2C'DEZZY,=!>?XXrvvqk"BHHa[$9:F
  DAqIQ{HY1  
 JJRVV}%JJRVV}%q%5qt4	6 JJ}%uQ{3EXXg&
IINN7#!E$(D &z,0!=I$Z*. ;H$$Y9 &u,0!=I$U*. ;H$$Y9 &rzz5'':J,0!=I$RZZ%8**. ;H$$Y9 &qe)$ JI$QE	HH$$Y9 &qy!T JI$QY4HH$$Y93 ) % "r!   c                 6   [         n[        SS9" U5      n[        R                  " SS/5      n[        R                  " S5      R                  [        R                  S9R                  S5      nSnS	n[        R                  " S
S/5      [        R                  " S
S/5      4[        R                  " U/5      [        R                  " S/5      4[        R                  " S/5      [        R                  " S
U-   U-   /5      4X3X6-  -   4X3X6-  -   US-  -   4XDXF-  -   4[        R                  [        R                  4[        R                  [        R                  " [        R                  /5      4/nU H#  u  pU R                  U" X5      U" X5      5        M%     g )NTr=  g      Y@g     @@}   r9  r(  r(  r(  r+  r*  rv  r   r$  r"  r*  )rd  r   r   r8  rS  rL  r6  r  r5  r$  r  )
r  r  r  r=   r:  r   r   
numpy_datar   r$  s
             r   test_ip_allclose_numpy&TestNPFunctions.test_ip_allclose_numpy>  sM   T"6*hhv'yy~$$2::$6>>yI ZZAQF!34ZZSE!23ZZ

AHtO+< =>
"#
"TAX-.$+%&VVRVVVVRZZ)*	

 !FQVA\5;7 !r!   c                    [         n[        SS9" U5      n[        R                  " S5      R	                  [        R
                  S9R                  S5      nSnSn[        R                  " [        R                  S/5      [        R                  " S	[        R                  /5      4[        R                  " [        R                  S/5      [        R                  " S	S/5      4[        R                  " [        R                  [        R                  /5      [        R                  " S	[        R                  /5      4[        R                  " [        R                  [        R                  /5      [        R                  " S	S
/5      4[        R                  " [        R                  * S
/5      [        R                  " [        R                  S
/5      4[        R                  " [        R                  S
/5      [        R                  " [        R                  S
/5      4[        R                  " US-  /5      [        R                  " S
/5      4[        R                  " S	/5      [        R                  " SU-   US-  -   /5      4X3X4-  -   US-  -   4[        R                  " [        R                  S	/5      [        R                  " S
[        R                  /5      4/
nU H#  u  pxU R                  U" Xx5      U" Xx5      5        M%     g )NTr=  r  r9  r  r+  r*  r   r"  r$  r*  rv  )rd  r   r   rS  rL  r6  r  r5  r$  r  r8  r  )	r  r  r  r:  r   r   r  r   r$  s	            r   test_ip_not_allclose_numpy*TestNPFunctions.test_ip_not_allclose_numpyW  s	    T"6*yy~$$2::$6>>yI ZZ$bjj#rvv&?@ZZ$bjj#q&:;ZZ()2::sBFFm+DEZZ()2::sCj+ABZZ"&&#'RVVSM)BCZZ&

BFFC=(ABZZ
#RZZ%67ZZ

AHtax,?+@ AB$+%q01XXrvvsm$bhhRVV}&=>

 !FQVA\5;7 !r!   c                     [         n[        SS9" U5      n " S S[        R                  5      nU" S/5      nU R	                  [        U" XD5      5      [        L 5        g )NTr=  c                       \ rS rSrS rSrg)?TestNPFunctions.test_return_class_is_ndarray_numpy.<locals>.Fooix  c                 L    [         R                  " U0 UD6R                  U 5      $ r   )r   r8  rV  )clsrk   r  s      r   __new__GTestNPFunctions.test_return_class_is_ndarray_numpy.<locals>.Foo.__new__y  s!    xx0055c::r!   r  N)__name__
__module____qualname____firstlineno__r  __static_attributes__r  r!   r   Foor  x  s    ;r!   r  rv  )rd  r   r   ndarrayr=  rr  r  )r  r  r  r  r-   s        r   "test_return_class_is_ndarray_numpy2TestNPFunctions.test_return_class_is_ndarray_numpyr  sO     T"6*	;"** 	; HU1[)T12r!   c           	          [         n[        SS9" U5      n[        R                  " S[        R                  /5      nU R                  U" X3SS9U" X3SS95        g )NTr=  r"  r  )rd  r   r   r8  r  r  )r  r  r  r   s       r   test_equalnan_numpy#TestNPFunctions.test_equalnan_numpy  sM    T"6*HHc266]#5qt4	6r!   c                    [         n[        SS9" U5      n[        R                  " [        R                  S/5      n[        R                  " S[        R                  /5      nU" X45        [        R
                  R                  U[        R                  " [        R                  S/5      5        [        R
                  R                  U[        R                  " S[        R                  /5      5        g )NTr=  rv  r   )rd  r   r   r8  r$  rM  rN  )r  r  r  r   r$  s        r   $test_no_parameter_modification_numpy4TestNPFunctions.test_no_parameter_modification_numpy  s     T"6*HHbffa[!HHa[!a


%%a2661+)>?


%%a1bff+)>?r!   c                    [         n[        SS9" U5      n[        R                  " [        R                  5      R
                  n[        R                  " U/[        R                  S9nU R                  U" XD5      U" XD5      5        g )NTr=  r9  )rd  r   r   r   r  r  r8  r  )r  r  r  r  r-   s        r   test_min_int_numpy"TestNPFunctions.test_min_int_numpy  s^     T"6*((277#''HHgYbgg.uQ{3r!   c                    U R                  5         [        n[        SS9" U5      n[        R                  " SS[        R
                  /5      [        R                  " SS/5      SSSS	[        4S
SSSSS[        4SS
SSSS[        4SSSSSS[        4SSSSSS[        4SSSSSS[        4/nU H,  u  pEpgpn
U R                  X5         U" XEXgU5        S S S 5        M.     g ! , (       d  f       M@  = frA  )	rC  rd  r   r   r5  r  r  r   rB  rC  s              r   test_allclose_exception'TestNPFunctions.test_allclose_exception  s   !T"6* ZZtRVV,-ZZD)*E5L	
 au8 u9 5%A 5%B 5%?%
. :>5A$i#''5aD	2 65 :>55s   C
C-	c                    [         n[        SS9" U5      n[        U R                  XSS9n[        R
                  " SSS5      n[        R                  " SS	5      nUS
-   nU" XEUS.S9  U R                  R                  U5        U" XEUS.S9  U R                  R                  U5        U" XEUS.S9  [        R                  US S& [        R                  USS & U R                  R                  U5        U" XEUS.S9  [        R                  US S& [        R                  * USS & U R                  R                  U5        U" XEUS.S9  [        R                  " SS	5      nUS-   nUS-   nU" XEUS.S9  SnSnSnU" XEUS.S9  Sn[        R
                  " SSS5      n[        R                  " SS5      nU" XEUS.S9  [        R                  " S[        R                  [        R                  [        R                  * SS/5      nUR                  SSSS9n[        R
                  " SSS5      n[        R                  " SS5      nU" XEUS.S9  [        SS5       H  n/ SQnSnU" XEUS.S9  M     [        R                  " / 5      n/ SQnSnU" XEUS.S9  [        R
                  " SSS5      R                  SSS5      n[        R                  " S 5      nUS-
  nU" XEUS.S9  [        R                  n[        R                  " S5      n[        R                  " S[        R                  5      nU" XEUS.S9  [        R                  nS/nS/nU" XEUS.S9  [        R                  " SS	5      nUnUnU" XEUS.S9  SS!/n[        R                  " SS	5      nUnU" XEUS.S9  [        R                  * S"SS#[        R                  /n[        R                  " SS	5      nUS$-  nU" XEUS.S9  [        R
                  " S%SS5      n[        R                  " [        R                  * S"SS#[        R                  /5      nUS$-  nU" XEUS.S9  U R                  R                  S&5      n[        R
                  " S'SS&5      n[        R                  " S&S(S)9nU" XEUS.S9  S* H/  n[        R                  " / SQ5      U-  nSS/nSS/nU" XEUS.S9  M1     SnS/nS/nU" XEUS.S9  [        R
                  " SSS5      n[        R
                  " SSS5      n[        R
                  " SSS+5      n	U" XU5      n
[        R                   R#                  X5        [        R                  " / S,Q5      n[        R                  " / S,Q5      n[        R                  " / S-Q5      nU" XEUS.S9  S/n[        R                  /nU" SXVS.S9  [        R                  " / S.Q5      n[        R                  " / S,Q5      n[        R                  " SS[        R                  S/5      nU" XEUS.5        [        R                  " / S/Q5      n[        R                  " / S0Q5      n[        R                  " [        R                  S[        R                  S[        R                  /5      nU" XEUS.5        [        R                  " / S.Q5      n[        R                  " / S,Q5      n[        R                  " SS[        R                  S/5      nU" XEUS.5        [        R                  " SS
[        R                  S1[        R                  * SS2S[        R                  SS3/5      n[        R                  " / S4Q5      n[        R                  " SS[        R                  SS[        R                  /5      nU" XEUS.5        [        R                  " / S5Q5      n[        R
                  " SSS65      n[        R$                  " US7-  5      nU" XEUS.5        U R                  R'                  SS[        R(                  -  S85      n[        R
                  " SS[        R(                  -  S95      n[        R*                  " U5      n[        R*                  " U5      nU" XEU5      n[        R                   R-                  XS:S;9  U R                  R                  S5      n[        R
                  " S%SS95      n[        R.                  " U5      nU" XEUS.5        U R                  R                  S95      n[        R
                  " S%SS5      n[        R.                  " U5      nU" XEUS.5        g )<NTr=  r6  r  r)  r(  rR  r  r  r  rk  )r  rv  r*  r  r  g      r*  r  r  r  )r+  )r  ?r}  r  rK  gffffff?r$  g333333"r  rh  ri  r  r8  r  r   r  rM  Fr#  r"  r  r5  r,  r  r
  r  )rv  r  rL  r  )rv  r*  gGz@r  )rv  r*        @r  r  )	rv  r  r*  r.  r  r  r  r(  g      @r  r.  r  r  rv  r*  r  r  r(  rN  )g~@g<ԛ@g3@i!N  rx  )r,  r-  r*  )r   )rj  r   r   r  r   r  rS  r  r  r  r$  r8  r  r  r  r  rM  r  sinuniformr  cosr  	ones_like)r  r  r  r  r   rl  rm  factorr$  x0r   exactr  s                r   test_interp_basic!TestNPFunctions.test_interp_basic  s   T"6*++VEJKKAr"YYr1#XAr23Ar23Ar23"1"#Ar232A66'23Ar23IIb!UUAr23Ar23/[[Q#YYr1Ar23HHc266266BFF7C>?IIa#I&[[Q#YYr1Ar23r1ABB267 
 HHRLAr23KK2r"**1a3YYr]"WAr23FFYYq\WWQAr23FFSSAr23IIb!Ar235MYYr1Ar23ffWdCbff-YYr1#XAr23KKR$XXwc378#XAr23HHNN3[[Q$WWSU+Ar23F#f,AQBQB267	  SVAr23KK1a KK1a [[Ar"B1o


&&s/HH\"XXl#XXo&Ar23SffXAR23HH&'XXl#XXq!RVVQ'(Q+,HH89XXo&XXrvvq"&&!RVV45Q+,HH&'XXl#XXq!RVVQ'(Q+,HHabffcBFF7AsArvvq!LMXX()XXq!RVVQ26623Q+,HH89[[B	*VVBHQ+,HHQBEE	62[[AIt,VVBZq	A2


""5D"9 HHNN2[[b$'\\"Q+, HHNN4 [[b"%\\"Q+,r!   c           	      
   UR                   S-  n[        R                  " XR                  R	                  [        UR                   5      USS9[        R                  5        [        R                  " XR                  R	                  [        UR                   5      USS9[        R                  * 5        [        R                  " XR                  R	                  [        UR                   5      USS9[        R                  5        g )Nr,  F)replace)rQ  r   putr  r  r  r  r$  )r  r-   r  s      r   _make_some_values_non_finite,TestNPFunctions._make_some_values_non_finitef  s    FFcM
q((//%-E/BBFFK
q((//%-E/BRVVGL
q((//%-E/BBFFKr!   c           	   #     #    [         R                  " SSSUS-  -   5      v   [         R                  " SSSU-   5      v   [         R                  " SSSUS-  -   5      v   [         R                  " SSSUS-  -   5      v   [         R                  " S	S
SUS-  -   5      v   [         R                  " SSSU-   5      S-  v   [         R                  " SSSUS-  -   5      S-  v   [         R                  " SSSU-   5      S-  v   [         R                  " SSSUS-  -   5      S-  v   [         R                  " SSSUS-  -   5      S[         R                  " [         R                  " SUS-  -   5      [         R                  -  SUS-  -   -  5      -  -   v   [         R                  " SSSU-   5      U R
                  R                  SU-   SU-  S9-   v   [         R                  " SSSU-   5      U R
                  R                  SU-   SU-  S9-   v   [         R                  " SSSU-   5      U R
                  R                  SU-   SU-  S9-   v   [         R                  " SSSU-   5      U R
                  R                  SU-   SU-  S9-   v   [         R                  " SSSU-   5      U R
                  R                  SU-   SU-  S9-   v   [         R                  " SSSU-   5      U R
                  R                  SU-   SU-  S9-   v   U R
                  R                  SU-   5      S-  S-   v   U R
                  R                  SUS-  -   5      S-  S-   v   g 7f)Nrx        @rv  r(  r9  g333333@r*  g      @r7  r  g@g333333@gq=
ףp?g @gQ?r  r&  )rQ  scale      @g      4@g      I@g      i@r  g333333?r}  r-  )r   r  r0  rS  r  r  normalrU  )r  ndatas     r   r  TestNPFunctions.arraysl  s6    kk#sA	M22kk#sAI..kk#sA
N33kk#sA
N33kk#sA
N33kk#sAI.55kk#sA
N3d::kk#sAI.55kk#sA
N3d::kk#sA
N3cBFFIIa%!)m$ruu,EAI>=@ 7@ @ 	@ kk#sAI.U#+ 2A 2/ / 	/ kk#sAI.U#+ 2A 2/ / 	/ kk#sAI.U#+ 2A 2/ / 	/ kk#sAI.U$, 2A 20 0 	0 kk#sAI.U$, 2A 20 0 	0 kk#sAI.U%%- 2A 21 1 	1 hhmmAI&,s22hhmmA	M*S0366s   MMc                    [         n[        SS9" U5      nSn[        R                  " SSSU-   5      n[        R                  " US-  5      nU R                  U5       GHx  nSnU" XdU5      nU" XdU5      n	U R                  XUS	9  U R                  R                  U5        U" XdU5      nU" XdU5      n	U R                  XUS	9  U R                  R                  U5        U" XdU5      nU" XdU5      n	U R                  XUS	9  U R                  R                  U5        U" XdU5      nU" XdU5      n	U R                  XUS	9  U R                  U5        U" XdU5      nU" XdU5      n	U R                  XUS	9  U R                  U5        U" XdU5      nU" XdU5      n	U R                  XUS	9  U R                  U5        U" XdU5      nU" XdU5      n	U R                  XUS	9  GM{     g )
NTr=  i N  r   rK  rv  rx  r  r  )
rj  r   r   r  r0  r  r
  r  r  r<  )
r  r  r  rC  rl  rm  r   r   r  r  s
             r   test_interp_stress_tests(TestNPFunctions.test_interp_stress_tests  s   T"6*[[BE	*VVBHU#ADaR(Hr"C##H4#@
 HHQaR(Hr"C##H4#@HHR aR(Hr"C##H4#@HHR aR(Hr"C##H4#@ --a0aR(Hr"C##H4#@--b1aR(Hr"C##H4#@--b1aR(Hr"C##H4#@O $r!   zNEP 50 interaction issue.c                    [         n[        SS9" U5      nSn[        R                  " SSSU-   5      n[        R                  " US-  5      nU R
                  R                  [        R                  [        R                  * [        R                  /S5      US S& U R
                  R                  U5        [        R                  " US-  5      nU R
                  R                  [        R                  [        R                  * [        R                  /S5      US S& U R
                  R                  U5        US	U-  -   nU R                  U5       H  nU" XU5      n	U" XU5      n
[        R                  R                  XSS
9  U R
                  R                  U5        U R
                  R                  U5        U R
                  R                  U5        [        R                  R                  XSS
9  M     g )NTr=  i  r   rK  rv  rx     r.  r  )rj  r   r   r  r0  r  r  r$  r  r  r2  r  rM  r  )r  r  r  rC  rl  rN  rL  rm  r   r  r  s              r    test_interp_complex_stress_tests0TestNPFunctions.test_interp_complex_stress_tests  st   T"6*[[BE	*vvb3hXX__bffrvvgrvv%>DTc
vvb3hXX__bffrvvgrvv%>DTc
BIU#AaR(Hr"CJJ&&x&EHHQHHR HHR JJ&&x&E $r!   c                 |   [         n[        SS9" U5      nU R                  5         [        R                  " / SQ5      n[        R                  " / 5      n[        R                  " / 5      nU R                  [        5       nU" X4U5        S S S 5        SnU R                  U[        WR                  5      5        Sn[        R                  " / SQ5      n[        R                  " SS/5      nU R                  [        5       nU" X4U5        S S S 5        SnU R                  U[        UR                  5      5        Sn[        R                  " S5      R                  S	S5      n[        R                  " S5      nU R                  5        nU" X4U5        S S S 5        S
nU R                  U[        UR                  5      5        Sn[        R                  " S5      n[        R                  " S5      R                  S	S5      nU R                  5        nU" X4U5        S S S 5        SnU R                  U[        UR                  5      5        Sn[        R                  " S5      n[        R                  " S5      nU R                  5        nU" X4U5        S S S 5        SnU R                  U[        UR                  5      5        Sn[        R                  " S5      S-   R                  [        R                  5      n[        R                  " S5      nU R                  5        nU" X4U5        S S S 5        U R                  U[        UR                  5      5        g ! , (       d  f       GN= f! , (       d  f       GNc= f! , (       d  f       GN= f! , (       d  f       GNy= f! , (       d  f       GN= f! , (       d  f       N= f)NTr=  r  zarray of sample points is emptyrv  r*  z#fp and xp are not of the same size.rN  r  zxp must be 1Dzfp must be 1Dr  z:Cannot cast array data from complex dtype to float64 dtyper.  )rj  r   rC  r   r8  r@  r  rA  r?  rB  rS  r  r  rL  r	  )	r  r  r  r   rl  rm  rs  r  complex_dtype_msgs	            r   test_interp_exceptions&TestNPFunctions.test_interp_exceptions  s   T"6* 	!HHYXXb\XXb\z*a! + 0c3q{{+,XXi XXq!fz*a! + 4c3q{{+,YYq\!!!Q'YYq\##%! & c3q{{+,YYq\YYq\!!!Q'##%! & c3q{{+,YYq\YYq\##%! & 	 	'Q[[)9:iilR''5YYq\##%! & 	'Q[[)9:q +* +* &% &% &% &%sH   ?
M?
M%
M7
N	
N
N-
M"%
M47
N	
N
N*-
N;c                 *   [         n[        SS9" U5      n[        U R                  X5      n[        R
                  " / SQ5      n[        R
                  " [        R                  * SS[        R                  /5      n[        R
                  " SS/5      nXdUS.nU" U5        [        R
                  " [        R                  * S	S
[        R                  /5      n[        R
                  " / SQ5      n[        R
                  " SS/5      nXdUS.nU" U5        g )NTr=  )r   rv  r  rK  r  ?r  r  rk  rv  r  )r   r  rQ  rv  )rj  r   r   r  r   r8  r$  )r  r  r  r  rl  rm  r   r  s           r   "test_interp_non_finite_calibration2TestNPFunctions.test_interp_non_finite_calibration+  s     T"6*++V;XXm$XXwS"&&12HHc3Z "-vXXw1bff-.XX&'HHc3Z "-vr!   c                 0   [         n[        SS9" U5      n[        SS5       H  n[        R                  " U[        R
                  S9n[        R                  " U[        R
                  S9n[        R                  " SSUS-
  U/[        R
                  S9nUS S S2   nU" XdU5      nU" XtU5      n	[        R                  " / SQ[        S9n
U
S S S2   n[        R                  R                  X5        [        R                  R                  X5        M     [        R                  " SSS	5      n[        R                  " SSS	5      nSn[        R                  R                  U" XU5      U5        S
n[        R                  R                  U" XU5      U5        [        R                  " S
5      n[        R                  R                  U" XU5      U5        [        R                  " S
5      n[        R                  R                  U" XU5      U5        [        R                  n[        R                  R                  U" XU5      U5        [        R                  " SSS	5      n[        R                  " SSS	5      n[        R                  " S
5      n[        R                  R                  U" XU5      U5        [        R                  " SSS5      n[        R                  " U5      n[        R                  R                  U" [        R                   XO5      S5        g )NTr=  rv  rK  r9  r  r   r  r(  r  r  r$  )rj  r   r  r   rS  r  r  r8  r  rM  r  r  r  r6  r  r0  r  )r  r  r  rQ  rl  ypincptsdecptsincresdecresinctgtdectgtr   r$  r5  rm  s                   r   test_interp_supplemental_tests.TestNPFunctions.test_interp_supplemental_tests>  s5    T"6*!RLD4ryy1BRYY/BXXr1dQh5RYYGFDbD\F6r*F6r*FXXl%8FDbD\FJJ**6:JJ**6: ! KK1a KK1a 


&&uRA;


&&uRA;ZZ_


&&uRA;ZZ_


&&uRA;VV


&&uRA;KK1a KK1a XXc]


&&uRA;YYq"f%VVBZ


&&uRUUB';SAr!   c                 4   [         n[        SS9" U5      n[        R                  " SSS5      n[        R                  " SSS5      S[        R                  " SSS5      -   S-  -   nSnUSU-   S-  -   n[        R                  R                  U" XSU5      U5        g )NTr=  r   rv  r(  r.  r  )rj  r   r   r  rM  r  )r  r  r  r   r$  r5  y0s          r   &test_interp_supplemental_complex_tests6TestNPFunctions.test_interp_supplemental_complex_testsg  s     T"6*KK1a KK1a AAq!(<$<#DD1r6T/!


&&uRA;r!   c                    [         n[        SS9" U5      n[        R                  [        R                  [        R
                  [        R                  /n[        R                  " US5       Hk  nUu  pVn[        R                  " SUS9nUS-  R                  U5      n	[        R                  " SSSUS9n
U" XU	5      nU" XU	5      nU R                  X5        Mm     g )NTr=  r  rK  r9  r*  )rj  r   r   r  r6  r  r  r  r  rS  rL  r  r
  )r  r  r  dtypescomboxp_dtypefp_dtypex_dtyperl  rm  r   r  r  s                r   -test_interp_float_precision_handled_per_numpy=TestNPFunctions.test_interp_float_precision_handled_per_numpys  s    T"6***bjj"((BHH=<<VQGE*/'H2X.B'!!(+BAq"G4AaR(Hr"C##H2 Hr!   c                     S n[         n[        SS9" U5      nU" 5        HY  nU" U5      nU" U5      n[        U[        R                  5      (       a  U R                  XVU45        MG  U R                  XVU5        M[     g )Nc               3     #    [         R                  " S5      v   [         R                  " S5      v   [         R                  " SS5      v   [         R                  " SS5      v   [         R                  " S5      v   [         R                  " SS5      v   [         R                  " SS5      v   S H;  n [         R                  " / SQS	U -  S
9v   [         R                  " / SQSU -  S
9v   M=     g 7f)Nz
2016-01-01NaTmsnsz2038-01-19T03:14:07"   )r  r   WDhr   rO  rm  usrn  psfsas){   irl  z<datetime64[%s]r9  z<timedelta64[%s])r   r  r  r8  )units    r   r>   *TestNPFunctions.test_isnat.<locals>.values  s     ------&&--t,,--t,,-- 566..--..T**1 hh1%6%=? ?hh1%7$%>@ @1s   C/C1Tr=  )r   r   r  r   r  r
  r  r  s          r   
test_isnatTestNPFunctions.test_isnat  so    	@$ T"6*AayH(C!RZZ((''t<  2 r!   c                 D  ^  S nU 4S jn[         [        4 GH  n[        SS9" U5      n[        T R                  X45      nU" 5        H  nSU0nSUR
                  ;   a&  S [        R                  4 H  nXS'   U" U5        M     OU" U5        [        R                  " S[        R                  S	9nSU0nSUR
                  ;   aK  S US'   U" USU5        [        R                  US'   U" US
U5        [        R                  US'   U" USU5        M  U" USU5        M     GM     g )Nc               3     #    Sv   Sv   Sv   Sv   / SQv   SS/v   Sv   Sv   / SQ/ SQ4v   [         R                  " / 5      v   [         R                  " S5      v   [         R                  " S5      R                  S	S5      v   [         R                  " S5      R                  S	S5      R                  v   S
 n U " S5      v   U " S5      v   U " S5      v   U " S5      v   g7f)a  
To quote from: https://docs.scipy.org/doc/numpy/reference/generated/numpy.asarray.html    # noqa: E501
Input data, in any form that can be converted to an array.
This includes:
* lists
* lists of tuples
* tuples
* tuples of tuples
* tuples of lists
* ndarrays
r.  r  Frv  r  r  r  r  r  c                 N    [        5       nU  H  nUR                  U5        M     U$ r   r
   r<   )r>   r-   r  s      r   	make_listITestNPFunctions.test_asarray.<locals>.input_variations.<locals>.make_list  s#    FAHHQK  r!   )r"  rx  r  r  r  N)r   r8  rS  r  r]  )r  s    r   r  6TestNPFunctions.test_asarray.<locals>.input_variations  s      HIKGOi((O((i((((2,))A,))B-''1--))B-''1-///
 I&&O,,L))/00s   C%C'c                    > U " S0 UD6nU(       a  TR                  X2S   L 5        g TR                  X2S   L5        [        R                  R                  X2S   5        TR                  UR                  US   :H  5        g )Nr-   r:  r  )r=  r   rM  r  r:  )jittedexpect_samer  returnedr  s       r   check_pass_through8TestNPFunctions.test_asarray.<locals>.check_pass_through  sh    ''H3K 78s ;<

**8C[A&/ ABr!   Tr=  r-   kwsr:  rK  r9  F)
r5  r<  r   r   r  r  r   r9  rS  r  )	r  r  r  r  r  r  r   r  rN  s	   `        r   test_asarrayTestNPFunctions.test_asarray  s   #	1P	C ,F&v.ET//?F%'qFOO+#R]]3*,wv 4 6N IIb

3qFOO+&*F7O&udF;&(mmF7O&ueV<&(jjF7O&udF;&udF;) (	 -r!   c                     S nS nS nS nXX4/nU H1  n[        SS9" U5      nU" 5       nU" 5       n	U R                  X5        M3     g )Nc                  .    [         R                  " S5      $ Nr	  r4  r  r!   r   case13TestNPFunctions.test_asarray_literal.<locals>.case1  s    ::m,,r!   c                  2    Sn [         R                  " U 5      $ r  r4  rO  s    r   case23TestNPFunctions.test_asarray_literal.<locals>.case2  s    A::a= r!   c                  2    Sn [         R                  " U 5      $ )Nu+   大处 着眼，小处着手。大大大处r4  r  s    r   case33TestNPFunctions.test_asarray_literal.<locals>.case3  s    =A::a= r!   c                  2    Sn [         R                  " U 5      $ )N r4  r  s    r   case43TestNPFunctions.test_asarray_literal.<locals>.case4  s    A::a= r!   Tr=  )r   r
  )
r  r  r  r  r  funcsr  r  r  r  s
             r   test_asarray_literal$TestNPFunctions.test_asarray_literal  sW    	-	!	!	! u,F&v.ExH'C##H2	 r!   c                    ^ ^ T R                  5         [        SS9" [        5      mUU 4S jnS nS nS nS nU" U" 5       5        U" U" 5       5        U" U" 5       5        U" U" 5       5        g )NTr=  c                    > TR                  [        5       nT" U 5        S S S 5        TR                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nz?asarray support for List is limited to Boolean and Number types)r@  r   rA  r?  rB  )alistrs  r  r  s     r   test_rejectQTestNPFunctions.test_asarray_rejects_List_with_illegal_dtype.<locals>.test_reject  sE    "";/1e 0MM.AKK " 0/r  c                  <    [        5       n U R                  S 5        U $ r   r  )ls    r   make_none_typed_listZTestNPFunctions.test_asarray_rejects_List_with_illegal_dtype.<locals>.make_none_typed_list  s    AHHTNHr!   c                  r    [        5       n [        5       nUR                  S5        U R                  U5        U $ )Nrv  r  )r  r   s     r   make_nested_listVTestNPFunctions.test_asarray_rejects_List_with_illegal_dtype.<locals>.make_nested_list  s+    AAHHQKHHQKHr!   c                  Z    [        5       n [        5       nSUS'   U R                  U5        U $ )Nr-   rv  )r
   r   r<   )r  r  s     r   make_nested_list_with_dict`TestNPFunctions.test_asarray_rejects_List_with_illegal_dtype.<locals>.make_nested_list_with_dict   s)    AAAaDHHQKHr!   c                  N    [        5       n S H  nU R                  U5        M     U $ )N)r-   bcdefr  )r  r  s     r   make_unicode_listWTestNPFunctions.test_asarray_rejects_List_with_illegal_dtype.<locals>.make_unicode_list'  s#    A' (Hr!   )rC  r   r5  )r  r  r  r  r  r  r  s   `     @r   ,test_asarray_rejects_List_with_illegal_dtype<TestNPFunctions.test_asarray_rejects_List_with_illegal_dtype  si    !T"7+	"	
			 	(*+$&'.01%'(r!   c                 v   S n[         n[        SS9" U5      nU" 5        H  u  pEUc  U" U5      nU" U5      nOU" XES9nU" XES9nU R                  Xg5        U R                  [        R
                  " UR                  [        R                  5      UR                  5        M     [        n[        SS9" U5      n[        R                  " / SQ5      nU" U5      nU" U5      nU R                  Xg5        U R                  [        R
                  " UR                  [        R                  5      UR                  5        g )Nc               3     #    [         R                  " / SQ5      S 4v   [         R                  " SS/[         R                  S9[         R                  4v   [         R                  " SS/[         R                  S9[         R                  4v   [         R                  " SS/[         R                  S9[         R                  4v   [         R                  " SS/[         R                  S9[         R
                  4v   g 7f)Nr  r*  r  r9  )r   r8  r  rM  r	  r9  r  r!   r   r  -TestNPFunctions.test_asfarray.<locals>.inputs4  s     ((9%t++((Aq64bjj@@((Aq61277::((Aq612<<??((Aq612==@@s   C:C<Tr=  r9  r  )
r?  r   r
  r=  r   r  r:  inexactrA  r8  )r  r  r  r  r=   rN  r  r  s           r   test_asfarrayTestNPFunctions.test_asfarray2  s    	A T"6*xGCz!#;Cj!#0C*##H2OOBMM#))RZZ@#))L   (T"6*hhy!#;Cj.cii<ciiHr!   c           	        ^ ^^ [         n[        U5      n[        n[        U5      nX4X444 GHY  u  mmUUU 4S jn[        R                  " S5      [        R
                  " S5      [        R                  " SS/SS//5      [        R                  " / 5      [        R                  " / / /5      /n[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  /nS [        R                   " UU5       5       nSSS	S
/ SQS/n	[        R"                  " UU	5       H&  n
U" U
SS9  U" U
SS9  U" U
SS9  U" U
SS9  U" U
SS9  M(     [        R
                  " S5      nS/S/S/4 H$  n
U" XS9  U" U[        R                  " U
5      S9  M&     [        R
                  " S5      nSS/SS/SS/SS/SS/SS/SS/4 H$  n
U" XS9  U" U[        R                  " U
5      S9  M&     U" U[        R                  " SS/[        R                  S9S9  U" [        R
                  " S5      [        R
                  " S5      S9  GM\     g )Nc                 B   > TR                  T" X5      T" X5      5        g r   ro  )r-   rq  nbfuncr  r  s     r   r   *TestNPFunctions.test_repeat.<locals>.check^  s    ''q(:F1<NOr!   rv  r-  r   r*  r  c              3   N   #    U  H  u  p[         R                  " XS 9v   M     g7f)r9  Nr  ).0r-   ts      r   	<genexpr>.TestNPFunctions.test_repeat.<locals>.<genexpr>u  s)      #J$I <?1288A#6$Is   #%r"  Tr.  r8  )rq  r,  r9  rK  )rr  r   rt  r   r  rS  r8  uint32r  uint64r  r  r6  r	  r9  r  r   r)  )r  r  r  array_pyfuncarray_nbfuncr   target_numpy_valuestarget_numpy_typestarget_numpy_inputstarget_non_numpy_inputsr  onetwor  r  s   `            @@r   test_repeatTestNPFunctions.test_repeatR  s?   	O	 $L) )5 ,;=NFFP
 
		$1a&1a&)*"b"# 				



	"#J#,#4#45H5G$I#J
 '# __%8%<>a#a#a#a#a%> ))A,CcA3_c%c288A;/ % ))A,C!fq!fq!fq!fq!fq!fq!fMc%c288A;/ N #rxxAbhh?@"))B-27u=r!   c           	         [         n[        U5      n[        n[        U5      nU R                  5         X4X444 GH  u  pVU R	                  [
        5       nU" [        R                  " S5      S5        S S S 5        U R                  S[        WR                  5      5        U R	                  [        5       nU" [        R                  " S5      S5        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" [        R                  " S5      [        R                  " SS/5      5        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" [        R                  " S5      [        R                  " / SQ5      5        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" [        R                  " S	5      [        R                  " / S
Q5      5        S S S 5        U R                  S[        UR                  5      5        U R	                  [        5       nU" [        R                  " S5      SS/5        S S S 5        U R                  S[        UR                  5      5        S H>  nU R	                  [        5         U" [        R                  " S5      U5        S S S 5        M@     GM     g ! , (       d  f       GN= f! , (       d  f       GNT= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN(= f! , (       d  f       N= f! , (       d  f       M  = f)Nrv  r  z#negative dimensions are not allowedr"  zIThe repeats argument must be an integer or an array-like of integer dtyper*  r5  z(operands could not be broadcast togetherr(  r  )Tr-   r  )rr  r   rt  rC  r@  r  r   r  rA  r?  rB  r   r8  )	r  r  r  r  r  r  r  rs  reps	            r   test_repeat_exception%TestNPFunctions.test_repeat_exception  sz   	O	 $L)! )5 ,;=NF "":.!rwwqz2& /MM?akk*, "";/1rwwqz3' 0MM4AKK " "":.!rwwqz288QG#45 /MM?akk*, "":.!rwwqz288I#67 /MMDakk*, "":.!rwwqz288L#9: /MMDakk*, "";/1rwwqzC:. 0MM4AKK "
 (&&{32771:s+ 43 (W= /. 0/ /. /. /. 0/ 43sT   L4L4L1
4M 4M6 M'M8
L	
L.	1
M 	
M	
M$	'
M5	8
Nc                 Z   [         n[        [         5      n[        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      /[        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      /S4[        R                  " S/5      [        R                  " S	/5      /[        R                  " S
/5      [        R                  " S/5      /S4[        R                  " S	/5      /S-  [        R                  " S
/5      /S-  S4[        R                  " [        R                  " S
SS[        R
                  SS/5      5      /S-  [        R                  " S
SS[        R
                  SS/5      /S-  S4[        R                  " [        R                  " S
SS[        R
                  SS//5      5      /S-  [        R                  " S
SS[        R
                  SS//5      /S-  S4[        R                  " [        R                  " S
SS[        R
                  SS/5      5      /S-  [        R                  " S
SS[        R
                  SS/5      /S-  S4/n[        R                  " S5      [        R                  " S5      R                  S5      4 H  nUR                  US:  US:  /XDS-  /S45        UR                  US:  US:  4XDS-  4S45        UR                  US:  US:  /XDS-  4S45        UR                  US:  US:  4XDS-  /S45        M     U H&  u  pVnU R                  U" XVU5      U" XVU5      5        M(     [        n[        [        5      n	U R                  U" WW5      U	" XV5      5        g )NFFFFTF)FFTr  r  r  g.@TFrv  r*  r   r,  r  r(  r  y      @       @rK  )r(  r*  )r{  r   r   r8  rH  r  rS  r  r<   r
  r}  )
r  r  r  
test_casesr   ry  rz  rv  np_pyfunc_defaultsnp_nbfunc_defaultss
             r   test_selectTestNPFunctions.test_select  s8   	O	 hh,-hh+,hh+,. hhy!hhy!hhy!#$(* hhvhhw!#%88QC="((A3-"@!E hhw 3&1##(=qAhhrxxAq"&&!Q 789:Q>hh1aA./014a9 hhrxx!Q2661a!8 9:;<q@hhAq"&&!Q/012Q6; hhrxxAvrvvq! <=>?!Chh1fbffa34591>/

6 ))B-2!6!6v!>?AAq1u~6{A>?Aq1u~6{A>?Aq1u~6{A>?Aq1u~6{A>? @ /9*H7##IhG$L$-hG$LN /9 0!"45 28Z H 28 H	Jr!   c                    [        [        5      n[        R                  " S5      nU R	                  5         [        R
                  " S5      [        R
                  " / SQ5      /[        R
                  " S5      [        R                  " S5      R                  SS5      /S[        S	4[        R
                  " S5      [        R
                  " S
5      /[        R
                  " S/5      [        R
                  " S/5      /S[        S4[        R
                  " S/5      [        R
                  " S
/5      /[        R
                  " S//5      [        R
                  " S//5      /S[        S4[        R
                  " S5      [        R
                  " S
5      /[        R
                  " S5      [        R
                  " S5      /S[        S	4[        R                  " [        R
                  " SSS[        R                  SS/5      5      [        R
                  " SSS[        R                  SS/5      S[        S4S/S/S/[        S4US:  R                  [        5      US:  R                  [        5      /X"S-  /S[        S4US:  US:  US:  US:  /X"S-  U/S[        S4S/S-  [        R
                  " S/5      /S-  S[        S4[        R
                  " S
/5      /S-  S/S-  S[        S44
 HO  u  p4pVnU R                  U5       nU" X4U5        S S S 5        U R                  U[        WR                   5      5        MQ     g ! , (       d  f       N8= f)NrK  Tr  rv  r  r  r  r   z/condlist arrays must be of at least dimension 1Fr*  zHcondlist and choicelist elements must have the same number of dimensionsr(  r  z"condlist must be a List or a Tuplezdefault must be a scalarz%condlist arrays must contain booleansr  r  rN  z7list of cases must be same length as list of conditionsro  r,  z items of condlist must be arraysrg  z"items of choicelist must be arrays)r   r{  r   rS  rC  r8  r  r   rH  r  rL  r  r  r@  rA  r?  rB  )	r  r  r   ry  rz  rv  expected_errorexpected_textrs  s	            r   test_select_exception%TestNPFunctions.test_select_exception  s   O	IIbM! hhtnbhh';<=hhqk299R=00A67KM hhtnbhhuo.1#!0N 9: hhv% 12hhuorxx!/K)*
 hhtnbhhuo.!bhhqk0JAKM XXbhh1aA678XXq!Q1-.;13 VaS1#{') 1unnS!AE>>##67!!VaAC !eQUAE1q5)A!tQ<JFH Z#!4a/1 hhw 3&a13Y.M
HH'=^ "">2a(8 3MM-Q[[)9:c.M
^ 32s   
M
M	c           	      
  ^  U 4S jnU" [         5        U" [        5        U" [        5        U" [        5        [        n[        [        5      nS He  nS H\  nU" XE5      nU" XE5      n[        (       d  [        R                  " 5       S;   a  T R                  UUSSS9  MK  T R                  XgSSS9  M^     Mg     S HO  nT R                  [        5       nU" US	5        S S S 5        T R                  S
[        WR                  5      5        MQ     S HO  nT R                  [        5       nU" SU5        S S S 5        T R                  S[        WR                  5      5        MQ     g ! , (       d  f       N= f! , (       d  f       NI= f)Nc                 <  > U n[        U 5      nS H#  nU" U5      nU" U5      nTR                  XESS9  M%     S HN  nTR                  [        5       nU" S5        S S S 5        TR	                  S[        WR                  5      5        MP     g ! , (       d  f       N8= f)Nr   rv  r(  r  r  )r  r-   r7  r.  r7  M must be an integer)r   r
  r@  r   rA  r?  rB  )r  r  r  r   r  r  rE  r  s          r   check_window4TestNPFunctions.test_windowing.<locals>.check_window<  s    IT
I"$Q<l''H'E #
 $&&{3vcN 44c&:J:J6KL $33s   	B
B	r  )r$  rA  g      ,@)ppc64leaarch64r  r*  r  r  r"  r  )r-   r.  r(  z beta must be an integer or float)r  r  r  r  r  r   r   platformmachiner
  r@  r   rA  r?  rB  )	r  r  r  r  r   r  r  r  rE  s	   `        r   test_windowingTestNPFunctions.test_windowing;  sQ   	M 	[![!Z Z  	O	A($Q-(9 0 0 26L L++H,/hQ , H ++H12 , 4 )   A"";/6!S! 0MM0#f6F6F2GH  
 D"";/6!T" 0MM<f../1 	 0/
 0/s   
E#'
E4#
E1	4
F	c                    [         n[        SS9" U5      n[        R                  " / SQ/ SQ/5      [        R                  " / SQ/ SQ/5      4[        R                  " / SQ/ SQ/5      S4[        R                  " / SQ[        R                  S9[        R                  " / SQ[        R
                  S94S[        R                  " SS	/5      [        R                  " / SQ5      4[        R                  " / SQ5      [        R                  " / SQ/ SQ/5      4[        R                  " / SQ/ SQ/5      [        R                  " / SQ5      4[        R                  " S
5      R                  SS	S5      [        R                  " S5      R                  S	S	5      4/nU H&  u  pEU" XE5      nU" XE5      nU R                  Xg5        M(     g )NTr=  r  r  rw  r  r9  )r  r  rv  r*  r  rN  r  r  )	r  r   r   r8  r  r6  rS  r  r
  r  r  r  pairsr   r$  r  r  s           r   
test_crossTestNPFunctions.test_crossj  se   T"6* )Y/0)Y/0 )Y/0  "((3"**5
 !Q # #)Y/0 )Y/0# 		"%%aA.		!$$Q*K)
V DAa|H+C##H2 r!   c                 <   [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" [
        R                  " S5      [
        R                  " S5      5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [
        R                  " S5      [
        R                  " S5      5        S S S 5        U R                  S[        UR                  5      5        U R                  S	[        UR                  5      5        U R                  [        5       nU" [
        R                  " S
5      R                  S5      [
        R                  " S5      S S S2   R                  S5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [
        R                  " S
5      R                  S5      [
        R                  " S
5      S S S2   R                  S5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        / SQ5      [        / SQ5      5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN`= f! , (       d  f       GN= f! , (       d  f       GNS= f! , (       d  f       N= f! , (       d  f       N{= f)NTr=  r  r  z)Incompatible dimensions for cross productr  r  z Dimensions for both inputs is 2.z+`cross2d(a, b)` from `numba.np.extensions`.r  r*  r  rN  r  r  )r  r*  zDimensions for both inputs is 2r  r  Inputs must be array-like.)r  r   rC  r@  r  r   rS  rA  r?  rB  r8  r  r   setrD  s       r   test_cross_exceptions%TestNPFunctions.test_cross_exceptions  sK   T"6*! z*f		!		! +
 	7  !	
 z*f   +
 	.  !	

 	9  !	
 z*f		!$$V,		!TrT"**62 +
 	7  !	
 z*f		!$$V,		!TrT"**62 +
 	-  !	
 {+vII ,
 	(  !	
m +* +*  +* +* ,+s=   2K/2KAK* AK<8 L
K
K'*
K9<
L

Lc                 *   [         n[        [        5      n[        R                  " SS/SS//5      [        R                  " SS/SS//5      4[        R                  " SS/SS//5      S4[        R                  " SS/[        R
                  S9[        R                  " SS/[        R                  S94S[        R                  " SS/5      [        R                  " SS/SS//5      4[        R                  " SS/SS//5      [        R                  " SS/5      4[        R                  " S5      R                  S	S
S5      [        R                  " S	5      R                  S
S5      4/nU H&  u  pEU" XE5      nU" XE5      nU R                  Xg5        M(     g )Nrv  r*  r  r(  r  r9  )r  rw  r  rN  r  )
r  r   r  r   r8  r  r6  rS  r  r
  r  s           r   test_cross2dTestNPFunctions.test_cross2d  su   Z  1a&1a&)*1a&1a&)* 1a&1a&)*  !Qrxx0!Qrzz2
 !Q 1a&1a&)* 1a&1a&)*!Q  		"%%aA.		!$$Q*A$
L DAa|H+C##H2 r!   c                    [        [        5      nU R                  5         U R                  [        5       nU" [
        R                  " S5      [
        R                  " S5      5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [
        R                  " S5      R                  S5      [
        R                  " S5      S S S2   R                  S5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        SS/5      [        S	S
/5      5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN/= f! , (       d  f       N= f! , (       d  f       NW= f)Nr  r  z,Incompatible dimensions for 2D cross productrN  r  r  rv  r*  r  r(  r  )r   r  rC  r@  r  r   r8  rA  r?  rB  rS  r  r   r  r  s      r   test_cross2d_exceptions'TestNPFunctions.test_cross2d_exceptions  sP   Z ! z*f## +
 	:  !	
 z*f		!$$V,		!TrT"**62 +
 	:  !	
 {+vQFQF ,
 	(  !	
7 +* +* ,+s$   2F)AF! F2
F!
F/2
G c                     S nS n[         n[        SS9" U5      nU" 5        H$  nU" U5      nU" U5      nU R                  Xg5        M&     U" 5        H&  u  pXU" XX5      nU" XX5      nU R                  Xg5        M(     g )Nc               3     #    [         R                  " / 5      v   [         R                  " S5      v   [         R                  " S5      v   [         R                  " / SQ5      v   [         R                  " / SQ5      v   [         R                  " SSS[         R                  S/5      v   [         R                  " / SQ5      v   g 7f)	Nr(  rv  r  r  r$  r"  rx  )0Helloworld)r   r8  r  r  r  r!   r   r  /TestNPFunctions.test_trim_zeros.<locals>.arrays3  s{     ((2,((1+((1+((9%%((<((((BB344((233r  c               3     #    [         R                  " / SQ5      S4v   [         R                  " / SQ5      S4v   [         R                  " [         R                  SSSS/5      S4v   [         R                  " / S	Q5      S
4v   [        S:  a8  [         R                  " / SQ5      S4v   [         R                  " / SQ5      S4v   [         R                  " / SQ5      S
4v   g 7f)N)r   rv  r*  r   r   FBr8  Br$  r  r  r.   )r   r   rv  r*  r(  r  r  )r   rv  r*  r   abf)r   r  r   r  ) r  r  )r   r8  r  r   r  r!   r   explicit_trim6TestNPFunctions.test_trim_zeros.<locals>.explicit_trim<  s     ((?+T11((9%s**((BFFBS"56;;((?+S00v%hh|,e33hhy)3..((+,c11s   C!C#Tr=  )r  r   r
  )	r  r  r  r  r  r=   r  r  r  s	            r   test_trim_zerosTestNPFunctions.test_trim_zeros1  s    	4
	2 T"6*8Cc{H*C##H2 
 'ICc(H"C##H2 )r!   c                    [         R                  " / SQ5      nUR                  [        5      nUR                  [        5      nXU/n[         R
                  SS nU H"  n[        U5      nU R                  XvU   5        M$     [         R
                  S S nU H!  n[        USS9nU R                  XvU   5        M#     [         R
                  SS  nU H!  n[        USS9nU R                  XvU   5        M#     U HW  n[         R                  " XR                  S9n[        USS9n	[        U	5      S	:X  d   e[        US
S9n
[        U
5      S	:X  a  MW   e   [         R                  " S	5      n[        U5      nU R                  Xg5        [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      4 H5  n[         R
                  SS n[        U5      nU R                  XvU   5        M7     [         R                  " / SQ5      n[        U5      nU R                  Xg5        [        UR                  5       5      n[        U[        5      (       d   eg )N)r   r   rv  r   r*  r  r  r   r*  r  r.   )r  rh  r9  r  r   r  )r   l            r   )r   l            r   )r   l            r   rv  )Nrv  N)r   r8  rL  r  r  s_r  r
  
zeros_liker:  r7  r  r  r  r  )r  r-   r.   r  r>   slcr=   res_arrres1res2s              r   test_trim_zeros_numpy%TestNPFunctions.test_trim_zeros_numpyU  s   HH-.HHUOHHW eeAbkC$C##CS2 
 eeCRjC#.C##CS2 
 eeABiC#.C##CS2 
 D--JJ7C 3/Dt9>!> 3/Dt9>!>  hhqkC ) HH]+RXXm-DHH]+-C%%!*C$C##CS2	- hh'C ) AHHJ'#t$$$$r!   c                    U R                  5         [        SS9" [        5      nU R                  [        5       nU" [
        R                  " / SQ/ SQ/5      5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" S5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" 1 Sk5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [
        R                  " / S	Q5      S
5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN/= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nh= f)NTr=  r  r  zarray must be 1Dr  z#The first argument must be an array>   r   rv  r*  r8  rv  z$The second argument must be a string)
rC  r   r  r@  r   r   r8  rA  r?  rB  r  s      r   test_trim_zeros_exceptions*TestNPFunctions.test_trim_zeros_exceptions  sG   !T"=1{+v"((Iy123 ,  !	

 {+v!H ,1  !	

 {+v) ,1  !	

 {+v"((9%q) ,2  !	
/ ,+ ,+ ,+ ,+s/   #F	F)F'6 F8
F
F$'
F58
Gc           	         [         n[        SS9" U5      n[        R                  " / SQ5      [        R                  " / SQ5      4[        R                  " / SQ/ SQ/5      [        R                  " / SQ5      4[        R                  " SS5      R                  SSS	5      [        R                  " / S
Q5      4[        R                  " SS5      R                  SS	5      [        R                  " SS5      R                  SS	S5      4[        R                  " / SQ5      [        R                  " / SQ5      4/nU H&  u  pEU" XE5      nU" XE5      nU R                  Xg5        M(     g )NTr=  r  r,  )r*  r(  rN  r   rM  r*  r(  )rv  rM     rK  )FTr  )r  r   r   r8  rS  r  r
  )r  r  r  r  r-   r.   r  r  s           r   test_union1dTestNPFunctions.test_union1d  s   T"6* ## )Y/0# 		!R ((1Q/% 		!R ((1-		!R ((1Q/ )*#-
8 DAa{H*C##H2 r!   c                 $   [        SS9" [        5      nU R                  5         U R                  [        5       nU" S[
        R                  " SS/5      5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [
        R                  " SS/5      S5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [
        R                  " SS	/5      [
        R                  " S
S/5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [
        R                  " SS/5      [
        R                  " SS/5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [
        R                  " SS/5      [
        R                  " SS/5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [
        R                  " SS/5      [
        R                  " SS/5      5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN= f! , (       d  f       GNs= f! , (       d  f       GN9= f! , (       d  f       GN= f! , (       d  f       GNm= f! , (       d  f       GN= f! , (       d  f       N= f)NTr=  r  rv  r*  z.The arguments to np.union1d must be array-likeWorldr  r  r-   r.   z/For Unicode arrays, arrays must have same dtyper  r  r  barr7  r.  )
r   r  rC  r@  r   r   r8  rA  r?  rB  r  s      r   test_union1d_exceptions'TestNPFunctions.test_union1d_exceptions  s   T":.! {+v'288QqE?+ ,<  !	
 {+v"((Aa5/7+ ,<  !	
 {+v'7# ,<  !	
 {+v"((GW-.#s0DE ,=  !	
 {+v"((C:&%(@A ,=  !	
 {+v"((C:&!Q(89 ,=  !	
 {+v"((C:&#s(<= ,=  !	
Q ,+ ,+ ,+ ,+ ,+ ,+ ,+sS    L L'=
L9	6M6M96M/16N
L$'
L69
M
M
M,/
M>
Nc                 0   [         n[        SS9" U5      nU R                  5         [        R                  " / SQ5      [        R
                  4[        R                  " / SQ5      4/ SQ4[        R                  " SS/SS//5      [        R
                  4S	[        R                  4[        R                  " SS/[        R                  S
94[        R                  " S5      R                  SSS5      4/nU H  nU" U6 nU" U6 nU R                  XV5        M      g )NTr=  r  r  rv  r*  r  r  )r  r  r9  r  rN  )
r  r   rC  r   r8  r  r  rS  r  r
  )r  r  r  r  pairr  r  s          r   test_asarray_chkfinite&TestNPFunctions.test_asarray_chkfinite  s   %T"6*!
 #

 #
 
 1a&1a&)*

 ! !Qrxx0
 		"%%aA.; 
D Dt}H,C##H2 r!   c           	         [        SS9" [        5      nU R                  5         U R                  [        5       nU" S5        S S S 5        SnU R                  U[        WR                  5      5        U R                  [        5       nU" [        R                  " SS[        R                  S/5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " SS[        R                  S/5      5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " / S	Q5      S
5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN{= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       Ni= f)NTr=  r*  z7The argument to np.asarray_chkfinite must be array-liker  r(  z#array must not contain infs or NaNsrv  r  r  z!dtype must be a valid Numpy dtype)r   r  rC  r@  r   rA  r?  rB  r  r   r8  r  r$  )r  r  rs  r  s       r   !test_asarray_chkfinite_exceptions1TestNPFunctions.test_asarray_chkfinite_exceptions0  sX   T"#78! {+q!H ,Gc3q{{+, z*a"((Aq"&&!,-. +;S=MN z*a"((Aq"&&!,-. +;S=MN {+q"((<()4 ,93q{{;KL% ,+ +*
 +*
 ,+s/   	F6/G7/G( G+6
G
G
G(+
G9c           
      L  ^ [         n[        U5      n[        n[        U5      n[        n[        U5      n[        n[        U5      nS n	U	" 5        H!  n
U R                  U" U
5      U" U
5      5        M#     [        R                  " / SQ5      n[        R                  " US5      mU4S jnU R                  U" TSSS9U" TSSS95        U" 5        H  u  pU R                  U" XS9U" XS95        M!     U4S jnU" 5        H"  u  pnU R                  U" XUS	9U" XUS	95        M$     g )
Nc               3     #    [         R                  " SSS[         R                  -  -   /5      v   [         R                  " S[         R                  SS9n U SS === [         R                  -  sss& U v   [         R                  " S5      R                  S5      v   [         R                  " S	S
S9R                  S5      v   [         R                  " SS
S9R                  S5      v   g 7f)Nrv  r*  r   r(  r   r  rb  )r  r     rK  )step   r,  )r   r8  r  r  rS  r  )phases    r   inputs12TestNPFunctions.test_unwrap_basic.<locals>.inputs1Z  s     ((Aq1ruu9}-..KK255a0E!"IIK))B-''..))Cb)11%88))Cb)11'::s   C'C))r   K         rJ  i     c               3      >#    [         R                  " SS/5      S4v   [         R                  " / SQ5      S4v   [         R                  " / SQ5      S4v   [         R                  " / SQ5      S4v   T S4v   g 7f)	Nrv  i     )r   r4  r5  r6  rJ  )r   rv  r*  r  r   r  )r*  r  r  r(  r*  r  r  r(  r7  r  wrap_unevens   r   inputs133TestNPFunctions.test_unwrap_basic.<locals>.inputs13j  sh     ((Aw<(#--((12C77((+,a//((34a77s""s   A8A;r  )r;   r  r  c               3      >#    T SS4v   g 7f)Nr7     r  r:  s   r   	inputs1234TestNPFunctions.test_unwrap_basic.<locals>.inputs123z  s     sC''s   	r  )	r  r   r  r  r  r
  r   r8  mod)r  r  r  rs  cfunc1pyfunc13cfunc13	pyfunc123cfunc123r2  r  
uneven_seqr<  r  r@  r  r;  s                   @r   test_unwrap_basic!TestNPFunctions.test_unwrap_basicI  s    Vgx.		?	; A##GAJq	:  XX9:
ffZ-	# 	{C H %k3 G	I "IA##HQ$>$+A$=? $
	( #,+Aw##Ia6=%?$,Q5<%>? #.r!   c                    [        [        5      nU R                  5         U R                  [        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R                  " SS/5      S5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " SS/5      SSS9  S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " SS/5      SSS	9  S S S 5        U R                  S
[        UR                  5      5        U R                  [        5       nU" [        R                  " SS/5      SSS	9  S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN= f! , (       d  f       GNj= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N{= f)Nr  z#The argument "p" must be array-likerv  r*  z'The argument "discont" must be a scalarr  r  z&The argument "period" must be a scalarr:   z&The argument "axis" must be an integerz*Value for argument "axis" is not supported)r   r  rC  r@  r   rA  r?  rB  r   r8  r  )r  r  rs  s      r   test_unwrap_exception%TestNPFunctions.test_unwrap_exception  s   V!{+q%L ,;!++&	( {+q"((Aq6"E* ,?!++&	( {+q"((Aq6"Ae4 ,>!++&	( {+q"((Aq6"AE2 ,>!++&	( z*a"((Aq6"AA. +B!++&	(- ,+
 ,+
 ,+
 ,+
 +*s;   	G1  H"HH'$H81
H 
H
H$'
H58
Ic                 6   [         n[        SS9" U5      nS nU" 5        Hv  n[        UR                  * UR                  5       HN  n[        UR                  * UR                  5       H&  nU" XEU5      nU" XEU5      nU R	                  Xx5        M(     MP     Mx     g )NTr=  c               3      #    [         R                  " S5      v   [         R                  " S5      R                  SS5      v   [         R                  " S5      R                  SSS5      v   g 7f)NrK  r*  r(  r  r  r  r  r  r!   r   rt  9TestNPFunctions.test_swapaxes_basic.<locals>.a_variations  sK     ))B-))B-''1--))B-''1a00s   A+A-)r  r   r  ndimr
  )	r  r  r  rt  r-   r  r  r  r  s	            r   test_swapaxes_basic#TestNPFunctions.test_swapaxes_basic  s    T"6*	1
 AQVVGQVV,0B%aR0Hr*C++H: 1 -  r!   c                    [         n[        SS9" U5      nU R                  5         U R                  [        5       nU" SSS5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R                  " S5      SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " S5      SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " S5      S	S5        S S S 5        U R                  S
[        UR                  5      5        U R                  [        5       nU" [        R                  " S5      R                  SS5      SS5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN= f! , (       d  f       GNz= f! , (       d  f       GN+= f! , (       d  f       N= f! , (       d  f       N{= f)NTr=  r  r   z'The first argument "a" must be an arrayr  z.The second argument "axis1" must be an integerz-The third argument "axis2" must be an integerrv  z)np.swapaxes: Argument axis1 out of boundsr  r*  r  z)np.swapaxes: Argument axis2 out of bounds)r  r   rC  r@  r   rA  r?  rB  r   rS  r  r  rD  s       r   test_swapaxes_exception'TestNPFunctions.test_swapaxes_exception  s   T"6* 	!{+v%A , 	?&**+	- {+v"))A,q) , 	F&**+	- {+v"))A,5) , 	E&**+	- z*f"))A,1% + 	A&**+	- z*f"))A,&&q!,a4 + 	A&**+	-7 ,+ ,+ ,+ +* +*s;   HH)H,
H>+/I
H
H),
H;>
I
Ic                    [         R                  " S5      R                  S5      n[        S 5       n[         R                  " SS/[         R
                  S9nU R                  U" X5      UR                  X5      5        S n[        SUR                  5       HF  nU" U5      n[         R                  " XS	9nU R                  U" X5      UR                  X5      5        MH     g )
Nr  )r  rv  r  r*  c                 ,    [         R                  " XS S9$ r9   r   take_along_axis)r-   r  s     r   	axis_none7TestNPFunctions.test_take_along_axis.<locals>.axis_none  s    %%a66r!   rv  r*  r9  c                 &   ^  [         U 4S j5       nU$ )Nc                 2   > [         R                  " XT5      $ r   rY  r-   r  r;   s     r   impl?TestNPFunctions.test_take_along_axis.<locals>.gen.<locals>.impl      ))!55r!   r   r;   r`  s   ` r   gen1TestNPFunctions.test_take_along_axis.<locals>.gen      6 6Kr!   r  r:   )r   rS  r  r   r8  r  r
  r  r  rQ  r  )r  r-   r[  r   re  r  jfuncais           r   test_take_along_axis$TestNPFunctions.test_take_along_axis  s    IIbM!!,/ 
	7 
	7 ((Aq63	! 5 ) 1 1! =	?	 r166"AFEA&B##E!L%--2FG #r!   c                 *   [         R                  " S5      n[         R                  " S[         R                  S9nS nS HQ  nU" U5      nUR                  X5      nU" X5      nU R	                  Xg5        U R                  UR                  S5        MS     g )N)r  r  rv  )rv  r*  r(  r9  c                 &   ^  [         U 4S j5       nU$ )Nc                 2   > [         R                  " XT5      $ r   rY  r_  s     r   r`  LTestNPFunctions.test_take_along_axis_broadcasting.<locals>.gen.<locals>.impl  rb  r!   rc  rd  s   ` r   re  >TestNPFunctions.test_take_along_axis_broadcasting.<locals>.gen  rg  r!   )rv  r  )r  r*  r(  )r   r  intpr  r
  r  r  )r  r=   ri  re  r  r   r  actuals           r   !test_take_along_axis_broadcasting1TestNPFunctions.test_take_along_axis_broadcasting  sy    
 ggi WWYbgg.	 AFE}}S-H3^F##H5V\\95 r!   c           	      	   [         R                  " S5      R                  SS5      n[         R                  " SS/[         R                  S9n[         R
                  " S[         R                  S9nS nU R                  [        5       nU" S	5      " X5        S S S 5        U R                  S
[        WR                  5      5        U R                  [        5       nU" S5      " X5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S5      " X5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S 5      " SU5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S 5      " US5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S 5      " U[         R                  " SS/5      5        S S S 5        U R                  S[        UR                  5      5        [        S 5       nU R                  [        5       nU" XS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S5      " U[         R                  " SS/[         R                  S95        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S 5      " X5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" S5      " U[         R
                  " S[         R                  S95        S S S 5        U R                  S[        UR                  5      5        U R                  5         g ! , (       d  f       GN= f! , (       d  f       GNE= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN0= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNH= f! , (       d  f       N= f)Nr  r*  r  r   rv  r9  r  c                 &   ^  [         U 4S j5       nU$ )Nc                 2   > [         R                  " XT5      $ r   rY  r_  s     r   r`  JTestNPFunctions.test_take_along_axis_exceptions.<locals>.gen.<locals>.impl  rb  r!   rc  rd  s   ` r   re  <TestNPFunctions.test_take_along_axis_exceptions.<locals>.gen
  rg  r!   r-   zaxis must be an integerr  zaxis is out of boundsr  z"arr" must be an arrayr(  z"indices" must be an arrayr$  r"  z#indices array must contain integersc                 0    [         R                  " XU5      $ r   rY  r_  s      r   not_literal_axisITestNPFunctions.test_take_along_axis_exceptions.<locals>.not_literal_axis+  s    %%aD11r!   zaxis must be a literal valuez'must have the same number of dimensionsr  zdimensions don't match)r   rS  r  r8  r  r  r@  r   rA  r?  rB  r   r  rC  )r  arr2dindices_noner   re  rE  r{  s          r   test_take_along_axis_exceptions/TestNPFunctions.test_take_along_axis_exceptions  s^   		!$$Q*xxAbii8''&		2	 {+vHU$ ,/V5E5E1FG{+vGE# ,-s63C3C/DE{+vF5" ,-s63C3C/DE{+vIb,' ,.F4D4D0EF{+vIeQ ,2C8H8H4IJ{+vIeRXXsCj12 ,1  !	

 
	2 
	2 {+vUQ/ ,4c&:J:J6KL{+vF5"((Aq6;< ,?&**+	- {+vIe# ,?&**+	- z*fF5"''&		:; +.F4D4D0EF!e ,+ ,+ ,+ ,+ ,+ ,+ ,+ ,+ ,+
 +*sx   PP%)P7:Q	Q&Q-
Q?3RR#$1R5
P"%
P47
Q	
Q
Q*-
Q<?
R
R #
R25
Sc                 4   [         R                  SSS[        [         R                  * [         R                  5      [        [         R                  [         R                  5      [         R                  " S/[
        S9[         R                  " [        [         R                  * [         R                  5      [        S[         R                  5      [        [         R                  S5      [        [         R                  [         R                  * 5      /5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ/ SQ/5      [         R                  " S[         R                  S	/5      [         R                  " S[         R                  S	/[         R                  S
S//5      [         R                  " [         R                  * [         R                  [         R                  /5      [         R                  " [         R                  * [         R                  [         R                  /[         R                  S9/nSS/n[        n[        [        5      n[        X5       H"  u  pVU" XVS9nU" XVS9nU R                  Xx5        M$     g )Nrv  r7  r  r9  )r  r"  皙?r  )r  r  r}  r  r  r  r}  r$  rK  )r  )r   r  r  r$  r8  r  r  r  r   r   r
  )	r  r>   r  r  r  valuer  r  r  s	            r   test_nan_to_numTestNPFunctions.test_nan_to_numD  s    FFRVVGRVV$BFFBFF#HHaS$HHgrvvgrvv.2660Bbffa('"&&266'*BD EHH_%HHYHHo78HHc2663'(HHsBFFC(2663*<=>HHrvvgrvvrvv./HHrvvgrvvrvv.bjjA!
$ RyZ !&/JEe-H'C##H2 0r!   c                 f   [        [        5      n[        R                  " SS[        R                  /5      nSnU" USUS9  U R                  US   U5        [        R                  " SS[        [        R                  [        R                  5      /5      nU" USUS9  U R                  US   S5        g )Nr  r  r"  Fr  r  r  )r   r  r   r8  r  r
  r  )r  r  r   r  	x_complexs        r   test_nan_to_num_copy_false*TestNPFunctions.test_nan_to_num_copy_falsec  s    Z HHc3'(ae*"x0HHc3(?@A	ie2	"x8r!   c                     [        [        5      nU R                  5        nU" S5        S S S 5        U R                  S[	        WR
                  5      5        g ! , (       d  f       N4= f)Ninvalid_inputz4The first argument must be a scalar or an array-like)r   r  r  rA  r?  rB  r  s      r    test_nan_to_num_invalid_argument0TestNPFunctions.test_nan_to_num_invalid_argumentp  sM    Z ##%/" &L&**+	- &%s   	A
A%c                     [         n[        U5      n[        n[        U5      nS nU" 5        HA  u  pgU R                  U" U5      U" U5      5        U R                  U" Xg5      U" Xg5      5        MC     g )Nc               3     #    [         R                  " SS/5      S4v   [         R                  " SS/SS//5      S4v   [         R                  " S5      R                  S5      S4v   SS/S4v   [         R                  " / 5      S4v   g 7f)Nrv  r*  r  r  r  r  r.  r  r  r!   r   r  3TestNPFunctions.test_diagflat_basic.<locals>.inputs~  sy     ((Aa5/1$$((QqE1Q%=)2--))A,&&w/22a&!)O((2,/!s   B	B)r  r   r  r
  )r  rs  rC  rt  rO  r  r^   r   s           r   test_diagflat_basic#TestNPFunctions.test_diagflat_basicx  sc    gg	" HDA##GAJq	:##GAM6!<@ r!   c                     [         n[        U5      nU R                  5         U R                  [        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nr  #The argument "v" must be array-like)r  r   rC  r@  r   rA  r?  rB  rD  s       r   test_diagflat1_exception(TestNPFunctions.test_diagflat1_exception  s^    V!{+v%L ,;&**+	- ,+s   	A..
A<c                 |   [         n[        U5      nU R                  5         U R                  [        5       nU" SS5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SS/S5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS/S5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NV= f)Nr  r*  r  rv  z#The argument "k" must be an integerr  )r  r   rC  r@  r   rA  r?  rB  rD  s       r   test_diagflat2_exception(TestNPFunctions.test_diagflat2_exception  s    V!{+v%O ,;&**+	- {+v1a&%  ,;&**+	- {+v1a&# ,;&**+	- ,+
 ,+
 ,+s#   
DDD-
D
D*-
D;c               #     #    [         R                  " [        R                  5      [         R                  " [        R                  5      4v   S/[         R                  " [        R                  5      4v   [         R                  " [        R                  5      S/4v   S/S/4v   S/S/4v   SS/S/4v   / SQSS/4v   / SQ/ SQ4v   SS/SS/4v   / SQ/ SQ4v   / SQSS/4v   / SQ/ S	Q4v   / SQ/ S
Q4v   / SQ/ SQ4v   g 7f)Nrv  r*  r  r*  r*  r  r  r*  r  r  r   r  r  r  )rN  r(  r  )rv  r  r*  r  r/  r  r  r!   r   _setxor_arraysTestNPFunctions._setxor_arrays  s     u}}-u}}-/ 	/c4??5==111ooemm,qc11cA3hcA3h!fqck!Q""!fq!fn""QF"" O++""...s   DD	c                 ~   ^ ^^ [         m[        T5      mUUU 4S jnT R                  5        H  u  p#U" X#5        M     g )Nc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" X5      nT" X5      nTR                  X#SU  SU 3S9  g Nzar1=z, ar2=rZ  r  r  r
   r
  ar1ar2r  r  r  r  r  s       r   r   .TestNPFunctions.test_setxor1d_2.<locals>.check  c    #t$$3i#t$$3i *HC%C##HcU&7N#Or!   )r  r   r  r  r   r-   r.   r  r  s   `   @@r   test_setxor1d_2TestNPFunctions.test_setxor1d_2  s5    !	O		P '')DA!K *r!   c                 L  ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        Hr  u  p#U" X#5        [        [        R
                  " U5      5      [        U5      :X  d  M;  [        [        R
                  " U5      5      [        U5      :X  d  Mi  U" X#S5        Mt     g )Nc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XU5      nT" XU5      nTR                  X4SU  SU 3S9  g r  r  r  r  r6   r  r  r  r  r  s        r   r   .TestNPFunctions.test_setxor1d_3.<locals>.check  g    #t$$3i#t$$3i =9HCm4C##HcU&7N#Or!   Tro  )r  r   r  r7  r   r  r  s   `   @@r   test_setxor1d_3TestNPFunctions.test_setxor1d_3  sv    !	O		P 	P '')DA!K299Q< CF*s299Q</@CF/JaD! *r!   c                    [         n[        U5      n[        R                  " S/5      n[        R                  " S/5      nU R	                  5         U R                  [        5         U" X4S5        S S S 5        U R                  [        5         U" SUS5        S S S 5        U R                  [        5         U" USS5        S S S 5        g ! , (       d  f       N_= f! , (       d  f       NH= f! , (       d  f       g = fr  )r  r   r   r8  rC  r@  r   r  s        r   test_setxor1d_errors$TestNPFunctions.test_setxor1d_errors  r  r  c               #     #    [         R                  " [        R                  5      [         R                  " [        R                  5      4v   S/[         R                  " [        R                  5      4v   [         R                  " [        R                  5      S/4v   S/S/4v   S/S/4v   SS/S/4v   / SQSS/4v   / SQ/ SQ4v   SS/SS/4v   / SQ/ SQ4v   / SQSS/4v   [        R
                  " / SQ5      [        R
                  " / S	Q5      4v   [        R                  " S
5      [        R                  " S5      4v   [        R
                  " / SQ5      [        R
                  " / SQ5      4v   g 7f)Nrv  r*  r  r  r  r  r  )rN  r(  r  r  rv  r*  r  r  )r*  r  r  r  r*  rv  r(  r  rD  r2  )r  r(  r*  )r
   r  r	   r6  r   r8  rS  r  r!   r   _setdiff_arraysTestNPFunctions._setdiff_arrays  s1    u}}-u}}-/ 	/c4??5==111ooemm,qc11cA3hcA3h!fqck!Q""!fq!fn""QF"" xx01xx-.0 	0iimRYYr]**hhy!288I#666s   E;E=c                 ~   ^ ^^ [         m[        T5      mUUU 4S jnT R                  5        H  u  p#U" X#5        M     g )Nc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" X5      nT" X5      nTR                  X#SU  SU 3S9  g r  r  r  s       r   r   /TestNPFunctions.test_setdiff1d_2.<locals>.check  r  r!   )r  r   r  r  s   `   @@r   test_setdiff1d_2 TestNPFunctions.test_setdiff1d_2  s5    "	O		P ((*DA!K +r!   c                 L  ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        Hr  u  p#U" X#5        [        [        R
                  " U5      5      [        U5      :X  d  M;  [        [        R
                  " U5      5      [        U5      :X  d  Mi  U" X#S5        Mt     g )Nc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XU5      nT" XU5      nTR                  X4SU  SU 3S9  g r  r  r  s        r   r   /TestNPFunctions.test_setdiff1d_3.<locals>.check  r  r!   Tro  )r  r   r  r7  r   r  r  s   `   @@r   test_setdiff1d_3 TestNPFunctions.test_setdiff1d_3  sv    "	O		P 	P ((*DA!K299Q< CF*s299Q</@CF/JaD! +r!   c                    [         n[        U5      n[        R                  " S/5      n[        R                  " S/5      nU R	                  5         U R                  [        5         U" X4S5        S S S 5        U R                  [        5         U" SUS5        S S S 5        U R                  [        5         U" USS5        S S S 5        g ! , (       d  f       N_= f! , (       d  f       NH= f! , (       d  f       g = fr  )r  r   r   r8  rC  r@  r   r  s        r   test_setdiff1d_errors%TestNPFunctions.test_setdiff1d_errors$  s    "	O	HHaSMHHaSM!{+aE" ,{+eQ% ,{+a% ,+	 ,+++++r  c               #   t  #    [         R                  " [        R                  5      [         R                  " [        R                  5      4v   S/[         R                  " [        R                  5      4v   [         R                  " [        R                  5      S/4v   S/S/4v   S/S/4v   SS/S/4v   / SQSS/4v   / SQ/ SQ4v   SS/SS/4v   / SQ/ SQ4v   / SQSS/4v   SS/[        R
                  " S5      4v   SS/[        R                  " [        R
                  " S	5      S
5      4v   g 7f)Nrv  r*  r  r  r  r  r  rM  r(  r  )r
   r  r	   r6  r   rS  rI  r  r!   r   _in1d_arraysTestNPFunctions._in1d_arrays2  s    u}}-u}}-/ 	/c4??5==111ooemm,qc11cA3hcA3h!fqck!Q""!fq!fn""QF""!fbiim##!fbggbiilA...s   D6D8c                 ~   ^ ^^ [         m[        T5      mUUU 4S jnT R                  5        H  u  p#U" X#5        M     g )Nc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" X5      nT" X5      nTR                  X#SU  SU 3S9  g r  r  r  s       r   r   *TestNPFunctions.test_in1d_2.<locals>.checkG  r  r!   )r  r   r  r  s   `   @@r   test_in1d_2TestNPFunctions.test_in1d_2C  5    	O		P %%'DA!K (r!   c                 H  ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        Hp  u  p#U" X#5        [        [        R
                  " U5      5      [        U5      :X  d  M;  [        [        R
                  " U5      5      [        U5      :X  d  Mi  U" X#SS9  Mr     g )Nc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XU5      nT" XU5      nTR                  X4SU  SU 3S9  g r  r  r  s        r   r   +TestNPFunctions.test_in1d_3a.<locals>.checkW  r  r!   Tr  ro  )r  r   r  r7  r   r  r  s   `   @@r   test_in1d_3aTestNPFunctions.test_in1d_3aS  sv    	O		P 	P %%'DA!K299Q< CF*s299Q</@CF/Ja$/ (r!   c                    ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        H  u  p#U" X#SS9  U" X#SS9  M     g )NFc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XU5      nT" XU5      nTR                  X4SU  SU 3S9  g r  r  r  r  r  r  r  r  r  r  s        r   r   +TestNPFunctions.test_in1d_3b.<locals>.checki  sg    #t$$3i#t$$3i 62HCf-C##HcU&7N#Or!   r  Tro  )r  r   r  r  s   `   @@r   test_in1d_3bTestNPFunctions.test_in1d_3be  H    	O		P 	P %%'DA!u%!t$ (r!   c                 f  ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        H  u  p#U" X#SS9  U" X#SS9  [        [        R
                  " U5      5      [        U5      :X  d  MA  [        [        R
                  " U5      5      [        U5      :X  d  Mo  U" X#SSS9  U" X#SSS9  M     g )NFc                    > [        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XX#5      nT" XX#5      nTR                  XESU  SU 3S9  g r  r  	r  r  r6   r  r  r  r  r  r  s	         r   r   *TestNPFunctions.test_in1d_4.<locals>.checkz  sg    #t$$3i#t$$3i =AHCm<C##HcU&7N#Or!   r  Tr6   r  FF)r  r   r  r7  r   r  r  s   `   @@r   test_in1d_4TestNPFunctions.test_in1d_4v  s    	O		P 	P %%'DA!u%!t$299Q< CF*s299Q</@CF/Ja$u=a$t< (r!   c                    [         n[        U5      n[        R                  " S/5      n[        R                  " S/5      nU" X45      nU R	                  U[        R                  " S/5      5        U R                  5         U R                  [        5         U" X4SS5        S S S 5        U R                  [        5         U" X4SS5        S S S 5        U R                  [        5         U" SUSS5        S S S 5        U R                  [        5         U" USSS5        S S S 5        [        5       S 5       nU R                  [        5         U" X4S S9  S S S 5        U R                  [        5         U" X4SS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = f)	Nrv  r*  Fr  Tc                 ,    [         R                  " XUS9$ Nkindr  r-   r.   r  s      r   np_in1d_kind6TestNPFunctions.test_in1d_errors.<locals>.np_in1d_kind      771d++r!   r  table)r  r   r   r8  r
  rC  r@  r   )r  r  r  r-   r.   r   r  s          r   test_in1d_errors TestNPFunctions.test_in1d_errors  sa   	O	HHaSMHHaSMaO288UG#45!{+aE5) ,{+aE5) ,{+eQe, ,{+ae, , 
	, 
	, {+D) ,{+G, ,+ ,+++++++ ,+++H   E<<F$FF/G +G<
F

F
F,/
F= 
G
Gc               #     #    [         R                  " [        R                  5      [         R                  " [        R                  5      4v   [        R
                  " S[        R                  S9[         R                  " [        R                  5      4v   [        R
                  " S[        R                  S9[         R                  " [        R                  5      4v   [        R
                  " S[        R                  S9[         R                  " [        R                  5      4v   S/[         R                  " [        R                  5      4v   [         R                  " [        R                  5      S/4v   S/S/4v   S/S/4v   SS/S/4v   / SQSS/4v   / SQ/ SQ4v   SS/SS/4v   SS	/[        R                  " S
5      4v   SS	/[        R                  " [        R                  " S5      S5      4v   [        R                  " S5      R                  SS	S5      / SQ4v   [        R                  " S5      R                  / SQ5      n [        R                  " / SQ/ SQ/ SQ/5      nX4v   [        R                  " S	5      U4v   U [        R                  " S	5      4v   [        R                  " S	5      [        R                  " S	5      4v   SU4v   U S4v   Sv   [         R                  " [        R                  5      U4v   U [         R                  " [        R                  5      4v   [        [        R                  [        R                  4 H  nU[        R                  [        R                  1;   a  [        R                  " / SQUS9nO#U[        1;   a  [        R                  " / SQ5      n[        R                  " / US9nUW4v   X44v   XD4v   M     S H  n/ SQ/ SQU-  4v   / SQ/ SQU-  4v   / SQ/ SQU-  4v   / SQn U / SQU-  4v   U / SQU-  / SQU-  -   4v   [        R                  " / SQ5      [        R                  " / SQU-  5      4v   [        R                  " / SQ5      [        R                  " / SQU-  5      4v   [        R                  " SS/5      [        R                  " SS/U-  5      4v   M     [        R                  " S/5      [        R                  " S/5      4v   [        R                  " S S!/5      [        R                  " / S"Q5      4v   [        R                  [        R                  4[        R                  [        R                  4[        R                  [        R                  4[        R                  [        R                  4[        R                  [        R                  4[        R                  [        R                  44 H|  u  pg[        R                   " U[        R"                  5      n[        R                  " / S#QUS9n	U(       a  [        R                  " / S$QUS9n
O[        R                  " / S%QUS9n
X4v   M~     [        R$                  S&    H?  n[        R                  " / SQ[        S9n [        R                  " / S'QUS9nX4v   X4v   MA     g 7f)(N)rv  r   r9  )r   r   r1  rv  r*  r  r  r  rM  r(  r  r  )r(  r  rK  rP  r  r,  )rK  rM  r  r  )r     r  rN  rn  )TFF)rv  rK  r  r  )r  r  rv  r*  )r  r  rv  r  )r(  r  r(  r  r  r  r  r  r  r(  r*  rv  r(  r(  )r(  r(  r  )r(  r  rv  rv  r*  )r*  r  r  r  rv  r(  TFr  )r   r   rv  rv  )ir      )r  r   r9  
AllInteger)r   r   r   r   )r
   r  r	   r6  r   r  r  rS  rI  r  r8  r  rM  r   rX  uint16r  signedinteger	typecodes)r-   r.   r:  arempty_arraymultdtype1dtype2is_dtype2_signedr  r  s              r   _isin_arraysTestNPFunctions._isin_arrays  s    u}}-u}}-/ 	/xxbhh/u{{+- 	-xxbhh/u{{+- 	-xxbhh/u{{+- 	-c4??5==111ooemm,qc11cA3hcA3h!fqck!Q""!fq!fn!fbiim##!fbggbiilA...iim##Aq!,n<< IIbM!!),HHlI|<=d
hhqk1n!nhhqk288A;&&d
d

ooekk*A-----BHHbjj1E2::..XXl%84&XX23((2U3Kr/!/!** 2 D$ 666$ 666$ 666:AY%%%Y%	D(8888((<("((?T3I*JJJ((?+RXX6H46O-PPP((Aq6"BHHaVd]$;;;  hhsmRXXqc]**hhe}%rxx0E'FFF WWbhhXXrwwXXryy!YY!XXrxx XXrxx 
NF  "}}VR5E5EF((<v6Chh~V<hh}F;(N!
$ \\,/E-T:AU3A$J$J	 0s   [[c                 ~   ^ ^^ [         m[        T5      mUUU 4S jnT R                  5        H  u  p#U" X#5        M     g )Nc                    > T" X5      n[        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" X5      nTR                  X#SU  SU 3S9  g r  r  r  s       r   r   *TestNPFunctions.test_isin_2.<locals>.check   sc     *H#t$$3i#t$$3iC%C##HcU&7N#Or!   )r  r   r  r  s   `   @@r   test_isin_2TestNPFunctions.test_isin_2  r  r!   c                   ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        Hv  u  p#U" X#5         [        U5      n [        U5      n[        [
        R                  " U5      5      U:X  d  MJ  [        [
        R                  " U5      5      U:X  d  Mo  U" X#SS9  Mx     g ! [         a    Sn Npf = f! [         a    Sn Nvf = f)Nc                    > T" XU5      n[        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XU5      nTR                  X4SU  SU 3S9  g r  r  r  s        r   r   +TestNPFunctions.test_isin_3a.<locals>.check  sg     =9H#t$$3i#t$$3iCm4C##HcU&7N#Or!   rv  Tr  ro  )r  r   r  r7  r  r   r  r  r   r-   r.   len_alen_br  r  s   `     @@r   test_isin_3aTestNPFunctions.test_isin_3a  s    	O		P 	P %%'DA!KAA 299Q< E)c"))A,.?5.Ha$/ (
    s#   B*	B<*B98B9<C
Cc                    ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        H  u  p#U" X#SS9  U" X#SS9  M     g )NFc                    > T" XU5      n[        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XU5      nTR                  X4SU  SU 3S9  g r  r  r  s        r   r   +TestNPFunctions.test_isin_3b.<locals>.check+  sg     62H#t$$3i#t$$3iCf-C##HcU&7N#Or!   r  Tro  )r  r   r  r  s   `   @@r   test_isin_3bTestNPFunctions.test_isin_3b'  r  r!   c                   ^ ^^ [         m[        T5      mSUUU 4S jjnT R                  5        H  u  p#U" X#SS9  U" X#SS9   [        U5      n [        U5      n[        [
        R                  " U5      5      U:X  d  MP  [        [
        R                  " U5      5      U:X  d  Mu  U" X#SSS9  U" X#SSS9  M     g ! [         a    Sn Nyf = f! [         a    Sn Nf = f)NFc                    > T" XX#5      n[        U [        5      (       a  [        U 5      n [        U[        5      (       a  [        U5      nT" XX#5      nTR                  XESU  SU 3S9  g r  r  r  s	         r   r   *TestNPFunctions.test_isin_4.<locals>.check<  sg     =AH#t$$3i#t$$3iCm<C##HcU&7N#Or!   r  Trv  r  r  )r  r   r  r7  r  r   r  r	  s   `     @@r   test_isin_4TestNPFunctions.test_isin_48  s    	O		P 	P %%'DA!u%!t$AA 299Q< E)c"))A,.?5.Ha$u=a$t< (    s$   B9C9CCCCc                    [         n[        U5      n[        R                  " S/5      n[        R                  " S/5      nU" X45      nU R	                  U[        R                  " S/5      5        U R                  5         U R                  [        5         U" X4SS5        S S S 5        U R                  [        5         U" X4SS5        S S S 5        U R                  [        5         U" SUSS5        S S S 5        U R                  [        5         U" USSS5        S S S 5        [        5       S 5       nU R                  [        5         U" X4S S9  S S S 5        U R                  [        5         U" X4SS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = f)	Nrv  r*  Fr  Tc                 ,    [         R                  " XUS9$ r  r  r  s      r   np_isin_kind6TestNPFunctions.test_isin_errors.<locals>.np_isin_kindh  r  r!   r  r  )r  r   r   r8  r
  rC  r@  r   )r  r  r  r-   r.   r   r	  s          r   test_isin_errors TestNPFunctions.test_isin_errorsU  sa   	O	HHaSMHHaSMaO288UG#45!{+aE5) ,{+aE5) ,{+eQe, ,{+ae, , 
	, 
	, {+T* ,{+G, ,+ ,+++++++ ,+++r  c                 >   [        [        5      n[        [        5      n[        [        5      n[        [        5      n[
        R                  " / SQ5      n[
        R                  " / SQ5      nU" XV5      nU" XV5      nU" XV5      n	U" X5      n
U R                  Xz5        g )N)r(  r  rv  r*  r  )r  r  r*  r  r  rv  r(  )r   r  r3   r  r  r   r8  r
  )r  nb_setxor1dnb_intersect1d
nb_union1dnb_setdiff1dr-   r.   c1aux1aux2c2s              r   test_setops_manyways$TestNPFunctions.test_setops_manywaysq  s}    =)m,*%
N+HH_%HH*+a#!$%'r!   )r  )NNFNr   rn  )r  r  r  r  __doc__r  r  r:  rF  rj  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r'  r>  rG  rN  rS  rW  r]  r`  rf  rk  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r.  r9  rB  rI  rS  rX  staticmethodrQ  ro  ru  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,  rR  rU  r^  ra  rf  ri  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/  r8  r>  rC  rF  rR  rZ  r_  rb  rm  rr  ru  rx  r  r  r  r  r  r  unittest
skipUnlessr   r  rJ  r  r  rM  r  r  skipr  r  rS  r  r  rV  r  r  r  r  r  r	  r  r  r  r"  r%  r(  r7  r<  r  rF  skipIfr   rJ  rN  rR  r\  r`  rh  rz  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r'  r*  rI  rL  rR  rU  rj  rs  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  __classcell__)r  s   @r   r  r    s   - EIKO+CZ7)r	"68p%!N, 	"34	
3@ 7D&3&3$"B3<!"F	7"*/.7@7&7(D?L3<3"	7-&
7-&Un@D&8P'>R4<#|: !F6B1C*<0;@
3!j!F.,%#N
II" ' '>	I	4



8<I$I45@P45@P?-*Q9E0H0**,(,(  >>&&cAJeDN	=	@ KD"QH D$LCF P P4"0H = = = =  $  ;z 	 	   
 
 /- /-b#<'-*?-.?K(P8-P8@:-(3>-23@-<T6l37F089t9"-- (BT1474+@.D&P %896 :6 *2  D %89: :: ,6 8!t %89@ :@ ]]123;  3 %89< :< -8 +#Z %89@ :@ /< /0 %89E :E 4A *DXS6j>:@828636@	43Bb-HL+7Z/Ab __Z2N4OPF QF6C;J&'BR
<3 3<L<\32()T I I>C8J8,t1Jf5;n-1^13f?
B,3\#
J"3H7%r
@"3H0
d*3XM28?t(:; #-JH.6,@"D3>9-A"	--* / /& "$& 7 7( "$& / /  0$%"=(-8 S Sj 06%"=:-8( (r!   r  c                   0    \ rS rSrSrS rS rS rS rSr	g)	TestNPMachineParametersi  z0
def foo():
    ty = np.%s
    return np.%s(ty)
c                     Un[        SS9" U5      nU" U6 nU" U6 nU H'  nU R                  [        Xh5      [        Xx5      5        M)     g rQ  )r   r
  getattr)	r  r  attrsrk   r  r  r  r  attrs	            r   r   TestNPMachineParameters.check  sQ    T"6*4=Tl D##GH$;$+C$68 r!   c                     UR                   nUR                   nU R                  X44-  n0 n[        [        USS5      [	        5       U5        US   $ )Nz<string>execr  )r  templater5	  compileglobals)r  basefunctytystrbasestrfuncstrdcts          r   create_harcoded_variant/TestNPMachineParameters.create_harcoded_variant  sO     ##--5"22WWj&179cB5zr!   c                    [         R                  [         R                  [         R                  [         R                  /nSnU HP  nU R                  [        X#" S5      5        U R                  [         R                  U5      nU R                  XB5        MR     U R                  [        5       n[        SS9" [        5      nU" S5        S S S 5        SnU R                  U[        WR                  5      5        U R                  5          [        SS9" [        5      nU" [         R                   " S5      5        S S S 5        g ! , (       d  f       N~= f! , (       d  f       g = f)N)r  epsnegiexpmacheprd  maxexpnegepnexpnmant	precision
resolutiontinybitsrv  Tr=  r?  z(Unknown attribute 'machar' of type finfor  )r   r  r6  r	  r9  r   r   r?	  r@  r   r   r   rA  r?  rB  r  r  )r  r	   r1	  r:	  hc_funcrE  r  r  s           r   
test_finfo"TestNPMachineParameters.test_finfo  s    RZZr}}ENBJJueRU+22288R@GJJw&  {+v&|4E"I , 9c3v//01 ##%&u-E"((1+ &% ,+ &%s   ,E 0E 
E
Ec                 Z   [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  /nSnU HP  nU R                  [        X#" S5      5        U R                  [         R                  U5      nU R                  XB5        MR     U R                  5          [        SS9" [        5      nU" [         R                  " S5      5        S S S 5        g ! , (       d  f       g = f)N)r  rd  rL	  rv  Tr=  r  )r   rM  r   r  r  rX  r  r  r  r   r   r?	  r  r   r6  )r  r	   r1	  r:	  rM	  r  s         r   
test_iinfo"TestNPMachineParameters.test_iinfo  s    "((BHHbhh"))BII''BJJueRU+22288R@GJJw&  ##%&u-E"**Q-  &%%s   #0D
D*r  N)
r  r  r  r  r6	  r   r?	  rN	  rQ	  r  r  r!   r   r.	  r.	    s    H
8*!r!   r.	  c                       \ rS rSrS rSrg)TestRegistryImportsi  c                     [        S5      n[        U5      u  p#U R                  SUR                  5       5        U R                  SUR                  5       SU S3S9  g )Nz
            import numba
            import numpy as np
            @numba.njit
            def foo():
                np.array([1 for _ in range(1)])
            foo()
            print("OK")
        s   OKr!   z
--ERROR--

rZ  )r   r   r  strip)r  coderesulterrors       r   test_unsafe_import_in_registry2TestRegistryImports.test_unsafe_import_in_registry  s[        *$//ekkm;ugR1HIr!   r  N)r  r  r  r  r[	  r  r  r!   r   rT	  rT	    s    Jr!   rT	  __main__ro  )Nr   r   )r*  r+  F)rL  rg  r  )r  )r  )r   N)NF)NTFN)NT)NN)fb)Nr  g-DT!@)Tr$  r  )r  r[  r  	functoolsr   r   textwrapr   numpyr   r  r   r   r   
numba.corer	   numba.typedr
   r   numba.np.numpy_supportr   numba.core.errorsr   numba.core.configr   numba.core.utilsr   numba.np.extensionsr   numba.tests.supportr   r   r   r   r   r   r   r(	  r   r%   r)   r+   r3   r7   r<   r@   rB   rH   rK   rP   rV   rY   r\   rd   rg   ri   rm   rp   rr   ru   rx   rz   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   r  r  r  r  r  r  r  r  r  r  r!  r#  r)  r,  r1  r5  r<  r6  r?  rA  rC  rJ  rM  rS  rV  rZ  r\  r_  ra  rd  rh  rj  rr  rt  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  r  r.	  rT	  r  mainr  r!   r   <module>rk	     s"          # #  " 0 ) ' ( '1 1 1   /-,%(!./3"$-%.1+$$$)(!#$%(!#$%(' #,%-& jj '&""45 !)<+"*6'8"0",-6(06(0`a(ox `a(FCA!h A!HJ( J( zMMO r!   