
    Kh\                     (   S SK r S SKrS SKrS SKrS SKJr  S SKrS SKJ	r
  SSKJr  Sq\" S2S\R                  " S5      0\
D6r	S rS	 rS
 rS r " S S5      r\" 5       r/ SQrSS/0r\S   S/-   \S'   \S   S/-   \S'   S/\S'   S/\S'   \S   SS/-   \S'   \S   SS/-   \S'   \S   SS/-   \S'   \S   SS/-   \S'   \S   S/-   \S'   \S   S/-   \S'   \S   S/-   \S'   \S   S/-   \S'   \S   SS/-   \S'   \S   / SQ-   \S'   \S   S/-   \S'   S/\S'   S/\S'   S/\S'   \R0                  " 5       R                  R2                  S :w  d)  \R4                  " 5       R                  R6                  S!::  ap  \ R                  S":w  a`  \R8                  " 5       \R:                  " 5       4S#:w  a:  \R=                  / S$Q5        \S   / S%Q-   \S&'   \S&   / S'Q-   \S('   \S   SS)/-   \S)'    " S* S+5      r " S, S-5      r  " S. S/5      r! " S0 S15      r"g)3    N)Path)c_names_dict   )util	CHARACTERcc                  `    [        [        5      R                  5       R                  S-  n U S-  $ )Nsrcarray_from_pyobj)r   __file__resolveparent)testroots    X/var/www/html/env/lib/python3.13/site-packages/numpy/f2py/tests/test_array_from_pyobj.pyget_testdirr      s+    H~%%'..6H)))    c                  Z    [         c$  [        5       S-  /n [        R                  " U SS9q gg)z.
Build the required testing extension module

Nzwrapmodule.ctest_array_from_pyobj_ext)module_name)wrapr   r   build_meson)r
   s    r   setup_moduler      s4     |MN*
 3NO	 r   c                 H    [         R                  U 5      S   n[        U5      $ )N   )r   array_attrsflags2names)arrflagss     r   
flags_infor   '   s"    S!!$Eur   c                     / nS H8  n[        U 5      [        [        US5      -  (       d  M'  UR                  U5        M:     U$ )N)
CONTIGUOUSFORTRANOWNDATA
ENSURECOPYENSUREARRAYALIGNED
NOTSWAPPED	WRITEABLEWRITEBACKIFCOPYUPDATEIFCOPYBEHAVED
BEHAVED_ROCARRAYFARRAYr   )absgetattrr   append)r   infoflagnames      r   r   r   ,   s@    D  u:h222KK!#$ Kr   c                   >    \ rS rSr/ 4S jrS rS rS rS rS r	Sr
g	)
IntentC   c                     US S  U l         SnU HB  nUS:X  a  U[        R                  -  nM  U[        [        SUR	                  5       -   5      -  nMD     X l        g )Nr   optionalF2PY_INTENT_)intent_listr   F2PY_OPTIONALr0   upperr   )selfr:   r   is       r   __init__Intent.__init__D   sW    &q>AJ+++~	'ABB	 
 
r   c                 p    UR                  5       nUS:X  a  SnU R                  U R                  U/-   5      $ )Nin_in)lower	__class__r:   )r=   names     r   __getattr__Intent.__getattr__N   s5    zz|5=D~~d..$788r   c                 >    SSR                  U R                  5      -  $ )Nz
intent(%s),)joinr:   r=   s    r   __str__Intent.__str__T   s    sxx(8(89::r   c                      SU R                   -  $ )Nz
Intent(%r)r:   rL   s    r   __repr__Intent.__repr__W   s    t//00r   c                 .   ^  [        U 4S jU 5       5      $ )Nc              3   @   >#    U  H  oTR                   ;   v   M     g 7fNrP   ).0rF   r=   s     r   	<genexpr>#Intent.is_intent.<locals>.<genexpr>[   s     >4+++s   )allr=   namess   ` r   	is_intentIntent.is_intentZ   s    >>>>r   c                 p    [        U R                  5      [        U5      :H  =(       a    U R                  " U6 $ rU   )lenr:   r\   rZ   s     r   is_intent_exactIntent.is_intent_exact]   s*    4##$E
2Mt~~u7MMr   )r   r:   N)__name__
__module____qualname____firstlineno__r?   rG   rM   rQ   r\   r`   __static_attributes__ r   r   r5   r5   C   s$    #% 9;1?Nr   r5   )BOOLBYTEUBYTESHORTUSHORTINTUINTLONGULONGLONGLONG	ULONGLONGFLOATDOUBLECFLOATSTRING1STRING5r   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   )rn   rs   rt   rt   ru   rv   rw         win32)Darwinarm)
LONGDOUBLECDOUBLECLONGDOUBLE)rp   rs   rt   r}   r}   )ru   r~   r   r   r~   c                   H    \ rS rSr0 rS rS rS rS rS r	S r
S rS	 rS
rg)Type   c                    [        U[        R                  5      (       aU  UnS n[        R	                  5        H9  u  p4[        U[
        5      (       a  M  UR
                  UR
                  L d  M7  Un  O   U R                  R                  UR                  5       S 5      nUb  U$ [        R                  U 5      nUR                  U5        XPR                  UR                  5       '   U$ rU   )
isinstancenpdtyper   itemstype_type_cachegetr<   object__new___init)clsrF   dtype0nr>   objs         r   r   Type.__new__   s    dBHH%%FD$**,!!T**v{{aff/DD - oo!!$**,5?JnnS!		$(+

%
r   c                 l   UR                  5       U l        U R                  S:X  aL  [        U R                     n[        R                  U l        SU l        [        R                  " S5      U l        GOU R                  R                  S5      (       az  [        U R                  S S    n[        R                  U l        [        U R                  SS  =(       d    S5      U l        [        R                  " SU R                   35      U l        Ok[        U R                     n[        [        SU R                  -   5      U l        UR                  U l        [        R                  " UR                  5      U l        U R
                  UR                  :X  d   eUR                  U l        UR                  U l        g )	Nr   r   r   STRINGr   r   SNPY_)r<   NAMEr   r   
NPY_STRINGtype_numelsizer   r   
startswithintr0   itemsizer   numchar	dtypechar)r=   rF   r2   s      r   r   
Type._init   s$   JJL	99#		*D OODMDK#DJYY!!(++		"1.D OODMdiim0q1DKAdkk]"34DJ		*D#D&499*<=DM--DK$)),DJ}}(((II	r   c                     SU R                    SU R                   SU R                   SU R                   SU R                   SU R
                   3$ )NzType(z)|type_num=z, dtype=z, type=z	, elsize=z, dtypechar=)r   r   r   r   r   r   rL   s    r   rQ   Type.__repr__   sV    		{+dmm_ =** &9T[[M :"nn-/ 	0r   c                 p    [         U R                      Vs/ s H  oR                  U5      PM     sn$ s  snf rU   )
_cast_dictr   rE   r=   _ms     r   
cast_typesType.cast_types   s,    -7		-BC-Brr"-BCCCs   3c                 V    [          Vs/ s H  oR                  U5      PM     sn$ s  snf rU   )_type_namesrE   r   s     r   	all_typesType.all_types   s!    -89[rr"[999s   &c                     [         U R                     R                  n/ n[         H6  n[         U   R                  U:  d  M  UR	                  [        U5      5        M8     U$ rU   r   r   	alignmentr   r1   r   r=   bitstypesrF   s       r   smaller_typesType.smaller_types   O    DII&00DD!++d2T$Z(   r   c                     [         U R                     R                  n/ n[         HG  nX0R                  :X  a  M  [         U   R                  U:X  d  M-  UR	                  [        U5      5        MI     U$ rU   r   r   s       r   equal_typesType.equal_types   s\    DII&00Dyy D!++t3T$Z(	  
 r   c                     [         U R                     R                  n/ n[         H6  n[         U   R                  U:  d  M  UR	                  [        U5      5        M8     U$ rU   r   r   s       r   larger_typesType.larger_types   r   r   )r   r   r   r   r   r   N)rb   rc   rd   re   r   r   r   rQ   r   r   r   r   r   rf   rg   r   r   r   r      s0    K #.0D:r   r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	Array   c           
          SU R                    SU R                   SU R                   SU R                   SU R                   3
$ )NzArray(z, z)|arr=)r   dimsintentr   r   rL   s    r   rQ   Array.__repr__   sD    2dii[4;;- @HH:VDHH:/ 	0r   c           
         Xl         X l        X0l        [        R                  " U5      U l        X@l        [        R                  UR                  UR                  X#R                  U5      U l        [        U R                  [        R                  5      (       d   e[        R!                  U R                  5      U l        [%        U5      S:  Ga7  U R                  R'                  S5      (       a  UR                  [        R(                  -  (       d   eU R                  R                  S   (       a   eU R                  R                  S   (       d   eU R"                  S   [        R*                  -  (       a   eOUR                  [        R(                  -  (       a   eU R                  R                  S   (       d   eU R                  R                  S   (       a   eU R"                  S   [        R*                  -  (       d   eUc  S U l        S U l        g UR'                  S5      (       ao  [        U[        R                  5      (       d   [1        [        U5      5      5       e[        R2                  " U5      R4                  " U6 R                  5       U l        O[        R2                  " [        R2                  " XAR6                  S9R4                  " U6 U R                  R'                  S5      =(       a    S=(       d    S	S
9U l        U R,                  R8                  U:X  d   eU R,                  R;                  U R                  R                  S   S9  U R,                  R                  S   (       d   XC45       e[        R!                  U R,                  5      U l        [%        U5      S:  a  U R                  R'                  S5      (       ah  U R,                  R                  S   (       a   eU R,                  R                  S   (       d   eU R.                  S   [        R*                  -  (       a   eOgU R,                  R                  S   (       d   eU R,                  R                  S   (       a   eU R.                  S   [        R*                  -  (       d   eU R"                  S   U R.                  S   :X  d   eU R"                  S   U R.                  S   :X  d   eU R"                  S   S::  a~  U R"                  S   U R.                  S   :X  d^   [1        U R"                  S   U R.                  S   U R                  R=                  5       U R,                  R=                  5       45      5       eU R"                  S   SS  U R.                  S   SS  :X  d,   [1        U R"                  S   U R.                  S   45      5       eU R"                  S   U R.                  S   :X  dn   [1        U R"                  S   U R.                  S   [?        SU R"                  S   -  U R.                  S   -
  5      [?        U R"                  S   5      U45      5       eUR'                  S5      (       a-  U R"                  S   S   U R                   R                  :  d   eOYU R"                  S   S   U R                   R                  :X  d   eU RA                  U R,                  U R                  5      (       d   e[        U R                  [        R                  5      (       aq  UR                  [C        UR8                  5      R                  :X  aC  UR'                  S5      (       d,  U R"                  S   S::  a  U RE                  5       (       d   eg g g g g )Nr   r   r"   r!   r   cacher   CF)orderr(   writer#            r   copy)#r   r   r   r   deepcopyobj_copyr   r   callr   r   r   r   r   r   ndarrayr   arr_attrr_   r\   F2PY_INTENT_Cr"   pyarr
pyarr_attrreprarrayreshaper   r   setflagstobytesr   	arr_equalr   has_shared_memory)r=   typr   r   r   s        r   r?   Array.__init__   s   		c* 99S\\ ZZ!<<6 $((BJJ////((2t9q={{$$S))t'9'99:988>>)444xx~~l333 MM!,t||;<;;"LL4+=+==>=xx~~i00088>>,777a(4<<787;DJ"DOG$$c2::..?T#Y?.#..5::<DJMM2::DAkk++C08S?CDJ ::##s***

$((.."=>zz	*9SM9***4::6t9q={{$$S))::++I666zz''555 OOA.=>==zz''	222::++L999*T\\9:9}}Q4??1#5555}}Q4??1#5555==q ==#tq'99 4a "  "

""$	A < 9 }}Q$(:23(?? 	MM!dooa0G B 	? }}Q4??1#55 	tMM!OOADMM!,,tq/AABa()=
 8 	5 G$$==#A&$))*:*::::==#A&$))*:*::::NN4::txx8898dhh

++zzT#))_333''//DMM!4D4I113333 5J/ 4 ,r   c                 \    UR                   UR                   :w  a  gX:H  R                  5       $ )NF)shaperY   )r=   arr1arr2s      r   r   Array.arr_equalV  s&    ::#!!##r   c                 ,    [        U R                  5      $ rU   )strr   rL   s    r   rM   Array.__str__[  s    488}r   c                     U R                   U R                  L a  g[        U R                   [        R                  5      (       d  g[
        R                  U R                   5      nUS   U R                  S   :H  $ )z6Check that created array shares data with input array.TFr   )r   r   r   r   r   r   r   r   )r=   obj_attrs     r   r   Array.has_shared_memory^  sY    88txx$((BJJ//##DHH-{dmmA...r   )	r   r   r   r   r   r   r   r   r   N)
rb   rc   rd   re   rQ   r?   r   rM   r   rf   rg   r   r   r   r      s    0U4n$
/r   r   c                       \ rS rSrS rSrg)
TestIntentih  c                 &   [        [        R                  R                  5      S:X  d   e[        R                  R                  R                  S5      (       d   e[        R                  R                  R                  S5      (       a   e[        R                  R                  R                  SS5      (       d   e[        R                  R                  R                  SS5      (       d   e[        R                  R                  S5      (       a   eg )Nzintent(in,out)r   rC   )r   r   rB   outr   r\   r`   rL   s    r   test_in_outTestIntent.test_in_outi  s    6::>>"&6666zz||%%c****::<<//4444zz||++C6666zz||++D#6666::'',,,,,r   rg   N)rb   rc   rd   re   r   rf   rg   r   r   r   r   h  s    -r   r   c                      \ rS rSr\R
                  " SS\S9S 5       r\S 5       r	\S 5       r
S rS	 r\R                  R                  S
SS/5      \R                  R                  SSS/5      \R                  R                  SSS/5      S 5       5       5       rS rS rS rS rS rS rS rS rS rS rS rS rS  rS! rS" rS# rS$ r S% r!S& r"S'r#g())TestSharedMemoryir  Tclass)autousescopeparamsc                 x   ^ [        TR                  5      TR                  l        U4S jTR                  l        g )Nc                 D   > [        [        TR                  5      XU5      $ rU   )r   r   param)r=   r   r   r   requests       r   <lambda>-TestSharedMemory.setup_type.<locals>.<lambda>w  s    Es=4r   )r   r   r   r   r   )r=   r   s    `r   
setup_typeTestSharedMemory.setup_typet  s&    .4r   c                     U R                   R                  R                  S5      (       a   U R                   R                  nSU-  SU-  /$ SS/$ )Nr   12r   r   r   r   r   r   r=   r   s     r   num2seqTestSharedMemory.num2seqz  sF    99>>$$X..YY%%F&L#,//1vr   c                     U R                   R                  R                  S5      (       a2  U R                   R                  nSU-  SU-  SU-  /SU-  SU-  SU-  //$ / SQ/ S	Q/$ )
Nr   r  r  3456)r   r   r   )rx   r   r   r  r  s     r   num23seqTestSharedMemory.num23seq  sm    99>>$$X..YY%%F6\3<v>6\3<v>@ @9%%r   c                     U R                  S/[        R                  U R                  5      nUR	                  5       (       a   eg )Nr   )r   r   rB   r  r   r=   as     r   test_in_from_2seq"TestSharedMemory.test_in_from_2seq  s6    JJsFJJ5&&(((((r   c                    U R                   R                  5        H  n[        R                  " U R                  UR
                  S9nU R                  [        U R                  5      /[        R                  U5      nUR                  U R                   R                  :X  aG  UR                  5       (       d0   [        U R                   R
                  UR
                  45      5       eM  UR                  5       (       d  M   e   g Nr   )r   r   r   r   r  r   r_   r   rB   r   r   r   r=   tr   r  s       r   test_in_from_2casttype'TestSharedMemory.test_in_from_2casttype  s    %%'A((4<<qww7C

C-.

C@Axx499+++**,,NdDIIOOQWW3M.NN,..0000 (r   r   wror   r   r   inp2seq23seqc                 v   [        U SU-   5      n[        R                  " X@R                  R                  US9nUR                  US:H  S9  U R                  UR                  US:H  =(       a    [        R                  R                  =(       d    [        R                  U5      nUR                  5       (       d   eg)z5Test if intent(in) array can be passed without copiesr   r   r   r  r   r   N)r0   r   r   r   r   r   r   r   rB   r   r   )r=   r   r   r  seqr   r  s          r   test_in_nocopyTestSharedMemory.test_in_nocopy  s    
 dECK(hhs))//?ESL*JJsyy#6&**,,E6::M""$$$$r   c                    [         R                  " U R                  U R                  R                  S9nU R                  [        U R                  5      /[        R                  U5      nUR                  5       (       d   e U R                  S/[        R                  R                  U R                  5      n[        S5      e! [         a*  n[        U5      R                  S5      (       d  e  S nAg S nAff = f)Nr   r   z,intent(inout) should have failed on sequencez6failed to initialize intent(inout|inplace|cache) array)r   r   r  r   r   r_   r   inoutr   rB   SystemError	TypeErrorr   r   )r=   r   r  msgs       r   test_inout_2seq TestSharedMemory.test_inout_2seq  s    hht||499??;JJDLL)*FLL#>""$$$$	N

A3

 0 0$,,?A LMM  	s8&&LN NN	s   6C 
C6 C11C6c                    [         R                  " U R                  U R                  R                  SS9n[        U R                  5      [        U R                  S   5      4nU R                  U[        R                  R                  U5      nUR                  5       (       d   e[         R                  " U R                  U R                  R                  SS9n[        U R                  5      [        U R                  S   5      4n U R                  U[        R                  R                  U5      n[        S5      e! [         a*  n[        U5      R                  S5      (       d  e  S nAg S nAff = f)Nr   r   r   r   z2intent(inout) should have failed on improper arrayz(failed to initialize intent(inout) array)r   r   r  r   r   r_   r   rB   r%  r   r&  
ValueErrorr   r   )r=   r   r   r  r(  s        r   test_f_inout_23seq#TestSharedMemory.test_f_inout_23seq  s   hht}}DIIOO3GT]]#Sq)9%:;JJufjj..4""$$$$hht}}DIIOO3GT]]#Sq)9%:;	F

5&**"2"2C8A DF F  	s8&&>@ @@	s   +D< <
E0 E++E0c                 \   [         R                  " U R                  U R                  R                  S9n[        U R                  5      [        U R                  S   5      4nU R                  U[        R                  R                  R                  U5      nUR                  5       (       d   eg Nr   r   )r   r   r  r   r   r_   r   rB   r   r%  r   r=   r   r   r  s       r   test_c_inout_23seq#TestSharedMemory.test_c_inout_23seq  st    hht}}DIIOO<T]]#Sq)9%:;JJufjjll00#6""$$$$r   c                 D   U R                   R                  5        H  n[        R                  " U R                  UR
                  S9nU R                  [        U R                  5      /[        R                  R                  U5      nUR                  5       (       d  M   e   g r  )r   r   r   r   r  r   r_   r   rB   r   r   r  s       r   test_in_copy_from_2casttype,TestSharedMemory.test_in_copy_from_2casttype  sl    %%'A((4<<qww7C

C-.

EA**,,,, (r   c                     U R                  [        U R                  5      [        U R                  S   5      /[        R                  U R                  5      nUR                  5       (       a   eg Nr   )r   r_   r  r   rB   r   r  s     r   test_c_in_from_23seq%TestSharedMemory.test_c_in_from_23seq  sV    JJT]]1%5!67MM &&(((((r   c                 ^   U R                   R                  5        H  n[        R                  " U R                  UR
                  S9nU R                  [        U R                  5      [        U R                  S   5      /[        R                  U5      nUR                  5       (       d  M   e   g r0  )
r   r   r   r   r  r   r_   r   rB   r   r  s       r   test_in_from_23casttype(TestSharedMemory.test_in_from_23casttype  s|    %%'A((4==8C

T]]#Sq)9%:;VZZNA**,,,,	 (r   c                    U R                   R                  5        H  n[        R                  " U R                  UR
                  SS9nU R                  [        U R                  5      [        U R                  S   5      /[        R                  U5      nUR                  U R                   R                  :X  a  UR                  5       (       d   eM  UR                  5       (       d  M   e   g Nr   r   r   )r   r   r   r   r  r   r_   r   rB   r   r   r  s       r   test_f_in_from_23casttype*TestSharedMemory.test_f_in_from_23casttype  s    %%'A((4==sCC

T]]#Sq)9%:;VZZNAxx499+++**,,,,..0000 (r   c                    U R                   R                  5        H  n[        R                  " U R                  UR
                  S9nU R                  [        U R                  5      [        U R                  S   5      /[        R                  R                  U5      nUR                  U R                   R                  :X  a  UR                  5       (       d   eM  UR                  5       (       d  M   e   g r0  )r   r   r   r   r  r   r_   r   rB   r   r   r   r  s       r   test_c_in_from_23casttype*TestSharedMemory.test_c_in_from_23casttype  s    %%'A((4==8C

T]]#Sq)9%:;VZZ\\3PAxx499+++**,,,,..0000 (r   c                 t   U R                   R                  5        H  n[        R                  " U R                  UR
                  SS9nU R                  [        U R                  5      [        U R                  S   5      /[        R                  R                  U5      nUR                  5       (       d  M   e   g r?  )r   r   r   r   r  r   r_   r   rB   r   r   r  s       r   test_f_copy_in_from_23casttype/TestSharedMemory.test_f_copy_in_from_23casttype  s    %%'A((4==sCC

T]]#Sq)9%:;VZZ__A **,,,, (r   c                    U R                   R                  5        H  n[        R                  " U R                  UR
                  S9nU R                  [        U R                  5      [        U R                  S   5      /[        R                  R                  R                  U5      nUR                  5       (       d  M   e   g r0  )r   r   r   r   r  r   r_   r   rB   r   r   r   r  s       r   test_c_copy_in_from_23casttype/TestSharedMemory.test_c_copy_in_from_23casttype  s    %%'A((4==8C

T]]#Sq)9%:;VZZ\\=N=NA **,,,, (r   c           	         U R                   R                  5        GH  nUR                  U R                   R                  :w  a  M*  [        R                  " U R
                  UR                  S9n[        U R
                  5      4nU R	                  U[        R                  R                  R                  U5      nUR                  5       (       d   eU R	                  U[        R                  R                  U5      nUR                  5       (       d   e[        R                  " U R
                  UR                  SS9nU R	                  U[        R                  R                  R                  U5      nUR                  5       (       d   eU R	                  U[        R                  R                  U5      nUR                  5       (       d   [        UR                  5      5       e U R	                  U[        R                  R                  US S S2   5      n[        S5      e   g ! [         a,  n[!        U5      R#                  S5      (       d  e  S nAGM8  S nAff = f)Nr   r   r   z8intent(cache) should have failed on multisegmented array(failed to initialize intent(cache) array)r   r   r   r   r   r  r   r_   r   rB   r   r   r   r   r&  r,  r   r   )r=   r  r   r   r  r(  s         r   test_in_cache_from_2casttype-TestSharedMemory.test_in_cache_from_2casttype  s   $$&Axx499+++((4<<qww7C&)E

5&**,,"4"4c:A&&((((

5&**"2"2C8A&&((((((4<<qwwcBC

5&**,,"4"4c:A&&((((

5&**"2"2C8A&&((7$qww-7(PJJufjj&6&6DbD	B "NP P3 '(  3x**BD DDs   #1H""
I, IIc                 
   U R                   R                  5        GH+  nUR                  S:X  a  M  UR                  U R                   R                  :  a  M<  [        R
                  " UR                  [        R                  5      nU(       aF  [        U R                  S   5      [        R                  " UR                  5      R                  :  a  M  [        R                  " U R                  UR                  S9n[        U R                  5      4n U R                  U[        R                  R                   U5        [#        S5      e   g ! [$         a,  n['        U5      R)                  S5      (       d  e  S nAGMb  S nAff = f)Nr   r   r   z1intent(cache) should have failed on smaller arrayrM  )r   r   r   r   r   
issubdtyper   integerr   r  iinfomaxr   r_   r   rB   r   r&  r,  r   r   )r=   r  is_intr   r   r(  s         r   $test_in_cache_from_2casttype_failure5TestSharedMemory.test_in_cache_from_2casttype_failure  s   $$&Avv!xx499+++]]177BJJ7F#dll1o.!''1B1F1FF((4<<qww7C&)EI

5&**"2"2C8 "GI I' '  3x**BD DDs   +E
F E==Fc                    SnU R                  U[        R                  R                  S 5      nUR                  R
                  U:X  d   eSnU R                  U[        R                  R                  S 5      nUR                  R
                  U:X  d   eSn U R                  U[        R                  R                  S 5      n[        S5      e! [         a*  n[        U5      R                  S5      (       d  e  S nAg S nAff = f)Nr   r   r   rL  r   z8intent(cache) should have failed on undefined dimensions2failed to create intent(cache|hide)|optional array)
r   r   r   hider   r   r&  r,  r   r   r=   r   r  r(  s       r   test_cache_hidden"TestSharedMemory.test_cache_hidden3  s    JJufll//6uu{{e###JJufll//6uu{{e###	L

5&,,"3"3T:A JL L  	s8&&HJ JJ	s   +C 
D  C;;D c                 
   SnU R                  U[        R                  S 5      nUR                  R                  U:X  d   eUR                  UR                  [        R                  " XR                  R                  S95      (       d   eSnU R                  U[        R                  S 5      nUR                  R                  U:X  d   eUR                  UR                  [        R                  " XR                  R                  S95      (       d   eUR                  R                  S   (       a  UR                  R                  S   (       a   eSnU R                  U[        R                  R                  S 5      nUR                  R                  U:X  d   eUR                  UR                  [        R                  " XR                  R                  S95      (       d   eUR                  R                  S   (       d  UR                  R                  S   (       d   eSn U R                  U[        R                  S 5      n[        S5      e! [         a*  n[        U5      R                  S5      (       d  e  S nAg S nAff = f)	NrY  r   rZ  r"   r!   r[  z7intent(hide) should have failed on undefined dimensionsr\  )r   r   r]  r   r   r   r   zerosr   r   r   r   r&  r,  r   r   r^  s       r   test_hiddenTestSharedMemory.test_hiddenG  s   JJufkk40uu{{e###{{155"((5		"HIIIIJJufkk40uu{{e###{{155"((5		"HIIIIuu{{9%aeekk,.GGGJJufhhmmT2uu{{e###{{155"((5		"HIIII55;;y)aeekk,.GGG	K

5&++t4A IK K  	s8&&HJ JJ	s   "!I 
J I==Jc                 @   SnU R                  U[        R                  S 5      nUR                  R                  U:X  d   eUR                  UR                  [        R                  " XR                  R                  S95      (       d   eSnU R                  U[        R                  S 5      nUR                  R                  U:X  d   eUR                  UR                  [        R                  " XR                  R                  S95      (       d   eUR                  R                  S   (       a  UR                  R                  S   (       a   eSnU R                  U[        R                  R                  S 5      nUR                  R                  U:X  d   eUR                  UR                  [        R                  " XR                  R                  S95      (       d   eUR                  R                  S   (       d  UR                  R                  S   (       d   eg )NrY  r   rZ  r"   r!   )r   r   r8   r   r   r   r   rb  r   r   r   r   )r=   r   r  s      r   test_optional_none#TestSharedMemory.test_optional_noned  sl   JJufoot4uu{{e###{{155"((5		"HIIIIJJufoot4uu{{e###{{155"((5		"HIIIIuu{{9%aeekk,.GGGJJufhh//6uu{{e###{{155"((5		"HIIII55;;y)aeekk,.GGG.Gr   c                     U R                   n[        U5      4nU R                  U[        R                  U5      nUR
                  R                  U:X  d   eUR                  5       (       a   eg rU   )r  r_   r   r   r8   r   r   r   r1  s       r   test_optional_from_2seq(TestSharedMemory.test_optional_from_2seqv  sZ    llSJJufoos3uu{{e###&&(((((r   c                    U R                   n[        U5      [        US   5      4nU R                  U[        R                  U5      nUR
                  R                  U:X  d   eUR                  5       (       a   eU R                  U[        R                  R                  U5      nUR
                  R                  U:X  d   eUR                  5       (       a   eg r8  )	r  r_   r   r   r8   r   r   r   r   r1  s       r   test_optional_from_23seq)TestSharedMemory.test_optional_from_23seq}  s    mmS3s1v;'JJufoos3uu{{e###&&((((JJufoo//5uu{{e###&&(((((r   c                    [         R                  " U R                  U R                  R                  S9nUR
                  S   (       d  UR
                  S   (       d   eUR                  nU R                  U[        R                  U5      nUS   S   UR                  S   S   :X  d   [        XR                  45      5       eSUR                  S   S'   US   S   UR                  S   S   s=:X  a.  [         R                  " SU R                  R                  S9:X  d   e   eUR                  UL d   eUR
                  S   (       d   eUR
                  S   (       a   eg Nr   r"   r!   r   r   6   )r   r   r  r   r   r   r   r   inplacer   r   r1  s       r   test_inplaceTestSharedMemory.test_inplace  s   hht}}DIIOO<99Y'CIIl,CCC		JJufnnc21vayAEE!HQK';sEEl);;'a1vayAEE!HQKN288Bdiioo+NNNNNNuu||yy###99\****r   c                    U R                   R                  5        GH  nXR                   L a  M  [        R                  " U R                  UR
                  S9nUR
                  R                   UR                   :X  d   eUR
                  R                   U R                   R                   Ld   eUR                  S   (       d  UR                  S   (       d   eUR                  nU R                  U[        R                  U5      nUS   S   UR                  S   S   :X  d   [        X$R                  45      5       eSUR                  S   S'   US   S   UR                  S   S   s=:X  a.  [        R                  " SU R                   R
                  S9:X  d   e   eUR                  UL d   eUR                  S   (       d   eUR                  S   (       a   eUR
                  R                   U R                   R                   L a  GM   e   g ro  )r   r   r   r   r  r   r   r   r   rq  r   r   )r=   r  r   r   r  s        r   test_inplace_from_casttype+TestSharedMemory.test_inplace_from_casttype  s   %%'AII~((4==8C99>>QVV+++99>>777yy+		,0GGGIIE

5&..#6Aq6!9a+?T3,-??+AEE!HQKq6!9a Orxx>Biioo0O O O O O O55C<<99Y'''yy...99>>TYY^^333! (r   rg   N)$rb   rc   rd   re   pytestfixturer   r   propertyr  r  r  r  markparametrizer"  r)  r-  r2  r5  r9  r<  r@  rC  rF  rI  rN  rV  r_  rc  rf  ri  rl  rr  ru  rf   rg   r   r   r   r   r  s   ^^DD4 E4
   & &)1 [[WsDk2[[WsCj1[[UVW$56% 7 2 3%NF$%-)-11--P:I.L(K:H$)	)
+4r   r   rg   )#sysr   platformrw  pathlibr   numpyr   numpy._core._type_aliasesr   _c_names_dict r   r   dictr   r   r   r   r   r5   r   r   r   intpr   clongdoubler   system	processorextendr   r   r   r   rg   r   r   <module>r     s   
      C   hhsm*P
.N N< 
( vh
'6(2
6  (G94
7 X
6 i
7  (GW+==
7 !'*fh-??
8 w'8U*;;
5 )Wf,==
6 &&1
6  (G94
7 #F+zl:
: $W-=
;  )Xw,??
7 !%(+FF
8 !'*hZ7
8 "
9 "
9 &-
;  WWY__"bnn&6&<&<&F&F!&KLLG#__ 2 2 459JJ?@)&1 5  J| !+< 8 < !J}
 'x0Hi3HHJyN Nbl/ l/^- -s4 s4r   