ó É9Zc@`s§ddlmZmZmZddlZddlZddlZddlm Z m Z m Z m Z ddl mZmZddlmZddlmZejddkr´eZndZd ZeegeƒZdZd Zd „Zd „Zd „Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+dd„Z-d„Z.d„Z/d„Z0e1dkr£e ƒndS(i(tdivisiontabsolute_importtprint_functionN(trun_module_suitetassert_t assert_raisest assert_equal(tsolve_diophantinetinternal_overlap(t as_strided(tlongiii iÿÿÿÿcC`sŒ|dkrtdgSg}xhdD]`}xWdD]O}td|||d}||||}|jt||||ƒƒq1Wq$W|S(sGReturns slices of length nelems, from start onwards, in direction sign.iiiiÿÿÿÿ(ii(iÿÿÿÿi(tsizetappendtslice(tnelemstreststeptsigntstarttstop((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt_indices_for_nelemss    %cC`sZg}xMdD]E}t|ƒ}|jg|D]}|D]}||f^q6q,ƒq W|S(s$Returns (src, dst) pairs of indices.iii(iii(Rtextend(RRtindtatb((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt_indices_for_axis)s   7cC`sotƒ}gg}xVt|ƒD]H}g}x3|D]+}x"|D]}|j|g|ƒq?Wq2W|}qW|S(sKReturns ((axis0_src, axis0_dst), (axis1_src, axis1_dst), ... ) index pairs.(RtrangeR (tndimsRRtitnewrestelemtothers((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt_indices6s     cC`sstjtjtƒƒjtƒ}|jƒ}||||<||||wsc3`s4|]*}tˆjdˆddtjƒƒVqdS(iiR0N(R1R2R!R3(R4R5(tU_maxR7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys ysics`s|]\}}||VqdS(N((R4Rtub((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys |siÿÿÿÿtsimplifycs`s/|]%\}}td||d|ƒVqdS(iiN(txrange(R4RR9((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys si †c3`s!|]}t|ƒˆkVqdS(N(tsum(R4tw(R(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys –scs`s|]\}}||VqdS(N((R4Rtx((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys žscs`s1|]'\}}d|ko&|knVqdS(iN((R4R>R9((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys Ÿs(R!trandomt RandomStatetiinfoR3tmaxRtminR2R-R<tzipRtNoneRt OverflowErrortlentanyt itertoolsR#R'(tmax_inttndimtfeasible_counttinfeasible_countt min_counttnumberstAtUtb_ubtXt X_simplifiedtrangesR tr((R6R8RR7sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_diophantine_fuzzbsN#,  #   *)#cC`s˜tjtjƒj}tjtjƒj}||kr”|d|ddf}|d|ddf}d|dd}tt|||ƒdƒndS(Nii i(ii(R!RAR3RBtint64RR(tmax_intpt max_int64RPRQR((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_diophantine_overflow£s c C`s'tj||dtƒ}ttj||ƒtj||dtƒƒ|jdƒ|jdƒ|jdƒ|jƒ}d}||krddjd|jdd|jddfd |j fd |j fd |j fd |j fd |j fd|j fgƒ}nt||d|ƒdS(Ntmax_workiits s sbase_a - base_b = %rtdatas shape_a = %rs shape_b = %rsstrides_a = %rsstrides_b = %rs size_a = %rs size_b = %rterr_msg( R!tmay_share_memorytMAY_SHARE_EXACTRtMAY_SHARE_BOUNDStfillRHtjoint__array_interface__R$tstridesR (RRtgottexactR_((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pytcheck_may_share_memory_exact²s$      $     c C`sœtjddddgdtjƒtjddddgdtjƒdd…dd…ddd…dd…fg}g}x^|D]V}xMtjtdƒtdddƒgfdŒD]}||}|j|ƒqµWq€Wx€|D]x}ttj |dd…d dd…f|dd…d dd…fƒƒttj |dd…d dd…f|dd…d dd…fd dƒƒt |dd…d dd…f|dd…d dd…fƒt |dd…ddd …f|dd…d dd …fƒy4|j ƒ}|j j rwán|jtjƒ}Wntk rEqánXt |j ƒdd!|jddddƒdd…ddd …fƒt |dd…ddd …f|jddddƒƒt |dd…ddd …f|jddddƒdd…d dd …fƒt |j ƒdd !|jddddƒdd…ddd …fƒqáWtjd gdtjƒ}t ||ƒt ||jƒƒdS(Ni iiiR0iiÿÿÿÿiiiR\iiii i.(R!tzerostint8RIR#R RER RR`Ritraveltflagstowndatatviewtint16t ValueErrorR%R&(txs0txsR>tsstxp((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_may_share_memory_manualÌs<!R 5  HN??   226 c`s]tjddddgdtjƒ}tjjdƒ‰‡fd†‰d}d}xt||ƒ|krXt‡fd †t|jƒDƒƒ}|r|}n%t‡fd †t|jƒDƒƒ}tj |jƒ}ˆj |ƒtj |jƒ} ˆj | ƒt‡fd †t |j |ƒDƒƒ} t‡fd †t |j |ƒDƒƒ} || j |ƒ} || j | ƒ} tj| | ƒ}tj| | ƒ}tj| | d || | ƒƒ}tj| | d tƒ}||krt||dt| | fƒƒn||kr/t||dt| | fƒƒn|rT|rH|d7}qU|d7}qTqTWdS(Nii"iGiaR0iÒc`s‰ˆjd|ddtjƒ}ˆj||ddtjƒ}ˆjdddtjƒdkry||}}|d9}nt|||ƒS(NiiR0iiÿÿÿÿ(R2R!R3R (tnRRR(R7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt random_slices !  ic3`sQ|]G}ˆjdddtjƒdkrEˆjdddtjƒndVqdS(iiR0ii N(R2R!R3(R4R5(R7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys sc3`sQ|]G}ˆjdddtjƒdkrEˆjdddtjƒndVqdS(iiR0ii N(R2R!R3(R4R5(R7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys sc3`s$|]\}}ˆ||ƒVqdS(N((R4tpts(Rx(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys "sc3`s$|]\}}ˆ||ƒVqdS(N((R4RyRz(Rx(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys #sR\R_i(R!RjRpR?R@RCR-RRKR"tshuffleRDR$t transposeR`RaRtrepr(t get_max_workt same_stepsRNR>tfeasiblet infeasibletstepststeps2tt1tt2ts1ts2RRtbounds_overlaptmay_share_answert easy_answert exact_answer((RxR7sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt check_may_share_memory_easy_fuzzÿsB$   ((! "   cC`s tdd„dtddƒdS(NR~cS`sdS(Ni((RR((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt?sRRNiÐ(RŒtTrue(((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_may_share_memory_easy_fuzz;scC`s tdd„dtddƒdS(NR~cS`st|j|jƒdS(Ni(RBR (RR((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyRLsRRNiÐ(RŒtFalse(((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt!test_may_share_memory_harder_fuzzDscC`s/tjdddgdtjƒ}ttj||ƒtƒttj||jƒƒtƒ|dd…ddd…ddd…f}|dd…ddd…ddd…f}ttj||ƒtƒttj||ddƒtƒt tj tj||ddƒt tj tj||dt dƒƒdS( NiiiR0iiR\i( R!RjRkRt shares_memoryRŽR&RRERt TooHardErrorR (R>RR((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_shares_memory_apiQs!++cC`sBdd„}|ddd fdtƒ|d d dfdtƒdS(NcS`s t||dddƒ}|dkr3|dk }n|dk rÊttd„t||ƒDƒƒtd„t||ƒDƒƒkƒttd„t||ƒDƒƒƒttd„t||ƒDƒƒƒn|rìt|dk t|ƒƒnt|dkt|ƒƒdS(Nitrequire_ub_nontrivialics`s|]\}}||VqdS(N((R4RR>((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys gscs`s#|]\}}||dVqdS(iN((R4Rtu((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys gscs`s1|]'\}}d|ko&|knVqdS(iN((R4R>R–((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys hscs`s%|]\}}||dkVqdS(iN((R4R>R–((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys is(RRERR<RDR'RHR}(RPRQtexistsRS((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pytcheck`s  B#&iiR—ii(iiiii(iiiii(RERŽR(R˜((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt!test_internal_overlap_diophantine_s c`stjddddgdtjƒ}tjjdƒ‰‡fd†‰d}d }xª||krýt‡fd †t|jƒDƒƒ}tj|jƒ}ˆj |ƒt‡fd †t |j |ƒDƒƒ}||j |ƒ}t t|ƒ ƒ|d 7}qTWdS( Nii"iGiaR0iÒc`s‰ˆjd|ddtjƒ}ˆj||ddtjƒ}ˆjdddtjƒdkry||}}|d9}nt|||ƒS(NiiR0iiÿÿÿÿ(R2R!R3R (RwRRR(R7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyRx|s !  iiˆc3`sQ|]G}ˆjdddtjƒdkrEˆjdddtjƒndVqdS(iiR0ii N(R2R!R3(R4R5(R7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys ˆsc3`s$|]\}}ˆ||ƒVqdS(N((R4RyRz(Rx(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys si(R!RjRpR?R@R-RRKR"R{RDR$R|RR(R>tcasesRNR‚R„R†R((RxR7sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_internal_overlap_slicesus$ (cC`sót|ƒ}tƒ}td„|jDƒƒ}xbtj|ŒD]K}td„t|j|ƒDƒƒ}||kr|t }Pq>|j |ƒq>Wt }||krÇt ||dt |j|jfƒƒn|dk rï||krït ||ƒn|S(Ncs`s|]}t|ƒVqdS(N(R;(R4Rw((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys ™scs`s|]\}}||VqdS(N((R4RzR=((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys ›sR_(RtsetR-R$RIR#R<RDRfRŽtaddRRR}RE(Rtmanual_expectedRgtmRUtvtoffsettexpected((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pytcheck_internal_overlap”s  "  (cC`sjtjdƒjtjƒ}t|tƒt|jgƒtƒt|dd dd ƒ}t|tƒt|ddddƒ}t|tƒt|ddddƒ}t|tƒt|ddddƒ}t|tƒt|ddddƒ}t|tƒt|ddddƒ}t|tƒt|ddddƒ}t|tƒt|ddddƒ}t|tƒdS(NiRfiiR$iiii÷ØÿÿiWi(ii(ii(ii(ii(i(i(i(i(i(i(ii÷Øÿÿ(iWi(ii÷Øÿÿ(ii(ii÷Øÿÿ(ii( R!R"tastypeRkR£RR%R RŽ(R>R((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_internal_overlap_manual¬s&        c `sÿtjdƒjtjƒ}d}d}d}tjjdƒ‰x¹t||ƒ|krúˆjdddtjƒ}t ‡fd†t |ƒDƒƒ}t ‡fd†t |ƒDƒƒ}t |d |d |ƒ}t |ƒ}|rí|d7}qB|d7}qBWdS( NiiidiÒiR0c3`s*|] }ˆjdddtjƒVqdS(iüÿÿièR0N(R2R!R3(R4R5(R7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys ßsc3`s*|] }ˆjdddtjƒVqdS(iiR0N(R2R!R3(R4R5(R7(sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pys ásRfR$( R!R"R¤RkR?R@RCR2R3R-RR R£( R>toverlapt no_overlapRNRKRfR$Rtresult((R7sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_internal_overlap_fuzzÑs   cC`s/dtfd„ƒY}dtfd„ƒY}xü||gD]î}tjdƒ}ttj||ddd…ƒ|ddd…ƒƒttj||ddd…ƒ|ddd…ƒ ƒttj||ddd…ƒ|ddd…ƒƒttj||ddd…ƒ|ddd…ƒƒq9WdS( NtMyArraycB`s eZd„Zed„ƒZRS(cS`s ||_dS(N(R^(tselfR^((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt__init__ñscS`s |jjS(N(R^Re(R«((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyReôs(t__name__t __module__R¬tpropertyRe(((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyRªðs tMyArray2cB`seZd„Zd„ZRS(cS`s ||_dS(N(R^(R«R^((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyR¬ùscS`s|jS(N(R^(R«((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyt __array__üs(R­R®R¬R±(((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyR°øs iiii(tobjectR!R"RR`R’(RªR°tclsR>((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pyttest_non_ndarray_inputsís676t__main__(2t __future__RRRtsysRItnumpyR!t numpy.testingRRRRtnumpy.core.multiarray_testsRRtnumpy.lib.stride_tricksR t numpy.compatR t version_infoRR;RR R-R$RbRaRRR R,R/RWR[RiRvRŒRR‘R”R™R›RER£R¥R©R´R­(((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/tests/test_mem_overlap.pytsF   "     A   3 <     %