K iMXddlZddlZddlmZddlZddlZddlmZm Z m Z m Z m Z m Z mZmZmZddlmZddlmZmZmZmZ ddlZdZ ddlZdZej:j<dkDrdZej>jAej>jCe"Z#d Z$d Z%d Z&d Z'd Z(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1GddZ2Gdde2Z3Gdde2Z4Gdde2Z5Gdd e2Z6Gd!d"e2Z7Gd#d$Z8y#e$rdZYwxYw#e$rdZYwxYw)%N)join) MT19937PCG64 PCG64DXSMSFC64 GeneratorPhilox RandomState SeedSequence default_rng) interface)assert_allcloseassert_array_equal assert_equal assert_raisesFTc|D]e}t||trt||||)t||tjrt ||||Y||||k(reJyN) isinstancedictassert_state_equalnpndarrayr)actualtargetkeys d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/random/tests/test_direct.pyrr2sk. fSk4 ( vc{F3K 8 s RZZ 0 vc{F3K 8#;&+- -- .cr|tjdz dzjtjS)Ngp>)ruint32astypefloat32)us ruint32_to_float32r%<s) "))A, ; / 7 7 CCrc|tj|}tj|tjdz tj}tjd}tj||ztj}tj||gj }t |S)N dtype)ruint64arrayr! column_stackravelr%)xupperlowerjoineds runiform32_from_uint64r3@s| ! A HHQ"))B-'ryy 9E IIj !E HHQYbii 0E __eU^ , 2 2 4F V $$rctj|tjdz }tj|tjdz}t|S)Nr*)rr+r!r%r/s runiform32_from_uint53r7IsC !  " %A !bii ++,A Q rct|Sr)r%r6s runiform32_from_uint32r9Os Q rcn|dk(r t|S|dk(r t|S|dk(r t|St)N@5r')r3r7r9NotImplementedErrorr/bitss runiform32_from_uintr@Ss> rz$Q'' $Q'' $Q''!!rcB|dvr t|S|dk(r t|Sy)N)r;?r<r')uniform_from_uint64uniform_from_uint32r>s runiform_from_uintrE^s, |"1%% "1%% rc8|tjdz dzS)N g<)rr+r6s rrCrCes 2 #; <)]+)34 "E%u';';R@ u{{2 2 %% %rcTtjj}|jj}|j d}t dDcgc]}|j|fz}}|Dcgc]}|jc}|k(sJ|jj d}t ddDcgc]}|j|fz}}|Dcgc]}|jjc}|k(sJ|j d}t ddDcgc]}|j|fz}}|Dcgc]"}|jjj$} }| |k(sJ|dj|djk7sJycc}wcc}wcc}wcc}wcc}wcc}w)z? Test spawning new generators and bit_generators directly. rJrjrrN) rrandomr bit_generatorseed_seqrorNrkuniform) rngseqnew_ssrP expected_keyscnew_bgsbgnew_rngs found_keyss rtest_generator_spawningrsx ))   !C   $ $C YYq\F388.FakeSeedSequencec0tj||S)Nr()rzeros)selfn_wordsr)s rrsz;test_non_spawnable..FakeSeedSequence.generate_states88G51 1rN)__name__ __module__ __qualname__rr!rsrmrrFakeSeedSequencers02  2rrzThe underlying SeedSequence)matchrJ) rnrgregisterrrzr pytestraisesrrror{)rgrr~s rtest_non_spawnablers822+, ))   0 2 3C y(E F !  y(E F# "####s!B;C;CCc2eZdZejZixZZedZ edZ dZ dZ dZ dZdZdZd Zd Zd Zd Zd ZdZdZdZej4j7eddZej4j7eddZdZ y)Basect|_d|_tj|_t |_g|_g|_ y)Nr;) rr{r?rr+r)rrseed_error_typeinvalid_init_typesinvalid_init_valuesclss r setup_classzBase.setup_classs4!II '!#"$rc t|5}|j}|jd}|ddDcgc]}t|j d}}g}|D]=}|j t|jddj d?|t j||jdcdddScc}w#1swYyxYw)N,rrr()seeddata) openreadlinesplitintstripr\rr,r))rfilenamecsvrsrlines r _read_csvzBase._read_csvs (^ Ks<<>D::c?D/3ABx8!C 1%8D8D A C 3 3 9 9 ;Q?@ A "((4syy*IJ K K9 K Ks)C!C A)C CCc|j|jd}|jd}t||jd|j|jd}|j}t||jdd|j|jd}|jd}t||jdy)Nrrr)r{data1 random_rawrdata2rr{uintss rtest_rawz Base.test_raws***DJJv,>? ((.UDJJv./***DJJv,>? ((*UDJJv.q12***DJJv,>? ((.UDJJv./rc|j|jd}|jd}|J|jdd}|Jy)NrF)outputr)r{rrrs rtest_random_rawzBase.test_random_rawsY***DJJv,>? (((6}}((e(<}}rcd}t|j|jd}|j|}t |t |jd||j t|j|jd}|jd}t |t |jd||j y)Nrr)r r{rstandard_normalrrer?r)rr]rsr_s rtest_gauss_invzBase.test_gauss_invs  +++TZZ-?@ A""1%' 6(:AtyyI K+++TZZ-?@ A""2&' 6(:AtyyI KrcLt|j|jd}t|jd|j}|j t |}t||t|jtjt|j|jd}t|jd|j}|j t |}t||t|jtjy)Nrr) rr{rrEr?rzrMrrr)rfloat64rrrvalsuniformss rtest_uniform_doublezBase.test_uniform_doubles )t))4::f+=> ? F!3TYY?99SY'$'X^^RZZ0 )t))4::f+=> ? F!3TYY?99SY'$'X^^RZZ0rct|j|jd}t|jd|j}|j t |tj}t||t|jtjt|j|jd}t|jd|j}|j t |tj}t||t|jtjy)Nrrr() rr{rr@r?rzrMrr#rrr)rrs rtest_uniform_floatzBase.test_uniform_floats )t))4::f+=> ?"4::f#5tyyA99SYbjj99$'X^^RZZ0 )t))4::f+=> ?"4::f#5tyyA99SYbjj99$'X^^RZZ0rct|j|jd}dt|vsJt |dj j ddt|vsJyNrrz#xXr/)rr{rrepridr0replacerrs r test_reprzBase.test_reprse )t))4::f+=> ?d2h&&&R&##%--c3748CCCrc4t|j|jd}dt|vsJt|jjt|vsJt |dj jddt|vsJyr)rr{rstrrrr0rrs rtest_strz Base.test_str#s )t))4::f+=> ?c"g%%%4%%../3r7:::R&##%--c37s2wFFFrcddl}|j|jd}|j}|j |}|j |}|j}t t|jdt|jd||usJt||td}|j |j |}t|j|jy)Nrrrd) pickler{rrpdumpsloadsrrrrr r) rrr{rp bitgen_pklreloadedreloaded_statessaas r test_picklezBase.test_pickle)s***DJJv,>? ##\\-0 << +!9]3CCDI$X.>>tD FH,,,>51 #  \\&,,r* +RXXrxx(rcBddl}|j|jd}|j}|j |j |}|j}t |j|jt |j|j|jjd|j |j |}|j}t |j|jt |j|jy)Nrrrj) rr{rr|rrrrppoolrorq)rrr{rbg_plkss_plks r#test_pickle_preserves_seed_sequencez(Base.test_pickle_preserves_seed_sequence:s ***DJJv,>?  # #fll=9:RXXv||,RWWfkk*$$R(fll=9:RXXv||,R**F,E,EFrc|j|jd}tjt5dh|_dddy#1swYyxYw)Nr1)r{rrrrrrprr{s rtest_invalid_state_typezBase.test_invalid_state_typeLsH***DJJv,>? ]]9 % (#&%M  ( ( (s AAc|j|jd}|j}d|d<tjt 5||_dddy#1swYyxYw)NrotherBitGeneratorr{)r{rrprr ValueError)rr{rps rtest_invalid_state_valuezBase.test_invalid_state_valueQs[***DJJv,>? ##!4o ]]: & ("'M  ( ( (s AA!c|j}|jD])}tjt5||ddd+y#1swY6xYwr)r{rrrrrrr{sts rtest_invalid_init_typezBase.test_invalid_init_typeXsP** )) #By) #r" # # # # #s AA c|j}|jD]/}tjtt f5||ddd1y#1swY?   #  H- ]]: & 1  $ $Q 0 1 1 1s A55A>zcffi not available)reasonc|j|jd}|j}t|tsJ|j}||usJyNr)r{rcffirr )rr{cffi_interfaceother_cffi_interfaces r test_cffizBase.test_cffiksR***DJJv,>? &++.)444,11#~555rzctypes not availablec|j|jd}|j}t|tsJ|j}||usJyr)r{rctypesrr )rr{ctypes_interfaceother_ctypes_interfaces r test_ctypeszBase.test_ctypesssU***DJJv,>? (//*I666!.!5!5%)9999rc|j|jd}|j}|j}t |t sJt ||dt |dtsJy)Nrrr)r{rrp __getstate__rtuplerr )rr{rp alt_states r test_getstatezBase.test_getstate{sh***DJJv,>? ##!..0 )U+++5)A,/)A, 555rN)!rrrrr+r)rr classmethodrrrrrrrrrrrrrrrrrmarkskipif MISSING_CFFIrMISSING_CTYPESrrrmrrrrs IIEEE%%KK 0 K 1 1D G )"G$( (# # 1 [[ -AB6C6 [[/EF:G:6rrc"eZdZedZdZy) TestPhiloxc,t|_d|_tj|_|j ttd|_ |j ttd|_ t|_ g|_ ddddddzdzfg|_y) Nr;z./data/philox-testset-1.csvz./data/philox-testset-2.csv)rNrrrIir)r r{r?rr+r)rrpwdrrrrrrrrs rrzTestPhilox.setup_classs"II MM 3 46 MM 3 46 '!##/tQ#XPQ\8R"Src|j|jd}|j}|j|dd|dd}t|j|jy)Nrrpcounterr)rr)r{rrpr)rr{rpkeyeds r test_set_keyzTestPhilox.test_set_keysh***DJJv,>? ##""5>)+D',W~e'<#>=..  ?  &&2   &++b/!&   C$/++b/!&   aft!34++b/'!!!'!!!rct|jd}|j}|jd}d}|d|k(sJ|jt ddD|jd}d}|d|k(sJy)N%@ rp r%4= Kvu1/c3&K|] }d|z ywrINrm.0rPs r z/TestPCG64.test_advange_large..C1C`r;r'r5r rIrl @H}.|zKLfberr{rprsumrrpcgrp initial_stateadvanced_states rtest_advange_largezTestPCG64.test_advange_larges t)).9 : '"? W~... CC&BCCD '"@W~///rNrrrrrr%r:rmrrrr** " 0rrc(eZdZedZdZdZy) TestPCG64DXSMc,t|_d|_tj|_|j ttd|_ |j ttd|_ ttf|_ ddgfdg|_dg|_y)Nr;z./data/pcg64dxsm-testset-1.csvz./data/pcg64dxsm-testset-2.csvrrr)rr{r?rr+r)rrrrrrrrrrrrs rrzTestPCG64DXSM.setup_classsv%II MM$s,L"MN MM$s,L"MN )95"(D6)Y!?#('rct|j|jd}|jj}d}|jj ||j d}||j_|jj ddz|z|j d}||j_|jj dddzz|z|j d}||k(sJ||k(sJyrrr s rr%z#TestPCG64DXSM.test_advance_symmetryr&rct|jd}|j}|j}d}|dd|k(sJ|jt ddD|jd}d}|d|k(sJy)Nr(r)rpc3&K|] }d|z ywr+rmr,s rr.z3TestPCG64DXSM.test_advange_large..r/r0r1l oF [UmO1X9}r4r6s rr:z TestPCG64DXSM.test_advange_larges t)).9 : ? W~g&-777 CC&BCCD '"@W~///rNr;rmrrr>r>r<rr>c(eZdZedZdZdZy) TestMT19937ct|_d|_tj|_|j ttd|_ |j ttd|_ t|_ g|_ dg|_y)Nr'z./data/mt19937-testset-1.csvz./data/mt19937-testset-2.csvr)rr{r?rr!r)rrrrrrrrrrs rrzTestMT19937.setup_classsf#II MM$s,J"KL MM$s,J"KL (!##('rctt|jtjtj gtt|jtjtj gtt|jtjtj tj gtt|jtjdtj gtt|jtj gtt|jdtj gy)Nr)rrrr{rr,pi)rs rtest_seed_float_arrayz!TestMT19937.test_seed_float_arraysi!3!3RXXruug5FGi!3!3RXXvh5GHi!3!3RXXruuruufo5NOi!3!3RXXq"%%j5IJi!3!3beeW=i!3!3aZ@rcbt|j|jd}|j}|j}|j d}|d|dd|ddf}||_|j d}t |||dz}||_|j d}t ||y)Nrir{rprpos)rrY)rr{rrprr)rrr{rpdesiredtuprs rtest_state_tuplezTestMT19937.test_state_tuples )t))4::f+=> ?(( ##++g&_%uW~e'<W~e$&! W%VW%Hn! W%VW%rN)rrrrrrHrMrmrrrDrDs**A &rrDc"eZdZedZdZy) TestSFC64c,t|_d|_tj|_|j ttd|_ |j ttd|_ ttf|_ ddgfdg|_dg|_y)Nr;z./data/sfc64-testset-1.csvz./data/sfc64-testset-2.csvrrr)rr{r?rr+r)rrrrrrrrrrrrs rrzTestSFC64.setup_class s|!II MM 2 35 MM 2 35 )95"(D6)Y!?#('rcddl}ddl}tjgdtj}t j jt j jtd}t j j|dd}|j|5}|j|}dddttsJt|j dd|y#1swY8xYw)Nr)lVoTMQl *,!;laE]yg r(rzsfc64_np126.pkl.gzrp)gziprrr,r+ospathrabspath__file__rrloadrrrrp)rrSrexpected_state base_pathpkl_filegzsfcs rtest_legacy_picklezTestSFC64.test_legacy_pickles  )) GGMM"''//(";rDrOr`rmrrr{sT     +LN99L ggoobggooh/0.D%  "&=#2&*:,#$u6u6n==,$0$0N$0D$0N!&$!&H#B#BL//eLNs$DDDDD)(D)