0|:' ddlZddlZddlZddlZddlZddlZddlmZm Z ddl m Z ddl mZdae dZed2deedejd ejejfie Z d Zd Zd ZGd dZeZgdZddgiZeddgzed<eddgzed<dged<dged<edddgzed<edddgzed<edddgzed<edddgzed<eddgzed<eddgzed<eddgzed<eddgzed<edddgzed<edgdzed<eddgzed<dged<d ged <dged<ejjjd!ksejjjd krtejd"kriej ej!fd#krGe"gd$edgd%zed&<ed&gd'zed(<eddd)gzed)<Gd*d+Z#Gd,d-Z$Gd.d/Z%Gd0d1Z&dS)3N)assert_ assert_equal)typeinfo)utilSTRING CHARACTERcc^tjstjdt~d}t jt}tj ddddtj ddtj dd g}tj ||d adSdS) z6 Build the required testing extension module zNo C compiler availableNz config.add_extension('test_array_from_pyobj_ext', sources=['wrapmodule.c', 'fortranobject.c'], define_macros=[]) testssrcarray_from_pyobjz wrapmodule.czfortranobject.czfortranobject.htest_array_from_pyobj_ext) rhas_c_compilerpytestskipwrapospathdirname__file__getpathbuild_module_distutils) config_codedrs z/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/f2py/tests/test_array_from_pyobj.py setup_modulers   / -... | GOOH % % L%);^ L L L 1 2 2 L 1 2 2  *3 +FHH|c`t|d}t|S)N)r array_attrs flags2names)arrflagss r flags_infor&1s(   S ! !! $E u  rcg}dD]=}t|tt|dzr||>|S)N) CONTIGUOUSFORTRANOWNDATA ENSURECOPY ENSUREARRAYALIGNED NOTSWAPPED WRITEABLEWRITEBACKIFCOPY UPDATEIFCOPYBEHAVED BEHAVED_ROCARRAYFARRAYr)absgetattrrappend)r%infoflagnames rr#r#6sQ D"" u::h22 2 " KK ! ! ! Krc6eZdZgfdZdZdZdZdZdZdS)Intentc|dd|_d}|D]E}|dkr|tjz}|ttd|zz}F||_dS)Nroptional F2PY_INTENT_) intent_listr F2PY_OPTIONALr7upperr%)selfr@r%is r__init__zIntent.__init__Nsn&qqq> C CAJ++~ 'ABBB rcv|}|dkrd}||j|gzS)Nin_in)lower __class__r@)rCnames r __getattr__zIntent.__getattr__Xs9zz|| 5==D~~d.$7888rc<dd|jzS)Nz intent(%s),)joinr@rCs r__str__zIntent.__str__^ssxx(899::rcd|jzS)Nz Intent(%r)r@rPs r__repr__zIntent.__repr__ast/00rc(|D]}||jvrdSdS)NFTrS)rCnamesrKs r is_intentzIntent.is_intentds0  D4+++uu,trc`t|jt|ko |j|SN)lenr@rW)rCrVs ris_intent_exactzIntent.is_intent_exactjs,4#$$E 2M~t~u7MMrN) __name__ __module__ __qualname__rErLrQrTrWr[rrr<r<Ms{#%999 ;;;111 NNNNNrr<)BOOLBYTEUBYTESHORTUSHORTINTUINTLONGULONGLONGLONG ULONGLONGFLOATDOUBLECFLOATSTRING1STRING5r r`rarbrcrdrerfrgrhrirjrk)rfrkrlrlrmrnrowin32)Darwinarm) LONGDOUBLECDOUBLE CLONGDOUBLE)rhrkrlrtrt)rmrurvrvrucBeZdZiZdZdZdZdZdZdZ dZ dZ d S) Typect|tjrJ|}d}tD],\}}t|t s|j|jur|}n-|j|d}||St |}| |||j|<|SrY) isinstancenpdtyperitemstype _type_cachegetrBobject__new___init)clsrKdtype0nrDobjs rrz Type.__new__s dBH % % FD ((  1!!T**v{af/D/DDEo!!$**,,55 ?JnnS!! $(+ % rc$||_|jdkrMt|j}ttd|_d|_tjd|_n|j dryt|jdd}ttd|_t|jddpd|_tjd|j|_nat|j}ttd |jz|_|j d z|_tj|j |_|j|j ksJ|j |_ |j|_dS) Nr NPY_STRINGrr rr!rSNPY_r )rBNAMErr7rtype_numelsizer{r| startswithintbitsr~numchar dtypechar)rCrKr9s rrz Type._inits;JJLL 9 # #DI&D#D,77DMDK#DJJ Y ! !( + + -DIbqbM*D#D,77DMdim0q11DK"3dk"3"344DJJDI&D#D&49*<==DM)q.DK$),,DJ}((((I rc fd|jd|jd|jd|jd|jd|j S)NzType(z )|type_num=z, dtype=z, type=z , elsize=z , dtypechar=)rrr|r~rrrPs rrTz Type.__repr__sf/ //dm//*////-1[//#n// 0rc@fdtjDS)Nc:g|]}|Sr_rJ.0_mrCs r z#Type.cast_types..s%CCCrr""CCCr) _cast_dictrrPs`r cast_typeszType.cast_typess$CCCCZ -BCCCCrc*fdtDS)Nc:g|]}|Sr_rrs rrz"Type.all_types..s%999rr""999r) _type_namesrPs`r all_typeszType.all_typess9999[9999rct|jj}g}tD]:}t|j|kr"|t |;|SrYrr alignmentrr8rxrCrtypesrKs r smaller_typeszType.smaller_typesU ", ) )D~'$.. T$ZZ((( rct|jj}g}tD]F}||jkrt|j|kr"|t |G|SrYrrs r equal_typeszType.equal_typesse ", ) )Dty  ~'4// T$ZZ((( rct|jj}g}tD]:}t|j|kr"|t |;|SrYrrs r larger_typeszType.larger_typesrrN) r\r]r^rrrrTrrrrrr_rrrxrxsK ###.000 DDD:::rrxc,eZdZdZdZdZdZdZdS)Arrayc Vd|jd|jd|jd|jd|j S)NzArray(z, z)|arr=)r~dimsintentrr$rPs rrTzArray.__repr__sT///di//4;//H//$(H// 0rc  ||_||_||_tj||_||_t|j |j ||j ||_ t|j tjsJt|j |_t%|dkr|jdr[|j tjzsJ|j j drJ|j j dsJ|jdtjzrJnZ|j tjzrJ|j j dsJ|j j drJ|jdtjzsJ|d|_d|_dS|drrt|tjs$Jt1t|tj|j||_njtjtj||jj||jdrdpd |_|jj|ksJ|j|j j d  |jj d s J||ft|j|_t%|dkr|jdrE|jj drJ|jj dsJ|jdtjzrJnD|jj dsJ|jj drJ|jdtjzsJ|jd|jdksJ|jd|jdksJ|jddkr{|jd|jdks_Jt1|jd|jd|j |jf|jddd|jdddks/Jt1|jd|jdf|jd|jdkssJt1|jd|jdt?d|jdz|jdz t?|jd|f|dr$|jdd|jj ksJnE|jdd|jj ksJ| |j|j sJt|jtjr^|j tC|jj kr>|ds+|jddkr|"s JdSdSdSdSdS)Nrr r)r(r!cacher|CF)orderr/writer*rcopy)#r~rrrdeepcopyobj_copyrrcallrrr%r$rzr{ndarrayr"arr_attrrZrW F2PY_INTENT_Cr)pyarr pyarr_attrreprarrayreshaperr|setflagstobytesr# arr_equalrxhas_shared_memory)rCtyprrrs rrEzArray.__init__ s    c** 99S\ Z!6<66$(BJ/////((22 t99q=={$$S)) 9 t'99::98>)4444x~l3333 M!,t|;<<;<"L4+==>>=x~i00008>,7777 a(4<7887 ;DJ"DO F   G $ $ +c2:.. ? ?T#YY ? ?..#.5::<>>z *99S&M99***4:66 t99q=={$$S)) ;:+I6666z' 5555 OA.=>>=>z' 2222:+L9999*T\9::9}Q4?1#55555}Q4?1#55555 = q =#tq'99994 a "  "" ""$$ A<<999 }Q$(:233(???? M! doa0GBB???}Q4?1#5555t M!  OA  DM!,,tq/AA B B  a( ) )  = 8 8 555   G $ $ :=#A&$)*::::::=#A&$)*:::::NN4:tx88 9 98 dh + + 4zT#)__333''//4DM!4D4I4I1133333 4 433444I4I33rcV|j|jkrdS||kS)NF)shapeall)rCarr1arr2s rrzArray.arr_equalcs, : # #5 !!###rc*t|jSrY)strr$rPs rrQz Array.__str__hs48}}rc|j|jurdSt|jtjsdSt |j}|d|jdkS)z6Check that created array shares data with input array.TFr)rr$rzr{rrr"r)rCobj_attrs rrzArray.has_shared_memoryks\ 8tx  4$(BJ// 5##DH--{dmA...rN)r\r]r^rTrErrQrr_rrrrsc000U4U4U4n$$$ /////rrceZdZdZdS) TestIntentcttjjdksJtjjdsJtjjdrJtjjddsJtjjddsJtjdrJdS)Nzintent(in,out)r rH)rrrGoutr rWr[rPs r test_in_outzTestIntent.test_in_outvs6:>""&66666z|%%c*****:<//44444z|++C66666z|++D#66666:'',,,,,,,rN)r\r]r^rr_rrrrus#-----rrceZdZejddedZedZedZ dZ dZ ej d d d gej d d dgej dddgdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd!Zd"Zd#Zd$Z d%Z!d&S)'TestSharedMemoryTclass)autousescopeparamscbtjj_fdj_dS)NcLttj|||SrY)rrxparam)rCrrrrequests rz-TestSharedMemory.setup_type..s$E   vs=4=4r)rxrrr~r)rCrs `r setup_typezTestSharedMemory.setup_types8 .. 4444 rct|jjdr|jj}d|zd|zgSddgS)Nr12rrr~rrrrCrs rnum2seqzTestSharedMemory.num2seqsB 9> $ $X . . 0Y%F&L#,/ /1v rc|jjdr(|jj}d|zd|zd|zgd|zd|zd|zggSgdgd gS) Nrrr3456)rrr)rprr!rrs rnum23seqzTestSharedMemory.num23seqsr 9> $ $X . . @Y%F6\3<v>6\3<v>@ @ 999%%rc|dgtj|j}|rJdS)Nr)rrrGrrrCas rtest_in_from_2seqz"TestSharedMemory.test_in_from_2seqs; JJsFJ 5 5&&(((((((rc|jD]}tj|j|j}|t |jgtj|}|j |jj kr=| s(Jt|jj|jf| rJdSNr) r~rr{rrr|rZrrGrrrrCtrrs rtest_in_from_2casttypez'TestSharedMemory.test_in_from_2casttypes%%'' 1 1A(4 >""$$$$$ N A3 0$,??A LMM M    s88&&LNN        s1,B,, C$6#CC$ctj|j|jjd}t |jt |jdf}||t jj|}| sJtj|j|jjd}t |jt |jdf} ||t jj|}td#t$r.}t| dsYd}~dSd}~wwxYw)Nrrrrz2intent(inout) should have failed on improper arrayz(failed to initialize intent(inout) array)r{rrr~r|rZrrGr rr  ValueErrorrr)rCrrrr s rtest_f_inout_23seqz#TestSharedMemory.test_f_inout_23seqsQht}DIO3GGGT]##Sq)9%:%:; JJufj. 4 4""$$$$$ht}DIO3GGGT]##Sq)9%:%:; F 5&*"2C88A DFF F    s88&&>@@        s&&D E%#EEc.tj|j|jj}t |jt |jdf}||t jjj |}| sJdSNrr) r{rrr~r|rZrrGr r rrCrrrs rtest_c_inout_23seqz#TestSharedMemory.test_c_inout_23seqsyht}DIO<<<T]##Sq)9%:%:; JJufjl0# 6 6""$$$$$$$rc|jD]q}tj|j|j}|t |jgtjj |}| rJrdSr) r~rr{rrr|rZrrGrrrs rtest_in_copy_from_2casttypez,TestSharedMemory.test_in_copy_from_2casttypes%%'' - -A(4r$rrr{r4r~r|r%r )rCrrs rtest_optional_nonez#TestSharedMemory.test_optional_nonemsq JJufot 4 4u{e####{{15"(5 "H"H"HIIIII JJufot 4 4u{e####{{15"(5 "H"H"HIIIIIu{9%Gaek,.GGGG JJufh/ 6 6u{e####{{15"(5 "H"H"HIIIII5;y)Gaek,.GGGGGGrc|j}t|f}||tj|}|jj|ksJ|rJdSrY)rrZrrr>r$rrrs rtest_optional_from_2seqz(TestSharedMemory.test_optional_from_2seqs`lS  JJufos 3 3u{e####&&(((((((rc|j}t|t|df}||tj|}|jj|ksJ|rJ||tjj|}|jj|ksJ|rJdSr) rrZrrr>r$rrr rs rtest_optional_from_23seqz)TestSharedMemory.test_optional_from_23seqsmS3s1v;;' JJufos 3 3u{e####&&((((( JJufo/ 5 5u{e####&&(((((((rcdtj|j|jj}|jds |jdsJ|j}||tj|}|dd|j ddksJt||j fd|j dd<|dd|j ddcxkr$tjd|jjksnJ|j |usJ|jdsJ|jdrJdSNrr)r(rr6) r{rrr~r|r%rrinplacer$rrs r test_inplacezTestSharedMemory.test_inplaces&ht}DIO<<<9Y'CCIl,CCCC  JJufnc 2 21vayAE!HQK'''sAEl););'''a 1vayAE!HQKNNNN28Bdio+N+N+NNNNNNNu||||y####9\******rc@|jD]}||jur tj|j|j}|jj|jksJ|jj|jjusJ|jds |jdsJ|j}||tj |}|dd|j ddksJt||j fd|j dd<|dd|j ddcxkr$tjd|jjksnJ|j |usJ|jdsJ|jdrJ|jj|jjusJdSr=) r~rr{rrr|r%rrr?r$r)rCrrrrs rtest_inplace_from_casttypez+TestSharedMemory.test_inplace_from_casttypes%%'' 4 4ADI~~(4=888C9>QV++++9>7777y+ G ,0G G GGIE 5&.#66Aq6!9a +++T3,-?-?+++AE!HQKq6!9a OOOOrx>Bio0O0O0OOOOOOO5C<<<<9Y' ' ''y. . ..9>TY^33333! 4 4rN)"r\r]r^rfixturerrpropertyrrrrmark parametrizerr rrrrrrr r"r$r(r*r2r5r7r9r;r@rBr_rrrrs=V^D DDD44ED4 X &&X&)))111 [WsDk22 [WsCj11 [UVW$566%%762132% N N NFFF$%%% --- ))) ---111111------PPP:III&LLL(KKK:HHH$))) ) ) ) + + +44444rrr_)'rsysrplatformrnumpyr{ numpy.testingrrnumpy.core.multiarrayr _typeinforr_tidictr~rrrr&r#r<rrrintpr|itemsize clongdoublesystem processorextendrxrrrr_rrrVs{  ////////777777  4  dd3iicgq#-BCC    HHH6 .NNNNNNNNB  (vh  '6(2 6 (G94 7X 6i 7 (GW+== 7!'*fh-?? 8w'8U*;; 5)Wf,== 6&&1 6 (G94 7#F+zl: :$W- = ; )Xw,?? 7!%(+F+F+FF 8!'*hZ7 8" 9" 9&- ; RWYY_""nbn&6&6&<&F!&K&K LG # # X_   2 2 4 4 59J J J???@@@)&1555 J| !+< 8<<<!J} 'x0Hi3HHJyNNNNNNNNbl/l/l/l/l/l/l/l/^--------o4o4o4o4o4o4o4o4o4o4r