
    |h                    >   S SK r 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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&J'r'J(r(  S SK)r)S r*S r+S r,S r-S r.SS jr/S r0S r1S r2S r3S r4S r5S r6SS jr7S r8S r9S r:S r;S  r<S! r=S" r>S# r?S$ r@S% rAS& rBSS' jrCSS( jrDSS) jrES* rFS+ rGS, rHS- rIS. rJS/ rKS0 rLS1 rMSS2 jrNS3 rOSS4 jrPS5 rQSS6 jrRSS7 jrSSS8 jrTS9 rUS: rVS; rWSS< jrXSS= jrYS> rZSS? jr[SS@ jr\SSA jr]SB r^SSC jr_SD r`SSE jraSSF jrbSSG jrcSH rdSSI jreSJ rfSSK jrgSL rhSSM jriSSN jrjSSO jrkSP rlSSQ jrmSSR jrnSS roST rpSSU jrqSSV jrrSSW jrsSX rtSY ruSZ rv\
R                  4S[ jrxS\ ryS] rzS^ r{S_ r|S` r}Sa r~Sb rSc rSd rSe rSSf jrSSg 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R`                  " 5         gg)    N)partial)product)dedent)jitnjittypeof)types)ListDict)numpy_version)TypingErrorNumbaDeprecationWarning)	IS_32BITS)pysignaturecross2d)	TestCaseMemoryLeakMixin
needs_blasrun_in_subprocessskip_if_numpy_2
IS_NUMPY_2IS_MACOS_ARM64REDUCED_TESTINGskip_if_reduced_testingc                 .    [         R                  " U 5      $ N)npsincxs    W/home/james-whalen/.local/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_2r6   -   r2   r$   c                 0    [         R                  " XU5      $ r   r4   r0   r1   assume_uniques      r"   intersect1d_3r:   1   s    >>!..r$   c                 ,    [         R                  " XUS9$ Naxis)r   append)arrvaluesr>   s      r"   r?   r?   5   s    99St,,r$   c                 *    [         R                  " XS9$ r<   )r   count_nonzero)r@   r>   s     r"   rC   rC   9   s    C++r$   c                 .    [         R                  " X5      $ r   )r   delete)r@   objs     r"   rE   rE   =   s    99Sr$   c                 .    [         R                  " U 5      $ r   r   diffr0   s    r"   diff1rK   A   r#   r$   c                 .    [         R                  " X5      $ r   rH   )r0   ns     r"   diff2rN   E       771=r$   c                 .    [         R                  " U 5      $ r   r   bincountrJ   s    r"   	bincount1rS   I       ;;q>r$   c                 *    [         R                  " XS9$ )NweightsrQ   )r0   ws     r"   	bincount2rY   M   s    ;;q$$r$   c                 0    [         R                  " XU5      $ r   rQ   )r0   rX   	minlengths      r"   	bincount3r\   Q   s    ;;qY''r$   c                 .    [         R                  " X5      $ r   r   searchsortedr0   vs     r"   r_   r_   U       ??1  r$   c                 ,    [         R                  " XSS9$ )Nleftsider^   r`   s     r"   searchsorted_leftrg   Y   s    ??1f--r$   c                 ,    [         R                  " XSS9$ )Nrightre   r^   r`   s     r"   searchsorted_rightrj   ]   s    ??1g..r$   c                  (    [         R                  " U 6 $ r   )r   digitizeargss    r"   rl   rl   a   s    ;;r$   c                  (    [         R                  " U 6 $ r   )r   	histogramrm   s    r"   rp   rp   e   s    <<r$   c                  ,    [         R                  " 5       $ r   )r   MachArrm   s    r"   macharrs   i   s    99;r$   c                 .    [         R                  " U 5      $ r   )r   	iscomplexr    s    r"   ru   ru   m       <<?r$   c                 .    [         R                  " U 5      $ r   )r   iscomplexobjr    s    r"   rx   rx   q       ??1r$   c                 .    [         R                  " U 5      $ r   )r   isscalarr    s    r"   r{   r{   u   rT   r$   c                 .    [         R                  " U 5      $ r   )r   isrealr    s    r"   r}   r}   y       99Q<r$   c                 .    [         R                  " U 5      $ r   )r   	isrealobjr    s    r"   r   r   }   rv   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r0   r1   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   iinform   s    r"   r   r          88T?r$   c                  (    [         R                  " U 6 $ r   )r   finform   s    r"   r   r      r   r$   c                  <    [         R                  " U 6 R                  $ r   )r   r   rs   rm   s    r"   finfo_macharr      s    88T?!!!r$   c                 .    [         R                  " U 5      $ r   r   fliplrrJ   s    r"   r   r      r~   r$   c                 .    [         R                  " U 5      $ r   r   flipudrJ   s    r"   r   r      r~   r$   c                 .    [         R                  " U 5      $ r   )r   fliprJ   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   rot90rJ   s    r"   r   r      r)   r$   c                 .    [         R                  " X5      $ r   r   )r0   ks     r"   rot90_kr          88A>r$   c                 ,    [         R                  " XUS9$ r<   )r   array_splitr0   indicesr>   s      r"   r   r      s    >>!400r$   c                 ,    [         R                  " XUS9$ r<   )r   splitr   s      r"   r   r      s    88AT**r$   c                 .    [         R                  " X5      $ r   )r   vsplitr0   
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r0   ra   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      rO   r$   c                 .    [         R                  " U 5      $ r   r   tril_indicesrM   s    r"   tril_indices_nr      ry   r$   c                 .    [         R                  " X5      $ r   r   rM   r   s     r"   tril_indices_n_kr      rb   r$   c                 *    [         R                  " XS9$ Nr   r   rM   r   s     r"   tril_indices_n_mr          ??1""r$   c                 0    [         R                  " XU5      $ r   r   rM   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
    rO   r$   c                 .    [         R                  " U 5      $ r   r   triu_indicesr   s    r"   triu_indices_nr    ry   r$   c                 .    [         R                  " X5      $ r   r  r   s     r"   triu_indices_n_kr    rb   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r0   kths     r"   r   r   1  s    <<r$   c                 .    [         R                  " X5      $ r   )r   argpartitionr!  s     r"   r$  r$  5  s    ??1""r$   c                 2    [         R                  " XX#U5      $ r   )r   cov)r   yrowvarbiasddofs        r"   r&  r&  9  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/  A  s    ::c8,,r$   c                 .    [         R                  " X5      $ r   )r   roll)r0   shifts     r"   r4  r4  E  s    771r$   c                 .    [         R                  " U 5      $ r   r   asarrayrJ   s    r"   r8  r8  I      ::a=r$   c                 *    [         R                  " XS9$ Ndtyper7  r0   r=  s     r"   asarray_kwsr?  M  s    ::a%%r$   c                 *    [         R                  " XS9$ r;  r   asfarrayr>  s     r"   rB  rB  Q  s    ;;q&&r$   c                 .    [         R                  " U 5      $ r   rA  rJ   s    r"   asfarray_default_kwargrD  U  rT   r$   c                 .    [         R                  " X5      $ r   )r   extract	conditionr@   s     r"   rF  rF  Y  s    ::i%%r$   c                 .    [         R                  " U 5      $ r   r   trapzr'  s    r"   np_trapzrM  ]  r)   r$   c                 .    [         R                  " X5      $ r   rJ  r'  r!   s     r"   
np_trapz_xrP  a  r   r$   c                 *    [         R                  " XS9$ NdxrJ  r'  rT  s     r"   np_trapz_dxrV  e  s    88Ar$   c                 0    [         R                  " XU5      $ r   rJ  r'  r!   rT  s      r"   np_trapz_x_dxrY  i  s    88A"r$   c                 .    [         R                  " U 5      $ r   r   	trapezoidrL  s    r"   np_trapezoidr]  m  rv   r$   c                 .    [         R                  " X5      $ r   r[  rO  s     r"   np_trapezoid_xr_  q      <<r$   c                 *    [         R                  " XS9$ rR  r[  rU  s     r"   np_trapezoid_dxrb  u  s    <<!!r$   c                 0    [         R                  " XU5      $ r   r[  rX  s      r"   np_trapezoid_x_dxrd  y  s    <<b!!r$   c                 2    [         R                  " XX#U5      $ r   )r   allcloser   s        r"   np_allcloserg  }  s    ;;qT33r$   c                 ,    [         R                  " XUS9$ )Nr>   rW   )r   average)r0   r>   rW   s      r"   
np_averagerk    s    ::aG44r$   c                 0    [         R                  " XU5      $ r   )r   interpr!   xpfps      r"   rm  rm    s    99QBr$   c                 .    [         R                  " X5      $ r   )r   repeatr0   repeatss     r"   	np_repeatru    s    99Q  r$   c                 L    [         R                  " U 5      R                  U5      $ r   )r   r8  rr  rs  s     r"   array_repeatrw    s    ::a=((r$   c                 ,    [         R                  " XUS9$ )N)defaultr   select)condlist
choicelistry  s      r"   	np_selectr~    s    99X7;;r$   c                 .    [         R                  " X5      $ r   rz  )r|  r}  s     r"   np_select_defaultsr    s    99X**r$   c                 .    [         R                  " U 5      $ r   )r   bartlettr   s    r"   np_bartlettr    rT   r$   c                 .    [         R                  " U 5      $ r   )r   blackmanr  s    r"   np_blackmanr    rT   r$   c                 .    [         R                  " U 5      $ r   )r   hammingr  s    r"   
np_hammingr    r9  r$   c                 .    [         R                  " U 5      $ r   )r   hanningr  s    r"   
np_hanningr    r9  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)r0   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   rJ   s    r"   flip_lrr    r~   r$   c                 .    [         R                  " U 5      $ r   r   rJ   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    )r0   keys     r"   array_containsr    s	    8Or$   c                 0    [         R                  " XU5      $ r   )r   swapaxes)r0   a1a2s      r"   r  r    s    ;;qb!!r$   c                 .    [         R                  " XX#US9$ )Ncopynanposinfneginf)r   
nan_to_num)Xr  r  r  r  s        r"   r  r    s    ==3fMMr$   c                 .    [         R                  " U 5      $ r   )r   r   )
dimensionss    r"   
np_indicesr    s    ::j!!r$   c                 .    [         R                  " U 5      $ r   r   diagflat)ra   s    r"   	diagflat1r    rT   r$   c                 .    [         R                  " X5      $ r   r  )ra   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  r8   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  r8   s      r"   np_setdiff1d_3r    s    <<m,,r$   c                 .    [         R                  " X5      $ r   r   in1dr/   s     r"   	np_in1d_2r    rO   r$   c                 ,    [         R                  " XUS9$ Nr9   r  r8   s      r"   
np_in1d_3ar        771}55r$   c                 ,    [         R                  " XUS9$ Ninvertr  r0   r1   r  s      r"   
np_in1d_3br  	      771''r$   c                 0    [         R                  " XX#5      $ r   r  r0   r1   r9   r  s       r"   	np_in1d_4r        771//r$   c                 .    [         R                  " X5      $ r   r   isinr/   s     r"   	np_isin_2r    rO   r$   c                 ,    [         R                  " XUS9$ r  r  r8   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       r\@S 5       r\@S 5       rS r\S 5       r\S 5       r\S 5       rS rS rSrU =G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                   ^ ^^^	 SmSm	[         mUUU U	4S jn/ SQn[        (       a  [        R                  /O[        R                  [        R                  /nU[        U5      [        U5      -  S-   -  nU" XB5        [        R                  " U[        R                  S9/nU Vs/ s H  n[        U5      PM     nnU" XB5        / SQn[        (       a  [        R                  /O[        R                  [        R                  /nU[        U5      [        U5      -  S-   -  nU" XBSS	9  [        R                  " U[        R                  S9/nU Vs/ s H  n[        U5      PM     nnU" XBS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>.checks  s%    NN67 %/3S%#%r$   )
      ?                           ?         g#B;g#B   r<  )      ?                                      r2                ?y                    ?                            ?      ?                  @      @            y#B;        y#B        y        #B;y        #B   )ulpsN)r   r   r	   float64r  lenr   arrayr   
complex128r  )
r  r%  r  
real_typesr  ra   complex_typesr#  r  r$  s
   `      @@@r"   	test_sincTestNPFunctions.test_sincW  sM     	% 	% I( }}o!MM5==9 	 HZ @1 DEg  HHXRZZ89&./h6!9h/g  ,O  **+$0@0@A 	  3x=C4F#F#JKga( HHXR]];<&./h6!9h/ga(% 0" 0s   %E/E4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   assertInrG  	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   aranger8  r>  r  seedrandviewr?  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TrE  )r  r   r  )r  ro  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[        (       a  [        R                  /O[        R
                  [        R                  /nU[        U5      [        U5      -  S-   -  nU" XB5        [        R                  " U[        R                  S9/nU Vs/ s H  n[        U5      PM     nnU" XB5        / SQn[        (       a  [        R                  /O[        R                  [        R                  /nU[        U5      [        U5      -  S-   -  nU" XB5        [        R                  " U5      n[        (       a  [        R                  /O[        R                  [        R                  /nU" XB5        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_r=  )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/  r<  )r0  r1  r2  r2  r3  y             r4  r5  r6  r7  r8  r9  N)r(   r,   r   r	   r<  r  r=  r   r>  r   r?  r  )	r  r%  r  r@  r  ra   rA  r{  r|  s	   `      @@r"   
test_angleTestNPFunctions.test_angle  sC   
 	9 :( }}o!MM5==9 	 HZ @1 DEg  HHXRZZ89&./h6!9h/g A ,O  **+$0@0@A 	  3x=C4F#F#JKg  88H%%o $$%%*:*:; 	 	g # 0s   %F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(  r0  r9  )f4f8c8c16r<  TrE  )r  r   r>  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)NTrE  helloz0Argument "z" must be a complex or Array[complex])r(   r   rH  r   rI  rG  rJ  rK  rL  s       r"   test_angle_exceptions%TestNPFunctions.test_angle_exceptions  sf    T"6*{+v'N ,H&**+	- 	! ,+rP  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)Nr/  r:  rS  r-     r/  r:     r  r:  r:  )r  r:  )TTTF)Tr:  )Tr/  )Fr   r   r>  r[  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TrE  )r.   r   r  r  r  r  r  r@   rF   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)NTrE     r     z3Both arguments to "array_equals" must be array-like)
r.   r   rH  r   r   r[  r  rI  rG  rJ  rL  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	Nr/  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
   
empty_listr	   r<  r  r$   r"   r  2TestNPFunctions.test_intersect1d_2.<locals>.arraysJ       ??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+TrE  )r6   r   
isinstancelistr
   r  r  r  r  r  r0   r1   r  r  s           r"   test_intersect1d_2"TestNPFunctions.test_intersect1d_2H  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>.arraysj  r  r  TrE  Fr  )	r:   r   r  r  r
   r  r=  r   uniquer  s           r"   test_intersect1d_3"TestNPFunctions.test_intersect1d_3h  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Nr/  r:  fooT)r:   r   r   r>  rK  rH  r   r  	np_pyfunc	np_nbfuncr0   r1   s        r"   test_intersect1d_errors'TestNPFunctions.test_intersect1d_errors      !	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)
NrS  r<  r   <   r  r  r-  r  r/  )r   r>  zerosr[  onesrx  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TrE  )rC   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:  NrS  r  r-  r:  r  r  r-  rV  r     	   r   r/  r   r[  r  r>  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  TrE  )r?   r   r  )	r  r  r  r  r@   rF   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)NTrE  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   r>  rH  r   rI  rG  rJ  rK  )r  r  r  r@   rA   r>   rM  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r/  r:  r  r  r-  r  r:  rS  )r  r-  rV  )r:  r  r  r-  r  r  r-  )r-  r     r  r/  r:  r  r  r/  )r   r[  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  TrE  )rE   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)NTrE  r/  r:  gQ	@zobj should be of Integer dtyperS  )g      @gffffff@g@r  z)arr must be either an Array or a Sequencez"obj must be less than the len(arr))rE   r   rK  rH  r   rI  rG  rJ  r   r[  
IndexErrorrL  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   r[  r  r  r0   r1   cs       r"   diff_arraysTestNPFunctions.diff_arrays  sS      IIbMQIIfIIbM!!),1   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)NTrE  r  )rK   r   r  r  r   r>  assertTypingError)r  r  r  r@   r  r  r0   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 )	NTrE  r   r/  r:  r  i  )rN   r   r  shaper  )r  r  r  r@   rY  rM   r  r  s           r"   
test_diff2TestNPFunctions.test_diff27  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)NTrE  r  r/  rS  )r  izorder must be non-negative)rN   r   rK  r   r>  r  r[  rH  
ValueErrorrI  rG  rJ  )r  r  r  r@   rM   rM  s         r"   test_diff2_exceptions%TestNPFunctions.test_diff2_exceptionsA  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                @numbarS  i90  gV-@TYnatr/  )r   r8  intint16timedelta64
datetime64r  r$   r"   rA   -TestNPFunctions.test_isscalar.<locals>.valuesW  s     G**aS/!JHMb'M((5/!KJJ..S))--&&--3''s   B&B(TrE  )r{   r   r  r  rA   r  r  r!   r  r  s          r"   test_isscalarTestNPFunctions.test_isscalarV  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)Nr/  r0  )r  r0  Thello worldr7  r  r$   r"   rA   4TestNPFunctions.test_isobj_functions.<locals>.valuesn  s%     GL**.//s   (*TrE  c                 (    U(       a  U OS nU" U5      $ r   r  )r!   condr  r'  s       r"   optional_fn9TestNPFunctions.test_isobj_functions.<locals>.optional_fnt  s    tA8Or$   Fr  )r   rx   r   r  py_funcr=  
signatures)r  rA   r  pyfuncsr  r  r!   r  r  expected_optionalgot_optionalexpected_nonegot_nones                r"   test_isobj_functions$TestNPFunctions.test_isobj_functionsm  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)      ?      ?r0        @r  r:                 @r  r  y              (@      ?      @y      $@        )r&         @        r/  r:  r  r-  rV  r  r  r   r>  r  r$   r"   rA   7TestNPFunctions.test_is_real_or_complex.<locals>.values  sf     ((:;;((9%%GILM""((QFQFQFQF;<<s   A.A0TrE  )ru   r}   r   r  )r  rA   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)  r/  r<  r  r  )r   infr8  r  rx  emptyr  r$   r"   rA   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TrE  )r   r   r   r  )	r  rA   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Br5  Hz>r)  &.>   2٠Br'  r   T0.++r   绽|=g#B;g=|=r/  r:  r  r  r   皙?    .A)r   r/   @)r   r  r>  r.  r[  )aranr@   r   kwr   s   r"   rA   ,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TrE  )r   r>  r[  r  r   r   r  rx  r  
assertTruer.   )r  rA   r  r  r0   r1   r  r  r  rD  r@   r   rE  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NTrE  r:  r=  r>  r4  r5  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 pointr/  z0The fifth argument "equal_nan" must be a boolean)r   r   r   r8  r  r  r   assertRaisesRegexr  r  r  inpsr0   r1   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()
)r/  r:  r-  r:  r  rU  )r-  r  r  r-  r   r6  ,  rY  )r   r>  r   r_  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 NTrE  )rS   r   rX  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)NTrE  r:  r  #first argument must be non-negative)rS   r   rK  rH  r  rI  rG  rJ  rL  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 NTrE  r:  )rY   r   rX  mathsqrtr   r>  r  )	r  r  r  r\  r!   rX   rW   r  r  s	            r"   test_bincount2TestNPFunctions.test_bincount28  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)NTrE  r:  r  r   r`  z+weights and list don't have the same length)rY   r   rK  rH  r  rI  rG  rJ  rL  s       r"   test_bincount2_exceptions)TestNPFunctions.test_bincount2_exceptionsC  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 rd  )r\   r   rX  maxr  r=  r  )r  r  r  r\  a_maxr[   r  r  s           r"   test_bincount3TestNPFunctions.test_bincount3V  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)
NTrE  r:  r  r   r`     &   z 'minlength' must not be negative)r\   r   rK  rH  r  rI  rG  rJ  rL  s       r"   test_bincount3_exceptions)TestNPFunctions.test_bincount3_exceptionsb  s    T"6* 	! z*f1b'Aq6" +;&**+	- z*f2r(D"% +8&**+	- +* +*rl  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[        (       aV  [
        R                  " / SQ5      n[
        R                  " / SQ5      nU" X#S   5        U" X#5        U" [        U5      U5        g [
        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)NTrE  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  r0   ra   r  r  r  
cfunc_leftcfunc_rightr  pyfunc_leftpyfunc_rightr  s       r"   r%  0TestNPFunctions.test_searchsorted.<locals>.check  g    a|H+C##H2"1(HQ"C##H2#A)Ha#C##H2r$   )r   r/  r  )r   r:  r-  r   r-  r:  rU  r/  r  r-  r  r         @r+  c                 ,    [         R                  " XSS9$ )Nnonsensere   r^   r`   s     r"   bad_side3TestNPFunctions.test_searchsorted.<locals>.bad_side  s    ??1j99r$   c                 ,    [         R                  " XUS9$ )Nre   r^   )r0   ra   rf   s      r"   nonconst_side8TestNPFunctions.test_searchsorted.<locals>.nonconst_side  s    ??1d33r$   ri   re   )r/  r:  r   r  rV  r  )	r  r/  r  r:  r   r  r  rV  r  rS  r  )rd   )r_   r   rg   rj   r   r   r>  r  r[  r  r<  floatr  )r  r%  binsrA   r0   ra   r  r  r  r{  r|  r  r}  r~  s   `       @@@@@@r"   test_searchsorted!TestNPFunctions.test_searchsortedu  s   T"6*'$'4
)4(6	3 	3 ?88I&DXXi(F $q	"$$t*f% 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   K;K!
K!
K/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[        (       aV  [
        R                  " / SQ5      n[
        R                  " / SQ5      nU" X#5        U" [
        R                  " U5      U5        g [        [        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                  XF5      nT R                  R                  XFUS	-  S-
  -   5      nU" X#5        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[
        R                  /[
        R"                  S9n[
        R                  " [
        R                  /[
        R"                  S9nU" X#5        [
        R$                  " S5      n[
        R$                  " S5      nU" X#5        [
        R                  " / SQ5      n[
        R                  " SS/5      nU" X#5        / SQnSnU" X#5        [
        R                  " / SQ5      n[
        R                  " SS/5      nU" X#5        g )NTrE  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   ry  rz  s       r"   r%  =TestNPFunctions.test_searchsorted_supplemental.<locals>.check  r  r$   )r/  r  r-  )r   r:  r  rV  r.  rT  r-  r  r7  )r-  rS  rZ  r/  
fill_valuer  r<  r   )FFTTFr  )123r  4)r_   r   rg   rj   r   r   r>  sortr  ranger  r.  r   choicer  fullr=  r  r[  )r  r%  r0   ra   element_poolisample_sizer  nansr  r{  r|  r  r}  r~  s   `        @@@@@@r"   test_searchsorted_supplemental.TestNPFunctions.test_searchsorted_supplemental  sK   T"6*'$'4
)4(6	3 	3 ?#A&A!K"''!*a 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 HHa[

3HHbffXRZZ0a 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[        (       aV  [
        R                  " / SQ5      n[
        R                  " SS/5      nU" X#5        U" [
        R                  " U5      U5        g SS[
        R                  /n[        R                  " XD5       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                  Xh5      nT R                  R                  XhUS
-  S-
  -   5      nU" X#5        U" [
        R                  " U5      U5        M     U" [
        R                  " U5      [
        R                   " S5      S9  g s  snf )NTrE  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   ry  rz  s       r"   r%  8TestNPFunctions.test_searchsorted_complex.<locals>.check0  r  r$   )r0  y       @      ?      @        r#  r'  r   r/  r6  r  r-  r:  r`   )r_   r   rg   rj   r   r   r>  r  r  	itertoolsr   complexr  r   r  r=  r[  )r  r%  r0   ra   poolr  r  r  r  r  r{  r|  r  r}  r~  s   `        @@@@@@r"   test_searchsorted_complex)TestNPFunctions.test_searchsorted_complex&  s_   T"6*'$'4
)4(6	3 	3 ?12A&&)*A!K"''!*a 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   G 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 )NTrE  c                  <   > T" U 6 nT" U 6 nTR                  X5        g r   ry  rn   r  r  r  r  r  s      r"   r%  ,TestNPFunctions.test_digitize.<locals>.checkZ  #    t}H,C##H2r$   r   Gz?r/  皙@r$  r  r  r        #@r.  z-infr  r  r/  r  r$  r  r  rS  r  r  r        ?)rl   r   r   r<  r  r=  r   shuffler  r  r  r>  r  )r  r%  rA   bins1bins2bins3all_binsxsr  r!   ri   r  r  s   `          @@r"   test_digitizeTestNPFunctions.test_digitizeV  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 )
NTrE  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rH  r  rI  rG  rJ  )rn   fnrM  r  r  r  r  s       r"   check_errorETestNPFunctions.test_digitize_non_monotonic_bins.<locals>.check_error  sU    uo&&z2fI 3 Lc3v'7'7#89 &22s   A
A&	r/  r  ffffff@r  r   r/  r:  )r   r   r/  r   r/  r/  r   r/  )rK  rl   r   r   r>  r  )r  r  r!   r  r  r  s   `   @@r"    test_digitize_non_monotonic_bins0TestNPFunctions.test_digitize_non_monotonic_bins  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 )NTrE  c                  <   > T" U 6 nT" U 6 nTR                  X5        g r   ry  r  s      r"   r%  9TestNPFunctions.test_digitize_supplemental.<locals>.check  r  r$   r-  r.  r  rS  )r/  r-  r  rS  r     r   )r/  r-  rS  r  r  )r   r   r/  )r/  r/  r   r/  r/  r/  r/  l          r/  )	rl   r   r   r[  r   r]  linspaceminrn  )r  r%  r!   r  r  r  s   `   @@r"   test_digitize_supplemental*TestNPFunctions.test_digitize_supplemental  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)NTrE  r#  )r'        @r$         @zx may not be complex)	rK  rl   r   r   r>  r  rI  rG  rJ  )r  r  r  r!   r'  r  funcrM  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 )NTrE  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  r;  ry  )rn   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   r<  r  )rA   r  r%  s     r"   check_values4TestNPFunctions.test_histogram.<locals>.check_values  sQ     ::n-D&&..($/ &! &![) &Mr$   )r   r  r/  r  r$  r  r  r  r  g     @E@r(  r*  r  )rp   r   r   r<  r=  r   r  )r  r  rA   r  r%  r  s   `  @@@r"   test_histogramTestNPFunctions.test_histogram  sc    T"6*	J	   7 86{b    Vr$   c                   ^ ^^ [        SS9" T5      mUUU 4S jn[        (       a0  Sn[        R                  [        R                  /nSS/nU" X4U5        g Sn[        R
                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  /n/ SQnU" X4U5        [        R                  " S	5      R                  S
S5      n[        R                  " S	5      nXg4Xv44 HR  u  pT R                  [        5       n
T" X5        S S S 5        SnT R                  U[        W
R                   5      5        MT     g ! , (       d  f       N:= f)NTrE  c                   > [         R                  " XX U5       H  u  p4pVn[        R                  " XSS9n[        R                  " XdS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	T" XUS9n
T" XUS9nTR                  X5        M     g )Nr<  r3  r   )r  r   r   r[  
issubdtypecomplexfloatingrV  r  )lengthsdtsmodesdt1dt2rM   r   r   r0   ra   r  r  r  r  r  s               r"   r%  7TestNPFunctions._test_correlate_convolve.<locals>.check  s    (1(9(9'E)$! IIa+IIa+==b&8&899R!V++C0A==b&8&899R!V++C0A!!T2At,''6)r$   r/  r:  r  valid)r/  r:  r  r  )r  r  samer  r  r  zonly supported on 1D arrays)r   r   r   r<  r?  rW  int32int64r  r  r[  r  rH  r   rI  rG  rJ  )r  r  r%  r  r  r  _a_br!   r'  rM  r  r  s   ``          @r"   _test_correlate_convolve(TestNPFunctions._test_correlate_convolve
  s   T"6*	7" ?G::r}}-CW%E'&ww"((BJJ

||R]],)gE"YYr]""1a(YYr]Xx(DA"";/6a 0/CMM#s6#3#345	 )//s   ,	E))
E7	c                 .    U R                  [        5        g r   )r  r   r  s    r"   test_correlateTestNPFunctions.test_correlate6  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-  TrE  r   z'a' cannot be emptyz'v' cannot be emptyzinvalid moder   zInvalid 'mode')rK  r   r  r[  r   rH  r  r=  rI  rG  rJ  )r  r  r  r  r  r!   r'  rM  s           r"   #_test_correlate_convolve_exceptions3TestNPFunctions._test_correlate_convolve_exceptions9  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_exceptionsN  s    00;r$   c                 .    U R                  [        5        g r   )r  r   r  s    r"   test_convolveTestNPFunctions.test_convolveR  s    %%h/r$   c                 .    U R                  [        5        g r   )r  r   r  s    r"   test_convolve_exceptions(TestNPFunctions.test_convolve_exceptionsU  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  ry  )r  r  r  paramsr
  r  r  s          r"   _check_outputTestNPFunctions._check_outputX  s-    #F#ofow?r$   c                 >  ^ [         n[        SS9" U5      n[        U R                  X5      mU4S jn[        (       aE  U" [
        R                  " / SQ5      5        U" [
        R                  " / 5      5        U" / SQ5        g 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 )NTrE  c                    > [         (       a  / SQnS/nO/ SQnSS/nSU 0nT" U5        U H  nXS.nT" U5        M     [         (       d5  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 g )	N)Nr/  r:  F)Nr   r/  r:  r  r  Tr!   )r!   r   )r!   r  r  )r   )r!   	n_choicesincreasing_choicesr
  rM   r  r  s         r"   _check1TestNPFunctions.test_vander_basic.<locals>._checkb  s    (	&+W"1	&*E]" 1XF&!  )f%  #?"4J#$?F!&) #5
 #A&8
'(
!K%f- '9 # #r$   r  r   r/  r:  )r/  r:  r  r-  r        %@r  rS  r-  333333?r.  333333?Fr  r<  r   r/  r:  r  r  r-  rV  r  )r)  r'  r  r  )r  g-@A`"	@)TFr  )r  r   r   r  r   r   r>  r[  r  r  r.  r  r  r  r<  )r  r  r  r  r=  r  s        @r"   test_vander_basic!TestNPFunctions.test_vander_basic]  s~   T"6* 2 2FB	.: ?288I&'288B< 9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)NTrE  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  rI  rG  rJ  )r   rM  r  r  r!   s     r"   _check_n8TestNPFunctions.test_vander_exceptions.<locals>._check_n  sE    '')Va1 *MMHf../1 *)s   A
ArA  r/  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.)rH  r  r  rG  rJ  )r!   rM  r  r  s     r"   	_check_1d9TestNPFunctions.test_vander_exceptions.<locals>._check_1d  sG    "":.&a /M !1!124 /.   	A
Ar  )r  r  r  )r:  r  r  )r  r   rK  r   r[  r.  rH  r  rI  rG  rJ  r  )r  r  r  r   rM  r"  r  r!   s   `     @@r"   test_vander_exceptions&TestNPFunctions.test_vander_exceptions  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 )NTrE  c                  0    [         R                  " SS5      $ Nr  r   r[  r  r$   r"   n_variations6TestNPFunctions.test_tri_n_basic.<locals>.n_variations      99R##r$   r   )r   r   r   r  )r  r  r  r  r-  rM   r
  s          r"   test_tri_n_basic TestNPFunctions.test_tri_n_basic  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 )NTrE  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:  rM   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 )NTrE  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      $ NrS  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-  rE  rM   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 )
NTrE  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      $ r6  r7  r  r$   r"   r:  :TestNPFunctions.test_tri_n_m_k_basic.<locals>.m_variations  r<  r$   c                  0    [         R                  " SS5      $ rC  r,  r  r$   r"   rE  :TestNPFunctions.test_tri_n_m_k_basic.<locals>.k_variations  rG  r$   r   r   r   r   )r   r   r   r  )r  r  r  r  r-  r:  rE  rM   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 )NTrE  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-  rV  r   k must be an integer)r  rG  rJ  )r   rM  r  r  s     r"   r  3TestNPFunctions.test_tri_exceptions.<locals>._check)  sD    '')Vaa  *)S1A1A-BBBB *)s	   	?
Ar  r/  r:  )r   r   rK  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      $ )NTrE  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>._check4  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_m1  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      $ )NTrE  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 )NrD  rS  r   )	r  r8  r9  r  r  r=  r   r\  r]  )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$   r_  ra  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  r/  r  r  r  Tr0   r  s    r"   	check_oddATestNPFunctions._triangular_matrix_tests_inner.<locals>.check_oddQ  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  rk  rm  s    r"   
check_evenBTestNPFunctions._triangular_matrix_tests_inner.<locals>.check_evenY  s?    1I		'"A1I		,'A1I133Kr$   ?   r  @   ih  r  r  r-  rV  r  )r  r  r  Forderrr  )r   r[  r  r>  asfortranarray)r  r  r  rn  rs  r@   s     `   r"   r`  .TestNPFunctions._triangular_matrix_tests_innerN  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)NTrE  r-  rV  r  rU  rV  )r   rK  r   r  r  rI  rG  rJ  )r  r  r  r0   rM  s        r"   _triangular_matrix_exceptions-TestNPFunctions._triangular_matrix_exceptionsn  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 r[  )r   r  typer=  r  r   r\  r]  )	r  r  rn   r  r!   r  r  egs	            r"   _triangular_indices_tests_base.TestNPFunctions._triangular_indices_tests_basey  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 )NrS  r  r  )r  r  rM   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 )NrS  r/  r:  r  )r  r  rM   r   s       r"   _triangular_indices_tests_n_k-TestNPFunctions._triangular_indices_tests_n_k  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 )NrS  r:  r  )r  r  rM   r   s       r"   _triangular_indices_tests_n_m-TestNPFunctions._triangular_indices_tests_n_m  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 )NrS  r/  r:  TrE  )r  r  r   )r  r  rM   r   r   r  s         r"   _triangular_indices_tests_n_k_m/TestNPFunctions._triangular_indices_tests_n_k_m  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 )NTrE  rS  r   r  r  boolr  r   r  r   r  r  r  r=  r  r\  r]  )r  r  r  r=  rM   r   r@   r  r  r  r  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 )NTrE  rS  rD  r  )r  r  r  r=  rM   r   r@   r   r  r  r  r  s               r"   $_triangular_indices_from_tests_arr_k4TestNPFunctions._triangular_indices_from_tests_arr_k  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)NTrE  r'  zn must be an integerr   r/  rU  rV  r   r   zm must be an integer)r   r   
parametersr  rI  rG  rJ  )r  r  r  r  rM  s        r"   _triangular_indices_exceptions.TestNPFunctions._triangular_indices_exceptions  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)	NTrE  r   r/  r  r-  zinput array must be 2-dr+  rU  rV  )r   r   r  r  rI  rG  rJ  )r  r  test_kr  ndimsr0   rM  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   )rb  r   rg  r   r  s    r"   test_tril_basicTestNPFunctions.test_tril_basic      ''/))(3r$   c                 .    U R                  [        5        g r   )r~  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   )	r  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   )rb  r  rg  r
  r  s    r"   test_triu_basicTestNPFunctions.test_triu_basic  r  r$   c                 .    U R                  [        5        g r   )r~  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   )	r  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)r  r  )r:  r  )r   r  rK  rH  r   rI  rG  rJ  )r  r  errmsgrM  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  r0   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           
      L   [         n[        SS9" U5      n[        (       a  SOSn[        U6 nU GHq  n[        (       a  S[	        SUS-
  5      4OSUS-
  4n[        U6 nU GH;  n[
        R                  " U5      n	U R                  R                  U	5        XR                  R                  SS5      -  n	U R                  R                  U	R                  5      n
S	XUS-   U
* U* /n[
        R                  " U	5      U   nU R                  U" X5      U   U5        [        (       d]  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X5        M     GM>     GMt     g 
NTrE  )rS  rX  )rS  r  r/  r-  r:  r  r   )r   r   r   r  r  r   r[  r   r  r_  rY  r  r  tolisttupler  r  r  r  j_range_argsj_rangeji_range_argsi_ranger  didxr"  tgtr   s                 r"   test_partition_fuzz#TestNPFunctions.test_partition_fuzzK	  s}    T"6*$3O&A. Aq1u."#QU  \*GIIaL  #((B//hh&&qvv.#!a%#r2ggajo''ac(:(+- '++E!((*c,B3,G,/1++E%
2CS,I#,N,/1 A//qD !  r$   c                 d   [         n[        SS9" U5      n[        (       a  SOSn[        U6 nU GH}  n[        (       a  S[	        SUS-
  5      4OSUS-
  4n[        U6 nU GHG  n[
        R                  " U5      n	U R                  R                  U	5        XR                  R                  SS5      -  n	U R                  R                  U	R                  5      n
S	XUS-   U
* U* /n[
        R                  " U	5      U   nU R                  X" X5      U      X   5        [        (       de  U R                  X" U	R                  5       U5      U      X   5        U R                  X" [        U	R                  5       5      U5      U      X   5        U H  nU R                  XX5        M     GMJ     GM     g r  )r$  r   r   r  r  r   r[  r   r  r_  rY  argsortr  r  r  r  r  s                 r"   test_argpartition_fuzz&TestNPFunctions.test_argpartition_fuzzk	  s    T"6*$3O&A. Aq1u."#QU  \*GIIaL  #((B//hh&&qvv.#!a%#r2jjmC(''%-*<(=()0 '++AeAHHJ.DS.I,J,-F4++%ahhj 137<=  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 )NTrE  rS  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rH  r  rG  rJ  r0   r"  r  r  r  s      r"   r  ETestNPFunctions.test_partition_exception_out_of_range.<locals>._check	  @    "":.!a /q{{#':::: /.   	A
Ar  r  )r   r   rK  r   r[  r  r  r0   r  r  s   `   @r"   %test_partition_exception_out_of_range5TestNPFunctions.test_partition_exception_out_of_range	  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 )NTrE  rS  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>._check	  r  r  r  r  )r$  r   rK  r   r[  r  s   `   @r"   (test_argpartition_exception_out_of_range8TestNPFunctions.test_argpartition_exception_out_of_range	  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 )	NTrE  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  r0   r"  rM  r  r  s      r"   r  HTestNPFunctions.test_partition_exception_non_integer_kth.<locals>._check	  C    '')Va *MM;f../1 *)   	A		
ArS        "@ffffff
@r  r/  r:  )r   r   rK  r   r[  r>  r  r  r  r  r0   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 )	NTrE  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  rS  r  r  r/  r:  )r$  r   rK  r   r[  r>  r  r  s   `   @r"   +test_argpartition_exception_non_integer_kth;TestNPFunctions.test_argpartition_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U" SS5        U" SS5        g )NTrE  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   rK  ra  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 )NTrE  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   rK  ra  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 )NTrE  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  r/  r   )r   r   rK  r   r>  ra  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 )NTrE  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  r/  r   )r$  r   rK  r   r>  ra  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 )	NTrE  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$  rS  rV  r  r:  r"  )r   r   rK  r   r[  r  ra  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 )	NTrE  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>._check1
  r*  r$  rS  rV  r  r:  r+  )r$  r   rK  r   r[  r  ra  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 )NTrE  c                 H   > T" X5      nT" X5      nTR                  X#5        g r   ry  r0   r"  r  r  r  r  r  s       r"   r%  9TestNPFunctions.test_partition_empty_array.<locals>.check>
  #    a~H-C##H2r$   r  r:  r/  r   r  r  )r   r   r   r>  r  r  r%  r0   r@   r  r  s   `   @@r"   test_partition_empty_array*TestNPFunctions.test_partition_empty_array8
  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 )NTrE  c                 H   > T" X5      nT" X5      nTR                  X#5        g r   ry  r5  s       r"   r%  <TestNPFunctions.test_argpartition_empty_array.<locals>.checkQ
  r7  r$   r8  r  r  )r$  r   r   r>  r  r9  s   `   @@r"   test_argpartition_empty_array-TestNPFunctions.test_argpartition_empty_arrayK
  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     [        (       a  SnOSn[        R                  " U5      n[        R                  " X3R                  S-  5      nUR                  S-  S-   nU R                  U" X5      U   U5        [        R                  " U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[        (       a  [        R                  " S"5      S#-  n[        R                  " [        R                  " S"5      S#-  5      nU R$                  R'                  U5        [)        SUR                  S#5       H2  nU R                  U" X>5      U   X   5        U R                  XX>5        M4     O[        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  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        [        R.                  " [        R                  " UUS)9S*5      n[1        U R$                  R&                  U5        [)        UR                  5       H  nU" X>5      nU R                  UU   U5        [        R2                  R5                  US U UU   5        [        R2                  R5                  UU   UUS-   S  5        U R                  XX>5        M     GM     g s  snnf )+NTrE  r   r/  r  rX  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  1   r-  rX  /   r  rV  rq  r  )      r6  @B rS  r  r:  r  rX  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     rU  r   r  r  r  r  rq  r<  r  r/  )r   r   r   r>  r  r  r  r[  r  r  r  r  r  r   r4  rY  r  isnanr   r  r  r  r  tilemapr\  assert_array_less)r  r  r  r  r  r"  okthr  r  r   r0   SIZEr!   midr  dtstdd1r  s                       r"   test_partition_basic$TestNPFunctions.test_partition_basic^
  s    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 ?DDIIdOGGAvv{#ffkAoqs+S1IIdQhGGAvv{Q'ffkAoqs+S1 GGBK!q'*2.2q'*1-q1vv!xxa)"-.... ?		"!A''"))B-!+,CHHQ1affa(  qQ8++F1@ ) 		"!A''"))B-!+,CHHQ166]  qQ8++F1@ # HH ( )uQ}S12LA!#2:: 6H 6"1r1gg 6HEB		!2&AHHQ1B/8B  "%166]!K  1q)

,,QrUAaD9

,,QqT1QUV9=++F1@ #  Is   ^c           	      F   [         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     [        (       a  SnOS n[        R                  " U5      n[        R                   " X3R"                  S-  5      nUR"                  S-  S-   nU R                  X" X5      U      U5        [        R                  " U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        [        R0                  [        R2                  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        [        R4                  " [        R                  " UUS9S)5      n[7        U R*                  R,                  U5        [/        UR"                  5       H  nX2" X?5         nU R                  UU   U5        [        R8                  R;                  US U UU   5        [        R8                  R;                  UU   UUS-   S  5        U R                  XX?5        M     GM      g s  snnf )*NTrE  r<  r   r/  rB  rC  r:  rD  rE  r  rF  rG  rH  r  rI  rJ  r  rT  rK  rL  rM  r  rV  rq  r  r  rN  rO  rP  r7  rQ  rS  r  rR  r  rS  rT  rV  rW  rX  )r$  r   r   r>  r  r  r  r  r[  r  r  r  r  r  r  r   r4  rY  r  rY  r  r   r  r  r  r  rZ  r[  r\  r\  )r  r  r  r  r  r  r"  r]  r  r  r   r0   r^  r!   r_  r  r`  ra  rb  rc  r  s                        r"   test_argpartition_basic'TestNPFunctions.test_argpartition_basic
  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 ?DDIIdOGGAvv{#ffkAo5=-.4IIdQh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  r/  )r   r  r\  r\  rG  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 rj  )r   r  r\  r\  rG  rm  r  rn  s          r"   assert_argpartitioned%TestNPFunctions.assert_argpartitionedI  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 NTrE  )r  r  r:  r/  )r   r  )r  r  rs  )r/  r  r  r  rU  r  r-  r  rV  rW  )r   r   r   rp  r   r>  r$  r  r[  r   r  r  r  rY  )r  r  r  rp  r  r  keyss          r"   test_partition_iterative(TestNPFunctions.test_partition_iterativeT  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 rv  )r$  r   r   rs  r   r>  r  r[  r   r  r  r  rY  )r  r  r  rs  r  r  rw  s          r"   test_argpartition_iterative+TestNPFunctions.test_argpartition_iterativev  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 )NTrE  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  )r0   r"  r  r  ra  r  r  r  s        r"   r%  7TestNPFunctions.test_partition_multi_dim.<locals>.check  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  rl  r   rz  	full_liker  r.  rJ   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r/  rS  0   r  r  r  r  r  r  r  r  r  )r   r   r   r  r  r.  r  r  r  r%  r  r0   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 )NTrE  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 r  )r   r8  r  r  r  r  )	r0   r"  r  r  r  ra  r  r  r  s	         r"   r%  :TestNPFunctions.test_argpartition_multi_dim.<locals>.check  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r  r  rJ   s    r"   r  ATestNPFunctions.test_argpartition_multi_dim.<locals>.a_variations  r  r  r/  rS  r  r  r  r  r  r  r  r  )r$  r   r   r  r  r.  r  r  r  s   `     @@r"   test_argpartition_multi_dim+TestNPFunctions.test_argpartition_multi_dim  s    T"6*	G	1 KK2r"!Aw!vv!IIi ?C2q\c " #r$   c                     [         n[        SS9" U5      nSn[        S:  a  SU-   n[        R                  " SSS5      [        R
                  " S	5      4 H  nU H  nU R                  XXE5        M     M      g 
NTrE  )r  r   r/  r%  r  r/  rS  rs  TFT)r   r   r   r   r  r>  r  r  r  r  kthsr  r"  s         r"   test_partition_boolean_inputs-TestNPFunctions.test_partition_boolean_inputs  sn    T"6*6! 4'DQB'2E)FFA++F1B  Gr$   c                     [         n[        SS9" U5      nSn[        S:  a  SU-   n[        R                  " SSS5      [        R
                  " S	5      4 H  nU H  nU R                  XXE5        M     M      g r  )r$  r   r   r   r  r>  r  r  s         r"    test_argpartition_boolean_inputs0TestNPFunctions.test_argpartition_boolean_inputs  sn    T"6*6! 4'D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)NTrE  r   r:  r/  r                @)r*  z)ddof must be a real numerical scalar typez)Cannot convert non-finite ddof to integer)rA  gffffffzddof must be integral value)r&  r   rK  r   r>  rl  r[  r  rI  rG  rJ  r  r.  rH  r  )r  r  r  r   r*  rM  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 )NTrE  +=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:  r/  r6  r-  rU  )g&S:?o_?g#~j?甇ZӼ?Q|?r  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  )r/  r  r:  r  ))rA  皙@r  r  )r   r>  rl  r   randnr  rz  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_basic7  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 )NTrE  r  r	  i   rX  r  r  FT)Nr  r   r/  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_argumentsA  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 )NTrE  r  r	  r  rX  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_argumentsT  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 )NTrE  r  r	  r  )r  rA  Q?r'  r  r3  r%  r  )r3  r%  r  rA  r  rS  r  r/  r  )r  rA  r  r(  )r   r   r  r   r>  r   r  r  )	r  r  r  r  r  r   r'  r
  r(  s	            r"   cov_corrcoef_edge_cases'TestNPFunctions.cov_corrcoef_edge_casesb  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  TrE  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 )NTrE  r  r	  ))r?  }Ô%IT)r  r?  r!   )r,  r   r   r  r  s         r"   &test_corrcoef_edge_case_extreme_values6TestNPFunctions.test_corrcoef_edge_case_extreme_values  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  TrE  r  r	  r   r:  r/  r-  )r   r*  )r&  r  r   r   r  r   r>  rl  )r  r  r  r  r   r
  s         r"   test_cov_edge_cases#TestNPFunctions.test_cov_edge_cases  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)NTrE  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   rM  r  r  s     r"   _check_m5TestNPFunctions.test_cov_exceptions.<locals>._check_m  s@    '')Va *MM8#f>N>N:OP *)r  r-  rV  r  )))r  r8  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)NrL  zy has more than 2 dimensionsr  )r   r'  rM  r  r  s      r"   _check_y5TestNPFunctions.test_cov_exceptions.<locals>._check_y  s@    '')Va *MM8#f>N>N:OP *)s   A
Ar}  )rA  r  rA  )))r  r  r  r  r  rL  z$m and y have incompatible dimensionsr  r/  z/2D array containing a single row is unsupported)r&  r   rK  r   r  r>  r[  rH  r  rI  rG  rJ  r  RuntimeError)r  r  r  r   r  r'  rM  r  s   `      @r"   test_cov_exceptions#TestNPFunctions.test_cov_exceptions  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                 l   [         n[        SS9" U5      n[        U R                  X5      nS nS n[        (       a  SOSnU" [
        R                  " SSU5      5       HR  nS	U0nU" U5        U" U5       H7  n	XyS
.nU" U5        XyS.nU" U5        U" U5       H  n
XyU
S.nU" U5        M     M9     MT     g )NTrE  c              3   v   #    S v   U v   [         (       d"  U R                  [        R                  5      v   g g 7fr   )r   rV  r   r	  rJ   s    r"   to_variations9TestNPFunctions.test_ediff1d_basic.<locals>.to_variations  s,     JG"?hhrxx(( #s   79c              3      #    U v   [         (       d7  U R                  SSS5      v   U R                  [        R                  5      v   g g 7f)Nr  r:  )r   r  rV  r   r  rJ   s    r"   ary_variations:TestNPFunctions.test_ediff1d_basic.<locals>.ary_variations  s:     G"?ii1a((hhrxx(( #s   AA
rV  r  r  r  r0  )r0  r2  )r0  r1  )r0  r2  r1  )r/  r   r   r  r   r   r  )r  r  r  r  r  r  
array_sizer0  r
  r0   r1   s              r"   test_ediff1d_basic"TestNPFunctions.test_ediff1d_basic  s    T"6*++V;	)	) */Qr
!"++b!Z"@ACS\F6N"3'!$4v!$2v&s+A%(1EF6N , (	 B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)NTrE  )TTFz+Boolean dtype is unsupported (as per NumPy))r/  r   rK  r  r   r>  rG  rJ  )r  r  r  r  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)NTrE  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)	NrS  r-  r:  rU  r  r/  r  r  r  r  r$   r"   r  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  rH  r   rI  r	   unicode_typerG  rJ  r  r  r  r  r0   r  r  rM  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)NTrE  r  cannot index arrayzwith 2 indices)
r   r   rK  rH  r   r   r[  rI  rG  rJ  rL  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)NTrE  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)	Nr/  rS  r-  r:  rU  r  r  r  r  r  r$   r"   r  7TestNPFunctions.test_flipud_basic.<locals>.a_variationsK  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  rH  r   rI  r	   r  rG  rJ  r  s           r"   test_flipud_basic!TestNPFunctions.test_flipud_basicG  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)NTrE  r/  r   zwith 1 indices)r   r   rK  rH  r   rI  rG  rJ  rL  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)NTrE  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)Nr/  rS  r-  r:  rU  r  r  r$   r"   r  5TestNPFunctions.test_flip_basic.<locals>.a_variationso  sY     ((1+))B-))B-''1--))B-''1a00s   BBr  zCannot np.flip on UniTuple)r   r   r  rH  r   rI  rG  rJ  r  s           r"   test_flip_basicTestNPFunctions.test_flip_basick  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)r/  r  )r  r  )r  r  r  )r  r  r'        N@      Nr(  )r(  r  r)  r:  r   r/  r:  r%  r        ?       @      @      @      ?             @                   @r   r  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,TrE  )r   r   r   r\  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)NTrE  r  r-  +The first argument "start" must be a number+The second argument "stop" must be a number)r   r   rK  rH  r   rI  rG  rJ  r  r  rM  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>.inputs  r"  r#  TrE  r   r   r   r\  r$  r%  s         r"   test_logspace3_basic$TestNPFunctions.test_logspace3_basic  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)r/  r  rU  )r  r  r  )r  r  rC  r  r  rT  )r  r  r  r'  r  F   r  r(  P   )r(  r  Z   r)  rU  r  r  r/  r:  rC  r%  r  rT  r  r  r  r9  r  r  r;  r  r<  r  r  r$   r"   r  =TestNPFunctions.test_logspace3_with_num_basic.<locals>.inputs  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TrE  r2  r  r  r  r  r   r   r   s          r"   test_logspace3_with_num_basic-TestNPFunctions.test_logspace3_with_num_basic  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)	NTrE  r  r-  r*  r+  r   z+The third argument "num" must be an integer)r   r   rK  rH  r   rI  rG  rJ  r,  s      r"   test_logspace3_exception(TestNPFunctions.test_logspace3_exception  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  )r/  r7  )r7  r/  )r/     )r  r  r%  r(  r3               @@r1  r0  r/  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TrE  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)	NTrE  r  r-  %The argument "start" must be a number$The argument "stop" must be a numberr   &Geometric sequence cannot include zero)	r   r   rK  rH  r   rI  rG  rJ  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)#Nr7  r8  r:  )r/  r7  r  )r/  r7  r  )r7  r/  r  )r/  rF  r  )rG  r  r  r  r%  rS  rU  r(  r  r3  rH  r  r1  r0  r-  r/  r:  rC  r  rT  r  r  r  r9  r  r  r;  r  r<  rI  r  r$   r"   r  5TestNPFunctions.test_geomspace3_basic.<locals>.inputs1  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-TrE  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)NTrE  r  r-  rS  rN  rO  z%The argument "num" must be an integerr   rP  )	r   r   rK  rH  r   rI  rG  rJ  r  r,  s      r"   test_geomspace3_exception)TestNPFunctions.test_geomspace3_exceptionO  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 )/NTrE  r/  rB  rT  r6  r   r  rQ  r  r  r:  r  r   ir  gL4@ignore)invalidr  r  g      r  r3  y              0@r-  r  r	  y             y            @tvIh%<=r#  y     @@     @@y            ?y     @     @@r  r1  r0  r  y              gV瞯<r  y              y             y      @      @r.  )r   r   r   r  r=  r  rG  imagr   errstaterY  rm  realr   )r  cfunc2cfunc3pfunc3r'  r!   r   r   s           r"   test_geomspace_numpy$TestNPFunctions.test_geomspace_numpym  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 )NTrE  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NrS  r-  r:  rU  rv  r  r  r$   r"   r  6TestNPFunctions.test_rot90_basic.<locals>.a_variations  `     ))B-''1--))B-''1a00))B-''1aAq99   A?B)r   r   r  )r  r  r  r  r0   r  r  s          r"   test_rot90_basic TestNPFunctions.test_rot90_basic  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 )NTrE  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ri  r  r  r$   r"   r  =TestNPFunctions.test_rot90_with_k_basic.<locals>.a_variations  rk  rl  r.  rV  )r   r   r  r  )r  r  r  r  r0   r   r  r  s           r"   test_rot90_with_k_basic'TestNPFunctions.test_rot90_with_k_basic  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)NTrE  r  z'The first argument "m" must be an arrayr  r:  rU  z*The second argument "k" must be an integerr  zInput must be >= 2-d.)r   r   rK  rH  r   rI  rG  rJ  r   r[  r  rL  s       r"   test_rot90_exception$TestNPFunctions.test_rot90_exception  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 )NTrE  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)Nr6  r:  r   )r/  r  H   rv  r  r/  )r:  r/  r-  r  r  r  r  r<  rT  rS  r/  r%  )r   r[  r  r  r  r>  r  r  rJ   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   r\  assert_equalr  r  r  r  r  r{  rn   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 )NTrE  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   r[  r  r  r  r  r$   r"   r{  ;TestNPFunctions._check_array_split.<locals>.args_variations7  sg     ))A,/!ryy|$a''		!%q(())B-''A.11s   BBr}  r  s           r"   _check_array_split"TestNPFunctions._check_array_split2  sT    T"6*	2 $%Dt}H,CJJ##Hd3i8	 &r$   c                 X    U R                  [        5        U R                  [        5        g r   )r  r   r  r  s    r"   test_array_split_basic&TestNPFunctions.test_array_split_basicC  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)r  r   rK  rH  r  r   r   r  rI  rG  rJ  )r  rM  s     r"   test_split_basic TestNPFunctions.test_split_basicG  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'  r  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  rV  r  rV  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  rV  r  r  r  r  r$   r"   inputs3D5TestNPFunctions.test_vhdsplit_basic.<locals>.inputs3Dj  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   r/  r   r  r   r  )r   r   r   r   r  r  )r  r  r  r  r  fmindimnamer  r  r  r0   r   s                r"   test_vhdsplit_basic#TestNPFunctions.test_vhdsplit_basicW  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   r/  r   r  r   TrE  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   rK  rH  r   rI  rG  rJ  r   r>  r  )r  r  r  r  r  rM  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 )NTrE  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-  )rA  r  r  r  F)r  rA  g333333@r  )r   r[  r  rz  r>  r  r.  r  r$   r"   r  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  rD  rS  r7  r  r$   r"   shift_variations9TestNPFunctions.test_roll_basic.<locals>.shift_variations  s,    ??00-27R.2B C Cr$   )r4  r   r  )	r  r  r  r  r  r0   r5  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)NTrE  )rA  r  rS  zshift must be an integer)r4  r   rK  r  r   r[  rG  rJ  )r  r  r  r5  r  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        [        (       a  [        SS5      O[        SS5      nU H  nXF:  nU" XtS.5        M     [        (       a'  [        R
                  " S	5      R                  S
S5      nO'[        R
                  " S5      R                  SSS
5      nUS:  nU" XtS.5        Sn[        R                  " S
5      R                  5       nU" XtS.5        / SQn/ SQnU" XtS.5        [        R                  " SSS5      nSS[        R                  SSSSSS4	n[        (       ac  [        R                   " [        R"                  " US
5      S5       H2  nU" XtS S
 S.5        U" [        R$                  " U5      US S
 S.5        M4     OW[        R"                  " US5       H<  nU" XtS.5        U" [        R$                  " U5      R                  SS5      US.5        M>     [        R$                  " / SQ5      n[        R$                  " / 5      nU" XtS.5        [        R$                  " / SQ5      n[        R$                  " / SQ5      nU" XtS.5        [        R$                  " / SQ/ SQ/5      n/ SQnU" XtS.5        [        R$                  " / SQ/ SQ/5      n[        R$                  " / SQ5      R                  SSS5      nU" XtS.5        [        R&                  " [        R
                  " S5      R                  S
SS5      5      n[        R(                  " SS 5      nU" XtS.5        U" XtS S S2   S.5        [        R$                  " S5      nS H  nU" XtS.5        M     SnSnU" XtS.5        [        R$                  " S5      n[        R$                  " SS/5      nU" XtS.5        [        R
                  " S5      n[        R$                  " / S!Q5      R                  SS
5      S"-  nU" XtS.5        g )#NTrE  rS  r  r-  r  rW  rG  r  r  r  r  g@)r  r  r  r-  r  )rA  r  r  r  r  r  rV  Fr(  g333333r/  r'  y              ?r:  r  )r/  r   r/  r   r  )r/  r   r/  r   r/  r   )r/  r   r/  r   r/  r   r   r   rD  r  )r/  r   r/  r   r   r   r3  )rF  r   r   r  r   r[  r   r  r   r  r  eyeflattenr  r  r  islicecombinations_with_replacementr>  rz  rr  )	r  r  r  r  r0   threshold_range	thresholdr  r  s	            r"   test_extract_basic"TestNPFunctions.test_extract_basic  sw   T"6*++V;IIbM*9/%A,uR}(I=D01 ) ?		"%%a+A		"%%aA.A3wT,--vvay  "T,- T,-KKB"eRVVRtQTJ?!((;;L!L TBQ%89RXXd^AbqEBC	 "?? !%T45RXXd^%;%;Aq%A!L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)NTrE  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  r0   r  r  r  r  s       r"   r  7TestNPFunctions.test_extract_exceptions.<locals>._check   sD    ?C"":.!d /MM#s1;;/0 /.s   	A
A)r/  r   r/  r   r/  r   r/  )r/  r   r/  r   r/  r  rD  r  )TFFFT)TFTFFTF)rF  r   rK  r   r>  rH  r  rI  rG  rJ  r[  )r  r  r0   r  r  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_basicr]  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 )NTrE  r  r'  )r  r/  r:  r:  r:  rX  r  r-  rD  rS  r  r  r^  r	  r  rU  r   r3  r<  r  )r   r   r  r   r[  r  r  r   r  r>  r  r.  r?  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 )NTrE  r  r  rV  r  rO  r  )r  rV  r  r-  rV  r  r  r  r:  r  rU  r-  r  r  )r  r-  r  rA  r   rS  r3  r#  r  )
r   r   r  r   r>  r[  r  r   r  r  )r  r  r  r  r'  r!   s         r"   r  %TestNPFunctions.test_np_trapz_x_basicd  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_questionabler]  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 )NTrE  )TFTTr'  )r   r   r  r   r>  rV  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_basicrb  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 )NTrE  r  r:  rU  r  )r/  r  r-  rV  r  r-  rS  r  r^  r	  r  r  r  r3  rC  rD  r  r,  rS  r/  r  rU  )r   r   r  r   r  r  r.  r[  r  exprf  r   r\  assert_almost_equalr>  )r  r  r  r  r'  rT  r!   r  s           r"   r  &TestNPFunctions.test_np_trapz_dx_basic  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_basicrd  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 )NTrE  r:  r  r  r  rX  r  rV  r  r  r-  r  rA  r8  )
r   r   r  r   r>  r[  r  r   r  r  )r  r  r  r  rT  r'  r!   s          r"   r  (TestNPFunctions.test_np_trapz_x_dx_basic  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_exceptionsrd  r  s    r"   !test_np_trapezoid_x_dx_exceptions1TestNPFunctions.test_np_trapezoid_x_dx_exceptions  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)NTrE  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
  r  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-  rV  r  r  r  r  r'  r  r  r  r-  $   r  r  zy cannot be 0DFzy cannot be a scalar)r   rK  r   r[  r  r>  r  rI  rG  rJ  r  )r  r  r  r'  r!   rT  r  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UU 4S jn[         R                  " S5      R                  S5      n[         R                  " SS//5      nU" USS9  U" UUS	9  U" USUS9  g )Nr6  r+  e   rU  rT  rZ  TrE  rV   rS  )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)NrV   z)Weights sum to zero, can't be normalized.)rH  ZeroDivisionErrorrJ  r  rG  datarW   r  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)NrV   z81D weights expected when shapes of a and weights differ.rH  	TypeErrorrJ  r  rG  r  s       r"   test_1D_weights5TestNPFunctions.test_average.<locals>.test_1D_weightsi  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)Nri  )Numba does not support average with axis.r  )r  r>   rW   r  r  r  r  s        r"   test_1D_weights_axis:TestNPFunctions.test_average.<locals>.test_1D_weights_axisq  sL    ""9-dw7 .++CSXHJ .-s   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)Nr=   r  r  )r  r>   r  r  r  r  s       r"   	test_axis/TestNPFunctions.test_average.<locals>.test_axisx  sJ    ""9-d& .++CSXHJ .-r  rV  rE  g      ?g      ?r/  r=   ri  )r   r  ranfr  r_  r]  rk  r   assertAlmostEqualr[  r  r8  )r  r   r0   rX   w0a_boolw_boola_intw_intd0rc  d2a_3dw_3dr  r  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	J yy|##G,JJ()* 	$Q 	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 )NTrE  r<  r:  r<  r;  r5  r=  r>  )r'  r'  r/  r   r'  r   )r'  r  g{Gz?gMbP?-C6?r4  gư>r)  )rZ  r  )r   r   )rg  r   r   r   int_r  r>  r8  r.  r  r  assertFalser  r  r  )r  r  r  min_intr0   simple_datar1   	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 )NTrE  g      Y@     @@}   r<  r-  r-  r-  r5  r4  r/  r   r)  r'  r:  )rg  r   r   r>  r[  rV  r<  r  r8  r.  r  )
r  r  r  r@   rD  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 )NTrE  r   r<  r!  r5  r4  r   r'  r)  r:  r/  )rg  r   r   r[  rV  r<  r  r8  r.  r  r>  r  )	r  r  r  rD  r   r   r"  r!   r'  s	            r"   test_ip_not_allclose_numpy*TestNPFunctions.test_ip_not_allclose_numpy  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 )NTrE  c                       \ rS rSrS rSrg)?TestNPFunctions.test_return_class_is_ndarray_numpy.<locals>.Fooi  c                 L    [         R                  " U0 UD6R                  U 5      $ r   )r   r>  r^  )clsrn   r  s      r"   __new__GTestNPFunctions.test_return_class_is_ndarray_numpy.<locals>.Foo.__new__  s!    xx0055c::r$   r  N)__name__
__module____qualname____firstlineno__r-  __static_attributes__r  r$   r"   Foor*    s    ;r$   r4  r/  )rg  r   r   ndarrayrG  r  r  )r  r  r  r4  r0   s        r"   "test_return_class_is_ndarray_numpy2TestNPFunctions.test_return_class_is_ndarray_numpy   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 )NTrE  r'  r  )rg  r   r   r>  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 )NTrE  r/  r   )rg  r   r   r>  r.  r\  r]  )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 )NTrE  r<  )rg  r   r   r   r  r  r>  r  )r  r  r  r  r0   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rK  )	rK  rg  r   r   r8  r  r  r   rL  rM  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 )<NTrE  r@  r	  r.  r-  rZ  r+  r  r  rn  )r
  r/  r:  r  r  g      r:  r  r  r  )rE  )r  ?r  r  rS  gffffff?r)  g333333"r  rw  rx  r  r  r  r   r  rU  Fr(  r'  r  rD  r6  r  r  r  )r/  r  rT  r  )r/  r:  gGz@r  )r/  r:        @r  r  )	r/  r  r:  rH  r  r  r$  r-  g      @r  rH  r$  r  r/  r:  r  r  r-  rV  )g~@g<ԛ@g3@i!N  r  )r6  r7  r4  )r   )rm  r   r   r  r   r  r[  r   r  r  r.  r>  r  r  r  r  r\  r  sinuniformr   cosr$  	ones_like)r  r  r  r  r!   ro  rp  factorr'  x0r   exactr  s                r"   test_interp_basic!TestNPFunctions.test_interp_basicP  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 )Nr6  F)replace)rY  r   putr   r  r  r  r.  )r  r0   r  s      r"   _make_some_values_non_finite,TestNPFunctions._make_some_values_non_finite  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)Nr        @r/  r-  rC  g333333@r:  g      @rA  r  g@g333333@gq=
ףp?g @gQ?r  r+  )rY  scale      @g      4@g      I@g      i@r  g333333?r  rG  )r   r  rJ  r[  r   r   normalr]  )r  ndatas     r"   r  TestNPFunctions.arrays  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 )
NTrE  i N  r   rS  r/  r  r  r	  )
rm  r   r   r  rJ  r  r  r   r  rV  )
r  r  r  r]  ro  rp  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 )NTrE  i  r   rS  r/  r     r3  r  )rm  r   r   r  rJ  r   r  r.  r  r  rL  r  r\  r$  )r  r  r  r]  ro  ra  r_  rp  r!   r  r  s              r"    test_interp_complex_stress_tests0TestNPFunctions.test_interp_complex_stress_testsX  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)NTrE  r  zarray of sample points is emptyr/  r:  z#fp and xp are not of the same size.rV  r  zxp must be 1Dzfp must be 1Dr#  z:Cannot cast array data from complex dtype to float64 dtyper3  )rm  r   rK  r   r>  rH  r  rI  rG  rJ  r[  r  r  rV  r  )	r  r  r  r!   ro  rp  r  r  complex_dtype_msgs	            r"   test_interp_exceptions&TestNPFunctions.test_interp_exceptionst  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 )NTrE  )r   r/  r  rS  r  ?r  r  rn  r/  r  )r   r  rk  r/  )rm  r   r   r  r   r>  r.  )r  r  r  r  ro  rp  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 )NTrE  r/  rS  r<  r  r   r  r-  r  r  r)  )rm  r   r  r   r[  r  r  r>  r  r\  r  r  r  r<  r  rJ  r   )r  r  r  rY  ro  ypincptsdecptsincresdecresinctgtdectgtr!   r'  rO  rp  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 )NTrE  r   r/  r-  r3  r  )rm  r   r   r  r\  r  )r  r  r  r!   r'  rO  y0s          r"   &test_interp_supplemental_complex_tests6TestNPFunctions.test_interp_supplemental_complex_tests  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 )NTrE  r  rS  r<  r:  )rm  r   r   r  r<  r  r  r  r  r[  rV  r  r  )r  r  r  dtypescomboxp_dtypefp_dtypex_dtypero  rp  r!   r  r  s                r"   -test_interp_float_precision_handled_per_numpy=TestNPFunctions.test_interp_float_precision_handled_per_numpy  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   ra  r  usr  psfsas){   ir  z<datetime64[%s]r<  z<timedelta64[%s])r   r  r
  r>  )units    r"   rA   *TestNPFunctions.test_isnat.<locals>.values  s     ------&&--t,,--t,,-- 566..--..T**1 hh1%6%=? ?hh1%7$%>@ @1s   C/C1TrE  )r   r   r  r   r5  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
r3  r  Fr/  r  r  r  r  r  c                 N    [        5       nU  H  nUR                  U5        M     U$ r   r
   r?   )rA   r0   r  s      r"   	make_listITestNPFunctions.test_asarray.<locals>.input_variations.<locals>.make_listL  s#    FAHHQK  r$   )r'  r  r  r  r  N)r   r>  r[  r  rl  )r  s    r"   r  6TestNPFunctions.test_asarray.<locals>.input_variations1  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 )Nr0   r=  r  )rG  r   r\  r$  r=  )jittedexpect_samer
  returnedr  s       r"   check_pass_through8TestNPFunctions.test_asarray.<locals>.check_pass_throughY  sh    ''H3K 78s ;<

**8C[A&/ ABr$   TrE  r0   kwsr=  rS  r<  F)
r8  r?  r   r   r  r/  r   r?  r[  r  )	r  r  r  r  r  r  r!   r
  r`  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  r7  r  r$   r"   case13TestNPFunctions.test_asarray_literal.<locals>.case1  s    ::m,,r$   c                  2    Sn [         R                  " U 5      $ r  r7  ra  s    r"   case23TestNPFunctions.test_asarray_literal.<locals>.case2  s    A::a= r$   c                  2    Sn [         R                  " U 5      $ )Nu+   大处 着眼，小处着手。大大大处r7  r  s    r"   case33TestNPFunctions.test_asarray_literal.<locals>.case3  s    =A::a= r$   c                  2    Sn [         R                  " U 5      $ )N r7  r  s    r"   case43TestNPFunctions.test_asarray_literal.<locals>.case4  s    A::a= r$   TrE  )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 )NTrE  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)rH  r   rI  rG  rJ  )alistr  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 $ )Nr/  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 $ )Nr0   r/  )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)r0   bcdefr  )r  r  s     r"   make_unicode_listWTestNPFunctions.test_asarray_rejects_List_with_illegal_dtype.<locals>.make_unicode_list  s#    A' (Hr$   )rK  r   r8  )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  r<  )r   r>  r  rW  r  r?  r  r$   r"   r  -TestNPFunctions.test_asfarray.<locals>.inputs  s     ((9%t++((Aq64bjj@@((Aq61277::((Aq612<<??((Aq612==@@s   C:C<TrE  r<  r  )
rB  r   r  rG  r   r  r=  inexactrD  r>  )r  r  r  r  r@   r`  r  r  s           r"   test_asfarrayTestNPFunctions.test_asfarray  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H  u  mmUUU 4S jn[        (       af  [        R
                  " S5      [        R                  " S5      [        R                  " / 5      /n[        R                  [        R                  /n/ SQnO[        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	QnS
 [         R"                  " UU5       5       n	[        (       a  S/ SQ/n
O
SSSS/ SQS/n
[         R$                  " U	U
5       H  nU H	  nU" XS9  M     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   ry  )r0   rt  nbfuncr  r  s     r"   r%  *TestNPFunctions.test_repeat.<locals>.check  s    ''q(:F1<NOr$   r/  rS  r  r7  r   r:  r  )r   r/  r:  r  r6  c              3   N   #    U  H  u  p[         R                  " XS 9v   M     g7f)r<  Nr(  ).0r0   ts      r"   	<genexpr>.TestNPFunctions.test_repeat.<locals>.<genexpr>  s)      #J$I <?1288A#6$Is   #%r'  Tr3  )rt  r<  )ru  r   rw  r   r   r  r[  r>  r<  r?  uint32r  uint64r  r  r  r  r   r8  )r  r  r  array_pyfuncarray_nbfuncr%  target_numpy_valuestarget_numpy_typesrepeats_valuestarget_numpy_inputstarget_non_numpy_inputsr  rt  onetwor  r  s   `              @@r"   test_repeatTestNPFunctions.test_repeat  s   	O	 $L) )5 ,;=NFFP  GGAJIIbMHHRL'# JJMM&" "+ GGAJIIdOHHq!fq!f-.HHRLHHb"X&'# IIHHIIHHJJJJLLMM	&" "3#J#,#4#45H5G$I#J +' +' __%8%<>-G!-  .> ))A,CcA3_c%c288A;/ % ))A,C!fq!fq!fq!fq!fq!fq!fMc%c288A;/ N #rxxAbhh?@"))B-27Y=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)Nr/  r  z#negative dimensions are not allowedr'  zIThe repeats argument must be an integer or an array-like of integer dtyper:  rH  z(operands could not be broadcast togetherr-  r  )Tr0   r  )ru  r   rw  rK  rH  r  r   r  rI  rG  rJ  r   r>  )	r  r  r  r  r  r  r  r  reps	            r"   test_repeat_exception%TestNPFunctions.test_repeat_exception7  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.@TFr/  r:  r   r6  r  r-  r  y      @       @rS  )r-  r:  )r~  r   r   r>  rY  r  r[  r  r?   r  r  )
r  r  r  
test_casesr!   r|  r}  ry  np_pyfunc_defaultsnp_nbfunc_defaultss
             r"   test_selectTestNPFunctions.test_selectq  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)NrS  Tr  r/  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  rV  z7list of cases must be same length as list of conditionsrw  r6  z items of condlist must be arraysrz  z"items of choicelist must be arrays)r   r~  r   r[  rK  r>  r  r   rY  r  rV  r  r  rH  rI  rG  rJ  )	r  r  r!   r|  r}  ry  expected_errorexpected_textr  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   r/  r-  r  r  )r  r0   rA  r3  rA  M must be an integer)r   r  rH  r   rI  rG  rJ  )r  r  r  r   r  r  rM  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)  r[  g      ,@)ppc64leaarch64r  r:  r  r  r'  r   )r0   r3  r-  z beta must be an integer or float)r  r  r  r  r  r   r   platformmachiner  rH  r   rI  rG  rJ  )	r  r  r  r  r   r  r  r  rM  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 )NTrE  r  r  r  r  r<  )r  r  r/  r:  r  rV  r  r  )	r  r   r   r>  r  r<  r[  r  r  r  r  r  pairsr!   r'  r  r  s           r"   
test_crossTestNPFunctions.test_cross
  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)NTrE  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  rV  r  r%  )r  r:  zDimensions for both inputs is 2r  r  Inputs must be array-like.)r  r   rK  rH  r  r   r[  rI  rG  rJ  r>  r  r   setrL  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 )Nr/  r:  r  r-  r
  r<  )r  r  r  rV  r  )
r  r   r  r   r>  r  r<  r[  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 productrV  r%  r  r/  r:  r  r-  r  )r   r  rK  rH  r  r   r>  rI  rG  rJ  r[  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-  r/  r  r  r)  r'  r  )0Helloworld)r   r>  r  r  r  r$   r"   r  /TestNPFunctions.test_trim_zeros.<locals>.arrays  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   r/  r:  r   r   FBr  Br)  r  r  r1   )r   r   r/  r:  r-  r  r  )r   r/  r:  r   abf)r   r  r   r  ) r  r  )r   r>  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#TrE  )r  r   r  )	r  r  r&  r  r  r@   r  r  r  s	            r"   test_trim_zerosTestNPFunctions.test_trim_zeros  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   r/  r   r:  r  r  r   r:  r  r1   )r  rw  r<  r#  r   r  )r   l            r   )r   l            r   )r   l            r   r/  )Nr/  N)r   r>  rV  r  r  s_r  r  
zeros_liker=  r=  r  r  r  r  )r  r0   r1   r  rA   slcr@   res_arrres1res2s              r"   test_trim_zeros_numpy%TestNPFunctions.test_trim_zeros_numpy  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)NTrE  r  r  zarray must be 1Dr  z#The first argument must be an array>   r   r/  r:  r  r/  z$The second argument must be a string)
rK  r   r  rH  r   r   r>  rI  rG  rJ  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 )NTrE  r  rF  )r:  r-  rV  r   rU  r:  r-  )r/  rU     rS  )FTr  )r  r   r   r>  r[  r  r  )r  r  r  r  r0   r1   r  r  s           r"   test_union1dTestNPFunctions.test_union1dN  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)NTrE  r  r/  r:  z.The arguments to np.union1d must be array-likeWorldr  r  r0   r1   z/For Unicode arrays, arrays must have same dtyper  r  r  barrA  rH  )
r   r  rK  rH  r   r   r>  rI  rG  rJ  r,  s      r"   test_union1d_exceptions'TestNPFunctions.test_union1d_exceptionsr  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 )NTrE  r  r  r/  r:  r  r  )r  r  r<  r  rV  )
r  r   rK  r   r>  r  r  r[  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)NTrE  r:  z7The argument to np.asarray_chkfinite must be array-liker  r-  z#array must not contain infs or NaNsr/  r  r  z!dtype must be a valid Numpy dtype)r   r  rK  rH  r   rI  rG  rJ  r  r   r>  r  r.  )r  r  r  r  s       r"   !test_asarray_chkfinite_exceptions1TestNPFunctions.test_asarray_chkfinite_exceptions  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)Nr/  r:  r   r-  r   r  rq  )r  r     rS  )step   rF  )r   r>  r   r  r[  r  )phases    r"   inputs12TestNPFunctions.test_unwrap_basic.<locals>.inputs1  s     ((Aq1ruu9}-..KK255a0E!"IIK))B-''..))Cb)11%88))Cb)11'::s   C'C))r   K         rT  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)	Nr/  i     )r   rO  rP  rQ  rT  )r   r/  r:  r  r   r  )r:  r  r  r-  r:  r  r  r-  rR  r(  wrap_unevens   r"   inputs133TestNPFunctions.test_unwrap_basic.<locals>.inputs13
  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)NrR     r  rU  s   r"   	inputs1234TestNPFunctions.test_unwrap_basic.<locals>.inputs123  s     sC''s   	r  )	r  r   r  r  r  r  r   r>  mod)r  r  r  r{  cfunc1pyfunc13cfunc13	pyfunc123cfunc123rM  r  
uneven_seqrW  r  r[  r  rV  s                   @r"   test_unwrap_basic!TestNPFunctions.test_unwrap_basic  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-liker/  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  rK  rH  r   rI  rG  rJ  r   r>  r  )r  r  r  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 )NTrE  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)NrS  r:  r-  r  r  r  r  r  r$   r"   r  9TestNPFunctions.test_swapaxes_basic.<locals>.a_variationsD  sK     ))B-))B-''1--))B-''1a00s   A+A-)r  r   r  ndimr  )	r  r  r  r  r0   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)NTrE  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 integerr/  z)np.swapaxes: Argument axis1 out of boundsr  r:  r  z)np.swapaxes: Argument axis2 out of bounds)r  r   rK  rH  r   rI  rG  rJ  r   r[  r  r  rL  s       r"   test_swapaxes_exception'TestNPFunctions.test_swapaxes_exceptionP  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  r/  r  r:  c                 ,    [         R                  " XS S9$ r<   r   take_along_axis)r0   r  s     r"   	axis_none7TestNPFunctions.test_take_along_axis.<locals>.axis_noney  s    %%a66r$   r/  r:  r<  c                 &   ^  [         U 4S j5       nU$ )Nc                 2   > [         R                  " XT5      $ r   rt  r0   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   r[  r  r   r>  r  r  r  r  rl  r  )r  r0   rv  r   r  r  jfuncais           r"   test_take_along_axis$TestNPFunctions.test_take_along_axisu  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  r/  )r/  r:  r-  r<  c                 &   ^  [         U 4S j5       nU$ )Nc                 2   > [         R                  " XT5      $ r   rt  rz  s     r"   r{  LTestNPFunctions.test_take_along_axis_broadcasting.<locals>.gen.<locals>.impl  r}  r$   r~  r  s   ` r"   r  >TestNPFunctions.test_take_along_axis_broadcasting.<locals>.gen  r  r$   )r/  r  )r  r:  r-  )r   r  intpr  r  r  r  )r  r@   r  r  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   r/  r<  r  c                 &   ^  [         U 4S j5       nU$ )Nc                 2   > [         R                  " XT5      $ r   rt  rz  s     r"   r{  JTestNPFunctions.test_take_along_axis_exceptions.<locals>.gen.<locals>.impl  r}  r$   r~  r  s   ` r"   r  <TestNPFunctions.test_take_along_axis_exceptions.<locals>.gen  r  r$   r0   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   rt  rz  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   r[  r  r>  r  r  rH  r   rI  rG  rJ  r   r  rK  )r  arr2dindices_noner   r  rM  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                 L   [         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S S/nS S/n[        n[        [        5      n[        XX45       H%  u  pxpU" XxXS9nU" XxXS9nU R                  X5        M'     g )Nr/  rA  r#  r<  )r  r'  皙?r  )r  r  r  r  r  r  r  r)  rS  r       @)r  r  r  )r   r  r  r.  r>  r  r  r  r   r   r  )r  rA   r  posinfsneginfsr  r  valuer  r  r  r  r  s                r"   test_nan_to_numTestNPFunctions.test_nan_to_num  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 *1'+
&E eVKHvEC##H2+
r$   c           
         [        [        5      n[        R                  " SS[        R                  [        R
                  [        R
                  * /5      n[        R                  " / SQ5      nU" USUS   US   US   S9  U R                  US	S  U5        [        R                  " SS[        [        R                  [        R                  5      [        [        R
                  [        R                  5      [        [        R                  [        R
                  * 5      /5      nU" USUS   US   US   S9  U R                  US	S  [        R                  " / S
Q5      5        g )Nr  r  )r'  r  r  Fr   r/  r:  r  r  )r#  y     @@      ?y      ?     @)r   r  r   r>  r  r.  r  r  )r  r  r!   r  	x_complexs        r"   test_nan_to_num_copy_false*TestNPFunctions.test_nan_to_num_copy_false  s   Z HHc3898823A;A;	
 	"#1HH''(
	 	A;A;	
 	bcNHH78	
r$   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  rI  rG  rJ  r,  s      r"    test_nan_to_num_invalid_argument0TestNPFunctions.test_nan_to_num_invalid_argument+  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)Nr/  r:  r  r  r  r  r8  r  r  r$   r"   r  3TestNPFunctions.test_diagflat_basic.<locals>.inputs9  sy     ((Aa5/1$$((QqE1Q%=)2--))A,&&w/22a&!)O((2,/!s   B	B)r  r   r  r  )r  r{  r^  r|  rb  r  ra   r   s           r"   test_diagflat_basic#TestNPFunctions.test_diagflat_basic3  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   rK  rH  r   rI  rG  rJ  rL  s       r"   test_diagflat1_exception(TestNPFunctions.test_diagflat1_exceptionD  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  r/  z#The argument "k" must be an integerr  )r  r   rK  rH  r   rI  rG  rJ  rL  s       r"   test_diagflat2_exception(TestNPFunctions.test_diagflat2_exceptionO  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)Nr/  r:  r  r:  r:  r  r  r:  r  r  r   r  r  r  )rV  r-  r  )r/  r  r:  r  rI  r  r  r$   r"   _setxor_arraysTestNPFunctions._setxor_arraysd  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=rl  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%  r0   r1   r  r  s   `   @@r"   test_setxor1d_2TestNPFunctions.test_setxor1d_2x  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  r9   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$   Trw  )r  r   r  r=  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   r>  rK  rH  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)Nr/  r:  r  r  r  r  r  )rV  r-  r  r  r/  r:  r  r  )r:  r  r  r  r:  r/  r-  r8  rU  rE  )r  r-  r:  )r
   r  r	   r<  r   r>  r[  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$   Trw  )r  r   r  r=  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   r>  rK  rH  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)Nr/  r:  r  r  r  r  r  rU  r-  r  )r
   r  r	   r<  r   r[  rZ  r  r$   r"   _in1d_arraysTestNPFunctions._in1d_arrays  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>.check  r  r$   )r  r   r  r  s   `   @@r"   test_in1d_2TestNPFunctions.test_in1d_2  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>.check  r  r$   Tr  rw  )r  r   r  r=  r   r  r  s   `   @@r"   test_in1d_3aTestNPFunctions.test_in1d_3a  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>.check$  sg    #t$$3i#t$$3i 62HCf-C##HcU&7N#Or$   r  Trw  )r  r   r  r  s   `   @@r"   test_in1d_3bTestNPFunctions.test_in1d_3b   sH    	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  r9   r  r  r  r  r  r  s	         r"   r%  *TestNPFunctions.test_in1d_4.<locals>.check5  sg    #t$$3i#t$$3i =AHCm<C##HcU&7N#Or$   r  Tr9   r  FF)r  r   r  r=  r   r  r  s   `   @@r"   test_in1d_4TestNPFunctions.test_in1d_41  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)	Nr/  r:  Fr  Tc                 ,    [         R                  " XUS9$ Nkindr  r0   r1   r	  s      r"   np_in1d_kind6TestNPFunctions.test_in1d_errors.<locals>.np_in1d_kindX      771d++r$   r	  table)r  r   r   r>  r  rK  rH  r   )r  r  r  r0   r1   r!   r	  s          r"   test_in1d_errors TestNPFunctions.test_in1d_errorsE  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                 X    [         (       a  U R                  5       $ U R                  5       $ r   )r   _isin_arrays_reduced_isin_arrays_full)r,  s    r"   _isin_arraysTestNPFunctions._isin_arraysa  s%    ?++--((**r$   c               #      #    S/S/4v   S/S/4v   SS/SS/4v   [         R                  " S5      R                  SS/5      n [         R                  " SS/5      nX4v   g 7f)Nr/  r:  r  r  r  r/   s     r"   r	  $TestNPFunctions._isin_arrays_reducedh  sj      cA3hcA3h!fq!fn IIaL  !Q(HHaVd
r  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)r/  r   r<  )r   r   rD  r/  r:  r  r  r  rU  r-  r  r  )r-  r  rS  rX  r  rF  )rS  rU  r  r  )r     r  rV  r}  )TFF)r/  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  r/  r/  r:  )r:  r  r  r  r/  r-  TFr  )r   r   r/  r/  )ir      )r	  r   rT  
AllInteger)r   r   r   r   )r
   r  r	   r<  r   r  r  r[  rZ  r  r>  r  rW  r	  r`  uint16r  signedinteger	typecodes)r0   r1   r=  arempty_arraymultdtype1dtype2is_dtype2_signedr  r  s              r"   r	  !TestNPFunctions._isin_arrays_fullt  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$   r/  Tr  rw  )r  r   r	  r=  r  r   r  r  r%  r0   r1   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  Trw  )r  r   r	  r  s   `   @@r"   test_isin_3bTestNPFunctions.test_isin_3b  sH    	O		P 	P %%'DA!u%!t$ (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  Tr/  r  r  )r  r   r	  r=  r  r   r  r)	  s   `     @@r"   test_isin_4TestNPFunctions.test_isin_4  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)	Nr/  r:  Fr  Tc                 ,    [         R                  " XUS9$ r	  r  r	  s      r"   np_isin_kind6TestNPFunctions.test_isin_errors.<locals>.np_isin_kind9  r	  r$   r	  r	  )r  r   r   r>  r  rK  rH  r   )r  r  r  r0   r1   r!   r:	  s          r"   test_isin_errors TestNPFunctions.test_isin_errors&  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  r/  r:  r  )r  r  r:  r  r  r/  r-  )r   r  r6   r  r  r   r>  r  )r  nb_setxor1dnb_intersect1d
nb_union1dnb_setdiff1dr0   r1   c1aux1aux2c2s              r"   test_setops_manyways$TestNPFunctions.test_setops_manywaysB  s}    =)m,*%
N+HH_%HH*+a#!$%'r$   )r   )NNFNr   rv  (  r/  r0  r1  r2  __doc__r  r  rB  rN  rr  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r*  r1  rH  rQ  rX  r]  ra  rg  rj  rp  ru  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r&  r0  r=  rH  rQ  rX  rb  rg  staticmethodr`  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  r:  r?  rd  rg  rp  rs  rx  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-  r3  r?  rB  rK  rQ  rV  rY  re  rm  rr  ru  r  r  r  r  r  r  r  r  r  r  unittest
skipUnlessr   r  rM  r  r  rP  r  r  skipr  r  rV  r  r  rY  r  r  r  r  r  r#  r&  r6  r9  r<  r?  rB  rQ  rV  r  r`  skipIfr   rd  rh  rl  rv  rz  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r(  r2  r5  r9  r>  rB  rE  rd  rg  rm  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r		  classmethodr	  r	  r	  r$	  r   r,	  r1	  r6	  r<	  rG	  r3  __classcell__)r  s   @r"   r  r  !  sh   - EIKO+CZ=)~	"68p-!^, 	"34	
3@ 7D&3&3$"B3<!"F	7"*/.7@7&7(D?L3<3"	7-&
7-&`DM^.8`'>R4<#|: !F*6X1C*<0;@
?!B!F.,%#N
II" ' '>	I	4



8<I$I45@P45@P?-*Q9E@HB**,(,(  >>&&qAfkDZ	=	@ KD"QH D$L	C	F P P4"0H = = = =  $  ;z 	 	   
 
 /- /-b!#F'-*?-.?K(P8-P8@:-(3>-23@-<T6l37F089t9"-- (BT1474+M.^&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]6~>:@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>U8n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!3F"
H-A"	--* / /& "$& 7 7( "$& / /  0$%"=(-8 + + 	 	 S Sj  0 06 % %" = =:-8( (r$   r  c                       \ rS rSrSrS rS r\R                  " \	S:  S5      S 5       r
S rS	 r\R                  " \	S:  S
5      \R                  S 5       5       rSrg)TestNPMachineParametersiS  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 r[  )r   r  getattr)	r  r  attrsrn   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/  templaterY	  compileglobals)r  basefunctytystrbasestrfuncstrdcts          r"   create_harcoded_variant/TestNPMachineParameters.create_harcoded_varianth  sO     ##--5"22WWj&179cB5zr$   )r/  r  zNumPy < 1.24 requiredc                 4    SnU R                  [        U5        g )N)ibetaitmachepr!  negepepsnegiexpminexpxminmaxexpxmaxirndngrdepsilontinyhuge	precision
resolution)r%  rs   )r  rU	  s     r"   test_MachAr#TestNPMachineParameters.test_MachArr  s    H 	

65!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!  rj	  rk	  rh	  rn  rn	  ri	  nexpnmantru	  rv	  rs	  bitsr/  TrE  rY  z(Unknown attribute 'machar' of type finfor  )r   r  r<  r  r?  r%  r   rc	  rH  r   r   r   rI  rG  rJ  r  r  )r  r	   rU	  r^	  hc_funcrM  r  r  s           r"   
test_finfo"TestNPMachineParameters.test_finfoy  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  rn  r|	  r/  TrE  r  )r   rW  r	  r  r  r`  r	  r  r  r%  r   rc	  r  r   r<  )r  r	   rU	  r^	  r}	  r  s         r"   
test_iinfo"TestNPMachineParameters.test_iinfo  s    "((BHHbhh"))BII''BJJueRU+22288R@GJJw&  ##%&u-E"**Q-  &%%s   #0D
D*zNeeds NumPy < 1.24c                 \   Sn[         R                  " SS9 n[         R                  " S5        [         R                  " SU[        S9  [        S 5      nU" 5         S S S 5        U R                  [        W5      S5        U R                  S	[        US
   5      5        g ! , (       d  f       NH= f)Nz*.*`np.MachAr` is deprecated \(NumPy 1.22\)T)recordr\  always)messagecategoryc                  @    [         R                  " 5       R                  $ r   )r   rr   r!  r  r$   r"   <lambda>JTestNPMachineParameters.test_np_MachAr_deprecation_np122.<locals>.<lambda>  s    biikoor$   r/  z`np.MachAr` is deprecatedr   )
warningscatch_warningssimplefilterfilterwarningsr   r   r  r=  rI  rG  )r  r  rX   r  s       r"    test_np_MachAr_deprecation_np1228TestNPMachineParameters.test_np_MachAr_deprecation_np122  s     <$$D1Q!!(+##Hc-DG-.AC 2 	Q#13qt9= 21s   AB
B+r  N)r/  r0  r1  r2  rZ	  r%  rc	  rK	  rN	  r   rw	  r~	  r	  rL	  r   run_test_in_subprocessr	  r3  r  r$   r"   rR	  rR	  S  sy    H
8 __]g-/FG" H"*! 02FG$$> % H>r$   rR	  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--

rl  )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/  r0  r1  r2  r	  r3  r  r$   r"   r	  r	    s    Jr$   r	  __main__rw  )Nr   r   )r4  r5  F)rT  rz  r  )r  )r  )r   N)NF)NTFN)NT)NN)fb)Nr  g-DT!@)Tr)  NNr  )r  re  r  r	  	functoolsr   r   textwrapr   numpyr   r  r   r   r   
numba.corer	   numba.typedr
   r   numba.np.numpy_supportr   numba.core.errorsr   r   numba.core.configr   numba.core.utilsr   numba.np.extensionsr   numba.tests.supportr   r   r   r   r   r   r   r   r   rK	  r   r(   r,   r.   r6   r:   r?   rC   rE   rK   rN   rS   rY   r\   r_   rg   rj   rl   rp   rs   ru   rx   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&  r,  r/  r4  r8  r?  r<  rB  rD  rF  rM  rP  rV  rY  r]  r_  rb  rd  rg  rk  rm  ru  rw  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  rR	  r	  r/  mainr  r$   r"   <module>r	     s&           # #  " 0 D ' ( ': : :
   /-,%(!./3"$-%.1+$$$)(!#$%(!#$%(' #,%-& jj '&""45 !)<+"*6'8"N",-6(06(0od(ox od(dI\>h \>~J( J( zMMO r$   