gL ivddlmZddlmZddlZddlmZddlm Z dZ dZ dZ Gdd ZGd d Zy) )datetime) permutationsN)algosctjdtj}tj|}||usJy)Nddtype)nparangeintplibalgosensure_platform_int)arrresults e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/libs/test_libalgos.pytest_ensure_platform_intr s2 ))Crww 'C  ) )# .F S==ctjdgdzdgdzzdgdzzdgdzzdtjttdddd d zdg}t j |rJy) N rint64r)r arraylistranger is_lexsorted)failures rtest_is_lexsortedr"s S2X1#( #sRx 0QC"H =   rODbD !A % G$$W-- --rctjjdjdddj tj }tjjdjdddj tj }t j|dd}tj|d}|j tj }tj|||dz|z}t j|dd}tj||f}|j tj }tj||y)Nrrir mergesort)kindi@B) r random default_rngintegersastyper r groupsort_indexerargsorttmassert_numpy_array_equallexsort)abrexpectedkeys rtest_groupsort_indexerr3!s  a ))!T37>>rwwGA a ))!T37>>rwwGA  ' '4 0 3F zz!+.Hrww'H1 d(Q,C  ' 'W 5a 8Fzz1a&!Hrww'H1rceZdZdZdZdZy)TestPadBackfillctjgdtj}tjtt dtj}t j d||}tjgdtj}tj||tjddgtj}tjtt dd tj}t j d||}tjgd tj}tj||y) Nr r int64_t) rrrrrrrrrrrrrrr8r9rrrrr) r rrrrr backfillr r,r-selfoldnewfiller expect_fillers r test_backfillzTestPadBackfill.test_backfill;shhz2hhtE"Ibhh7""9-c37!FbggV  ##FM:hh1vRXX.hhtE!RL):""9-c37!5RWWE  ##FM:rctjgdtj}tjtt dtj}t j d||}tjgdtj}tj||tjddgtj}tjdtj}t j d||}tjgdtj}tj||y) Nr7rr:r;) rrrrrrrrrrrrr8r9r<) r rrrrr padr r,r-r r>s rtest_padzTestPadBackfill.test_padLshhz2hhtE"Ibhh7i(c2!FbggV  ##FM:hh2wbhh/ii*i(c2!5RWWE  ##FM:rctjgd}tjtdddgd}tjd||}tjdgtj }t j||tjd||}tjgtj }t j||tjd||}tjdgtj }t j||tjd||}tjgtj }t j||y)NOrir:robjectr) r rrr rFr r,r-r=)r?r@rArr1s r!test_pad_backfill_object_segfaultz1TestPadBackfill.test_pad_backfill_object_segfault\shhr%hhr2./s;h'S188RD0 ##FH5h'S188Bbgg. ##FH5""8,S#688RD0 ##FH5""8,S#688Bbgg. ##FH5rN)__name__ __module__ __qualname__rDrGrKrrr5r5:s;"; 6rr5ceZdZdZdZy) TestInfinityctjtjtddddtdg}t fd|DsJt fd|DsJk\rk(sJkskDrJtjtjk(sJtjtjk7rJt fd|DsJt fd |DsJkrk(sJkskDrJtjtjk(sJtjtjk7rJt |D]}t ||k(rJtjtjgd zjtjtjgd zjy) Nz-infg}Ô%Irg}Ô%ITinfc3(K|] }|k\ ywNrO.0xInfs r z2TestInfinity.test_infinity_sort..}s.3!8.c34K|]}|kDxs|uywrUrOrVs rrZz2TestInfinity.test_infinity_sort..~s!9137&a3h&9c3(K|] }|k ywrUrOrWrXNegInfs rrZz2TestInfinity.test_infinity_sort..s116Q;1r[c34K|]}|kxs|uywrUrOr_s rrZz2TestInfinity.test_infinity_sort..s!?6A:,f,?r]r) r Infinity NegInfinityfloatallrsortedr rr+)r?ref_numspermrYr`s @@rtest_infinity_sortzTestInfinity.test_infinity_sortrs !%%'E&M61eU5\3O.X....99999czcSj((9S3Y..  "h&7&7&9999$$&(*;*;*====11111?h????Ff$444F?6F?::##%)=)=)????'')X-A-A-CCCC * ,D$<8+ ++ , (##%&+,446 (&&()B./779rcLtj}tj}|tjkDrJ|tjk\rJ|tjkrJ|tjkrJ|tjk(rJ|tjk7sJ|tjkDrJ|tjk\rJ|tjkrJ|tjkrJ|tjk(rJ|tjk7sJyrU)r rbrcr nan)r?rYr`s rtest_infinity_against_nanz&TestInfinity.test_infinity_against_nans!%%'<"&&=  <"&&=  "&&=  bff}}BFF?""RVV###BFF?""RVV###RVV###rN)rLrMrNrirlrOrrrQrQqs :@ rrQ)r itertoolsrnumpyr pandas._libsrr pandas._testing_testingr,rr"r3r5rQrOrrrrs8"* .224646n1 1 r