ó 2ÄÈ[c@`sðdZddlmZmZmZddlZddlZddlZddl m Z m Z m Z ddl mZmZmZmZddlmZmZmZmZmZmZmZmZmZmZmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ddljAjBZCdeDfd „ƒYZEd eDfd „ƒYZFd eDfd „ƒYZGdeDfd„ƒYZHdeDfd„ƒYZIdeDfd„ƒYZJdeDfd„ƒYZKdeDfd„ƒYZLdeDfd„ƒYZMdeDfd„ƒYZNdeDfd„ƒYZOdeDfd„ƒYZPd eDfd!„ƒYZQd"eDfd#„ƒYZRdS($sæTests suite for MaskedArray. Adapted from the original test_ma by Pierre Gerard-Marchant :author: Pierre Gerard-Marchant :contact: pierregm_at_uga_dot_edu :version: $Id: test_extras.py 3473 2007-10-29 15:18:13Z jarrod.millman $ i(tdivisiontabsolute_importtprint_functionN(t assert_warnstsuppress_warningst assert_raises(tassert_tassert_array_equalt assert_equaltassert_almost_equal( tarraytarangetmaskedt MaskedArrayt masked_arrayt getmaskarraytshapetnomasktonestzerostcount("t atleast_1dt atleast_2dt atleast_3dtmr_tdottpolyfittcovtcorrcoeftmediantaveragetuniquetsetxor1dt setdiff1dtunion1dt intersect1dtin1dtediff1dtapply_over_axestapply_along_axist compress_ndtcompress_rowcolst mask_rowcolst clump_maskedtclump_unmaskedtflatnotmasked_contiguoustnotmasked_contiguoustnotmasked_edgest masked_alltmasked_all_liketisintdiagflattstacktvstackthstackt TestGenericcB`s>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cC`s4td dtƒ}tddgdddgdtƒ}t||ƒtjiddgd6ddgd 6ƒ}tdd|ƒ}tddgdddgd|ƒ}t||ƒtdd|ƒ}tddgddggdddgddggd|ƒ}t||ƒtjddddgfgƒ}tdd|ƒ}tdd fdd!fgddd"fdd#fgd|ƒ}t||ƒtd$d|ƒ}tdd%fdd&fgddd'fdd(fgd|ƒ}t||ƒtd)d|ƒ}tdd*fggddd+fggd|ƒ}t||ƒdS(,Nitdtypeitmasktatbtnamestftformatsitbatbb(i(i(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(R:R=(R?R=(R@R=(i(ii(ii(ii(ii(i(ii(ii(ii(ii(ii(ii(ii(R0tfloatR RtnpR8(tselfttesttcontroltdt((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_masked_all's0$ )$   !! ! 0cC`sYtddgdtƒ}t|ƒ}tddgdddgdtƒ}t||ƒtjiddgd6ddgd 6ƒ}tddgdddgd|ƒ}t|ƒ}tddgdddgd|ƒ}t||ƒtjddddgfgƒ}tddfddfgdddfddfgd|ƒ}t|ƒ}t||ƒdS(NiiR8R9R:R;R<R=R>ii R?R@(ii(ii(ii(ii(i i (i i (ii(ii(R:R=(R?R=(R@R=(ii(ii(ii(ii(R RAR1RRBR8(RCtbaseRDRERF((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_masked_all_likeEs $ )$ $ !! c C`sxtddƒD]÷}xîtd|ƒD]Ü}tj|dtƒ}tj||dtƒ}td|ƒ}|d|@dk|_d}x+||ƒD]}||j|jƒ7}q”W|t krÝt |j ƒjƒ|ƒq'|j|_t |j ƒjƒ|ƒq'WqWdS(NiiiR8i( trangeRBR tinttfullRR9tdatatsumR,Rt compressed( RCR=titjtktjaR:tstsl((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt check_clumpYs  cC`s…ttjdƒƒ}t|ddddddg0+3*)) 0 ""("(+c C`stdƒ}tdƒd}t||g||ggddddƒ\}}tt|ƒt|ƒƒt|j|jƒttdƒdddddgddƒ\}}tt|ƒt|ƒƒttdƒddƒ\}}tt|ƒt|ƒƒttdƒdtdƒddƒ\}}tt|ƒt|ƒƒtddgdd ggtƒ}t|ttgt tggƒ}t|ddƒ} t| d d gƒt|ddƒ} t| d d gƒt|ddƒ} t| dƒt|ddƒ} t| ddgƒdS(NiiR`iRbiiRaigà?g@gð?g@gø?g@(iii(iii(iii(iiig«ªªªªª@( R RRRRR RARRdRcRk( RCR:R;tr1Rntr2Rota2dta2dmta2data2dma((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_testAverage3Ès* 00*!! cC`sfttddgƒƒ}t|dƒttddddgdttttgƒƒ}t|dƒdS(Niigø?iiR9(RR RRdRc(RCR:((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_onintegers_with_maskàs 0c C`sùtjdddddgdddddggdtƒ}tdddddgd ddddggd|ƒ}t|ƒ}tj|jƒƒ}t|j|jƒt|j|jƒt|ddƒ}t|jddƒt|jddƒd }t|j|jƒt|j|jƒt|ddƒ}t|jddƒt|jddƒd }t|j|jƒt|j|jƒtjdddddgdddddggƒ} t|d| ƒ} tj|jƒd| |ƒ}t| j|jƒt| j|jƒt|d| ddƒ} t|jd| ddƒt|jd| ddƒd }t| j|jƒt| j|jƒt|d| ddƒ} t|jd| ddƒt|jd| ddƒd }t| j|jƒt| j|jƒdS( NiiR8y@iy@iy@iy @y"@yð?iy@iy@y@R9R`gà?gð?g@Rayð?@y@@y@@y@ @yð?y@@y@@y@@( RBR R[RRROR trealtimag( RCR9R:tavtexpectedtav0t expected0tav1t expected1Rhtwavtwav0twav1((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt test_complexçsB!  ,,   (R]R^RiRxRR€RŒ(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyR_‘s   "  tTestConcatenatorcB`s#eZd„Zd„Zd„ZRS(cC`sÚttd tddddddgƒƒtdƒ}dddddg}t|d|ƒ}t|dd|f}tt|tƒƒt|ddddddddddddg ƒt|jt|dd|fƒdS( NiiiiiiiR9(iiiiii( RRR RRRt isinstanceR R9(RCR;tmtdtc((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_1ds) 1cC`s¦tjjddƒ}tjjddƒ}tjtjjddƒdƒ}tjtjjddƒdƒ}t|d|ƒ}t|d|ƒ}td||f}t|jdkƒt|dd…dd…f|ƒt|dd…dd…f|ƒt|j tj d||fƒt||f}t|jdkƒt|dd…dd…f|ƒt|dd…dd…f|ƒt|j tj ||fƒdS(NiiR9t1i (ii (i i( RBtrandomtrandtround_RRRRRR9tr_(RCta_1ta_2tm_1tm_2tb_1tb_2R((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_2d"s !!## ##cC`s“ttjjdf}t|jttgƒt|jddƒtddgtjjf}t|jtttgƒt|jd ddgƒdS(Nii( RRBtmaR RR9RcRdRM(RCtactual((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_masked_constant6s (R]R^R’RžR¡(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyRs t TestNotMaskedcB`seZd„Zd„ZRS(c C`sJttjdƒjddƒddddddgdddddgdddddgdddddgdddddggƒ}t|dƒ}t|ddgƒt|dƒ}t|dd d gƒt|dddgƒt|dƒ}t|dddgƒt|dddgƒt|jdƒ}t|ddgƒt|jdƒ}t|dddgƒt|dddgƒt|jd ƒ}t|dddgƒt|dddgƒt|d eZd„Zd„Zd„Zd„Zd„Zd„ZRS(c C`s5tjttd@ƒƒƒjdddƒ}tjdAƒjtƒ}t|dBƒ}t |dFƒ}t ||ƒt ||ƒt ||ƒt |dGƒ}t |dddddgdd d d d gd d!d ddggdd"dddgdd(dddgdd)dddgggƒt |dHƒ}t ||ƒt |dIƒ}t |ddddgdd d d gd d ddggd*d,d-d.gd/d1d2d3gd4d6d7d8ggddddgddddgddddgggƒt |dJƒ}t |dKƒ}t |dLƒ}t ||ƒt ||ƒt ||ƒt |dMƒ}t |ddddgddddgdd d d gd d ddggddddgd#d%d&d'gddddgddddgggƒt |dNƒ}t ||ƒdS(ONiiiiR9iii i i iiiiii(i*i+i,i2i4i5i6i7i9i:i;iiii i ii)i-i.i/i0i1i3i8iiiiiiii i!i"i#i$i%i&i'iþÿÿÿiiiiiÿÿÿÿi i<(iii(iii(i(iþÿÿÿ(i(iÿÿÿÿ(ii(iiþÿÿÿ(ii(iþÿÿÿi(iiÿÿÿÿ(iþÿÿÿiÿÿÿÿ(ii(iiÿÿÿÿ( RBR tlistRJReRtastypeR[RcR(R(RCRpRR:ta2ta3ta4((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_compress_ndˆs¶*            cC`s­ttjdƒjddƒddddgdddgdddggƒ}tt|ƒddgdd ggƒtt|dƒdddgd dd ggƒtt|dƒdd gddgdd ggƒt|jddddgdddgdddggƒ}tt|ƒdd gd d ggƒtt|dƒddd gd dd ggƒtt|dƒdd gddgd d ggƒt|jddddgdddgdddggƒ}tt|ƒd ggƒtt|dƒd dd ggƒtt|dƒd gdgd ggƒt|jddddgdddgdddggƒ}tt|ƒjdƒtt|dƒjdƒtt|dƒjdƒdS( Ni iR9iiiiiiii(R RBR ReRR)t_dataRZ(RCRp((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_compress_rowcolsøs"-%.19%.19"(9cC`sÁttjdƒjddƒddddgdddgdddggƒ}tt|ƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒt|jddddgdddgdddggƒ}tt|ƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒt|jddddgdddgdddggƒ}tt|ƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒt|jddddgdddgdddggƒ}tt|ƒj ƒt kƒtt|dƒj ƒt kƒtt|dƒj ƒt kƒtt|ƒjj ƒƒtt|dƒjj ƒƒtt|dƒjj ƒƒdS(Ni iR9ii( R RBR ReRR*R9R­RtallR (RCRp((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_mask_rowcols s:-+++9+++9+++9c C`s€tjddƒ}ddddddg}t|d|ƒjddƒ}t|d|ƒjddƒ}t||dtƒ}t|jddgddggƒt||dtƒ}t|jdddgdddgdddggƒt||dtƒ}t|tj|j dƒ|j dƒƒƒt||dtƒ}t|tj|j dƒ|j dƒƒƒddddddg}t|d|ƒjddƒ}t|d|ƒjddƒ}t||dtƒ}t|jddgddggƒt||dtƒ}t|jdddgdddgdddggƒt||dtƒ}t|tj|j dƒ|j dƒƒƒt|t||ƒƒt||dtƒ}t|tj|j dƒ|j dƒƒƒddddddg}t|d|ƒjddƒ}t|d|ƒjddƒ}t||ƒ}t|jt ƒt||ƒ}t|jt ƒt|dddddddgƒjddƒ}t|dddddddgƒjddƒ}t||dtƒ}t|jddgddggƒt||dtƒ}t|tj|j dƒ|j dƒƒƒt||dtƒ}t|jdddgdddgdddggƒt||dtƒ}t|tj|j dƒ|j dƒƒƒt|dddddddgƒjddƒ}t|dddddddgƒjddƒ}t||dtƒ}t|jddgddggƒt||ƒ}t|tj|j dƒ|j dƒƒƒt||dtƒ}t|jdddgdddgdddggƒt||dtƒ}t|tj|j dƒ|j dƒƒƒt|dddddddgƒjddƒ}t|dddddddgƒjddƒ}t||dtƒ}t|jddgddggƒt||dtƒ}t|tj|j dƒ|j dƒƒƒt||dtƒ}t|jdddgdddgdddggƒt||dtƒ}t|tj|j dƒ|j dƒƒƒdS(NiiiR9iitstrict( RBR RReRRcRR9RdtfilledR(RCtnRR:R;R‘((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_dot,sz"4++"4++00"+4+00"+4+00"+4cC`s›tjdƒ}t|ƒ}ttt||ƒƒtkƒttt||ƒƒtkƒttt||ƒƒtkƒttt||ƒƒtkƒdS(Ni(RBteyeR RttypeRR (RCR:R;((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_dot_returns_maskedarrayrs  cC`s`ttjdƒƒ}ttjdƒƒ}t||d|ƒ}t||kƒt||ƒdS(Nitout(ii(R RBRµRRRR(RCR:R¸tres((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt test_dot_out{s (R]R^R¬R®R°R´R·Rº(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyR¦†s  p  F tTestApplyAlongAxiscB`seZd„Zd„ZRS(cC`sYtdƒjdddƒ}d„}t|d|ƒ}t|ddgddggƒdS( Ng(@iicS`s|dS(Ni((R;((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pytmyfuncˆsiiii (R ReR'R(RCR:R¼txa((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_3d…s cC`sbtdƒjdddƒ}dd„}t|d|ddƒ}t|ddgd d ggƒdS( Ni iiicS`s |d|S(Ni((R;toffset((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyR¼’sR¿iiii (R ReR'R(RCR:R¼R½((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_3d_kwargss (R]R^R¾RÀ(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyR»ƒs tTestApplyOverAxescB`seZd„ZRS(cC`sÎtdƒjdddƒ}ttj|ddgƒ}tjdgdgdgggƒ}t||ƒt||djt ƒ@ig?@iiýÿÿÿR¸g-@g.@(ig>@ig?@(( RRBR R RRRRR¶R (RCtvRpR¸RÆ((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt test_out_1dVs   cC`sYxRdD]J}ttj|ƒjddƒƒ}t|d*|d)ttjdƒƒ}t|d d d |ƒ}|dkrÍtd gddd ddgd gddtgdtgdtgdƒ}nQtd gdddddgd gddtgdtgdtgdƒ}t ||ƒt ||kƒt t |ƒt kƒqWdS(Ni(gD@ig>@i iÿÿÿÿiiýÿÿÿR`iR¸gi iiR9ig+@g€1@g€5@g€9@(i(gD@ig>@( RRBR ReR RRRcRdRRR¶R (RCRåRpR¸RÆte((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_outds ! +)+& cC`seddgddgddgg}tjj|dƒ}ddg}ttjj|ddƒ|ƒdS(Ngð?gg@iR`(RBRŸt masked_equalRR(RCRMt masked_arrR„((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt$test_single_non_masked_value_on_axisus   c C`s²tƒ£}|jtƒx›ttjddtƒfD]~}tjjdtj dgdddggƒ}||_ tjj |ddƒ}t tj|ƒƒt|tj ƒtjj |jƒddƒ}t tj|ƒƒt|tj ƒtjj |ddƒ}tt|ƒtƒt|dtj dgƒtjj |ddƒ}tt|ƒtƒt|tj dgƒtjj |ddƒ}tt|ƒtƒt|tj dgƒq5Wtjjdtj dgdddggƒ}tjj|dd…dfR?R@RBRCRERGRIRJ(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyR1 s             t TestShapeBasecB`seZd„Zd„ZRS(cC`sŸtdddgddddgƒ}t|ƒ}t|jdƒt|jj|jjƒt|jdƒt|jj|jjƒt|jj|jjƒdS(NiiiR9i(ii(i(RRRRR9RM(RCR:R;((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_atleast_2d s$ cC`s%tdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}xJ|D]B}t|jdƒt|jj|jƒt|jj|jƒq^Wtdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}xJ|D]B}t|jdƒt|jj|jƒt|jj|jƒqWtdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}xJ|D]B}t|jd ƒt|jj|jƒt|jj|jƒq¦Wtdƒ}t|jd ƒt|jj|jjƒdS( Ngð?ig@(i(i(ii(ii(iii(iii(ii(RRRR9RMRRR3(RCR;R:((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_shape_scalars<       (R]R^RLRM(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyRKs t TestStackcB`s#eZd„Zd„Zd„ZRS(cC`sHtdddgddddgƒ}tdddgddddgƒ}t||gddƒ}t|jd ƒt|j|djƒt|j|djƒt||gƒ}t|j|jƒt|j|jƒt||gddƒ}t|jd ƒt|j|dd…dfjƒt|j|dd…dfjƒdS( NiiiR9i iiR`i(ii(ii(RR4RRRR9R5RM(RCR:R;R‘R((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt test_stack_1dBs$$#cC`s6tdddgdtƒ}tdddgdtƒ}t||gddƒ}t|jd ƒt|j|djƒt|j|djƒt||gƒ}t|j |j ƒt|j|jƒt||gddƒ}t|jd ƒt|j|dd…dfjƒt|j|dd…dfjƒdS( NiiiR9i iiR`i(ii(ii( RRcRdR4RRRR9R5RM(RCR:R;R‘R((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyttest_stack_masksTs#c C`s¼d }tjjdd|ƒ}tjjdd|ƒ}tjjdd|ƒjtƒ}tjjdd|ƒjtƒ}t|d|ƒ}t|d|ƒ}t||gddƒ}d |} t|j| ƒt |j |dj ƒt |j |dj ƒt||gddƒ}|d} t|j| ƒt |j |dj ƒt |j |dj ƒd}tjjdd|ƒ}tjjdd|ƒ}tjjdd|ƒjtƒ}tjjdd|ƒjtƒ}t|d|ƒ}t|d|ƒ}t||gddƒ}d|} t|j| ƒt |j |dj ƒt |j |dj ƒt||gddƒ}|d} t|j| ƒt |j |dj ƒt |j |dj ƒdS(Niiii R9R`iiÿÿÿÿ.ii(ii(i(i(.i(.i(iiii(i(i(.i(.i( RBR”trandintR¨R[RR4RRRR9( RCtshptd1td2RrRsta1R©R‘tc_shp((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt test_stack_ndfsD!!  !!  (R]R^RORPRW(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyRN@s  (St__doc__t __future__RRRRøRÎtnumpyRBt numpy.testingRRRtnumpy.ma.testutilsRRRR t numpy.ma.coreR R R R RRRRRRRtnumpy.ma.extrasRRRRRRRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2R3R4R5R6RŸtextrastmaeRR7R_RR¢R¦R»RÁRÄRRR"R1RKRN(((s9/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_extras.pyt s0   "LÖlƒ,Fý ÿ“Ck:è8