+
    ei\  c                   s2   ^ RI t ^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIH	t
 ^RIHt Rs]! R)R]P                  ! R4      /]
B t	R tR tR	 tR
 t ! R R4      t]! 4       t. R*OtRR./t]R,          R.,           ]R&   ]R,          R.,           ]R&   R.]R&   R.]R&   ]R,          RR.,           ]R&   ]R,          RR.,           ]R&   ]R,          RR.,           ]R&   ]R,          RR.,           ]R&   ]R,          R.,           ]R&   ]R,          R.,           ]R&   ]R,          R.,           ]R&   ]R,          R.,           ]R&   ]R,          RR.,           ]R&   ]R,          . R+O,           ]R&   ]R,          R.,           ]R&   R.]R&   R.]R&   R.]R&   ]P0                  ! 4       P                  P2                  ^8w  g+   ]P4                  ! 4       P                  P6                  ^8:  d   ]P                  R8w  dz   ]P8                  ! 4       ]P:                  ! 4       3R,8w  dS   ]P=                  . R-O4       ]R,          . R.O,           ]R&   ]R,          . R/O,           ]R &   ]R,          RR.,           ]R&    ! R! R"4      t ! R# R$4      t  ! R% R&4      t! ! R' R(4      t"R# )0    N)Path)c_names_dict)util	CHARACTERcc                  sp    \        \        4      P                  4       P                  R ,          p V R,          # )srcZarray_from_pyobj)r   Z__file__ZresolveZparent)Ztestroot    M/usr/lib64/python3.14/site-packages/numpy/f2py/tests/test_array_from_pyobj.pyget_testdirr	      s+    H~%%'..6H(((    c                 sn    \         f-   \        4       R,          .p \        P                  ! V RR7      s R# R# )z.
Build the required testing extension module

Nzwrapmodule.cZtest_array_from_pyobj_ext)Zmodule_name)wrapr	   r   Zbuild_meson)r   r   r   setup_moduler      s4     |MN*
 1LM	 r
   c                 sP    \         P                  V 4      ^,          p\        V4      # )   )r   array_attrsflags2names)arrflags   & r   
flags_infor   (   s"    S!!$Eur
   c                 s    . pR F=  p\        V 4      \        \        V^ 4      ,          '       g   K,  VP                  V4       K?  	  V# )
CONTIGUOUS)r   FORTRANOWNDATAZ
ENSURECOPYZENSUREARRAYZALIGNEDZ
NOTSWAPPED	WRITEABLEZWRITEBACKIFCOPYZUPDATEIFCOPYZBEHAVEDZ
BEHAVED_ROZCARRAYZFARRAY)Zabsgetattrr   append)r   infoZflagname   &  r   r   r   -   s@    D  u:h222KK!#$ Kr
   c                   sJ   a  ] tR t^Dt o . 3R ltR tR tR tR tR t	Rt
V tR# )	Intentc                s    VR ,          V n         ^ pV FO  pVR8X  d   V\        P                  ,          pK#  V\        \        RVP	                  4       ,           4      ,          pKQ  	  W n        R# ):NNNoptionalZF2PY_INTENT_N)intent_listr   ZF2PY_OPTIONALr   upperr   )selfr   r   is   &&  r   __init__ZIntent.__init__E   sW    &q>AJ+++~	'ABB	 
 
r
   c                sz    VP                  4       pVR 8X  d   RpV P                  V P                  V.,           4      # )in_in)Zlower	__class__r   )r    names   &&r   __getattr__ZIntent.__getattr__O   s5    zz|5=D~~d..$788r
   c                s@    R RP                  V P                  4       R2# )zintent(Z,))Zjoinr   r       &r   __str__ZIntent.__str__U   s!    $"2"234A66r
   c                s$    R V P                   : R2# )zIntent(r(   r   r)   r*   r   __repr__ZIntent.__repr__X   s    )),A..r
   c                sx   a  \         ;QJ d    V 3R  lV 4       F  '       d   K   R# 	  R# ! V 3R  lV 4       4      # )c              3   s@   <"   T F  qSP                   9   x  K  	  R # 5iNr,   )Z.0r&   r    s   & r   Z	<genexpr>Z#Intent.is_intent.<locals>.<genexpr>\   s     >4+++s   FT)allr    Znamess   f*r   	is_intentZIntent.is_intent[   s,    s>>ss>s>s>>>>r
   c                st    \        V P                  4      \        V4      8H  ;'       d    V P                  ! V!  # r.   )lenr   r1   r0   s   &*r   is_intent_exactZIntent.is_intent_exact^   s-    4##$E
2MMt~~u7MMr
   )r   r   N)__name__
__module____qualname____firstlineno__r"   r'   r+   r-   r1   r3   __static_attributes____classdictcell__Z__classdict__   @r   r   r   D   s-     #% 97/?N Nr
   r   BOOLBYTEUBYTESHORTUSHORTINTUINTLONGULONGLONGLONG	ULONGLONGFLOATDOUBLECFLOATSTRING1STRING5Zwin32
LONGDOUBLECDOUBLECLONGDOUBLEc                   sT   a  ] tR t^t o / tR tR tR tR tR t	R t
R tR tR	tV tR
# )Typec                s   \        V\        P                  4      '       dX   TpR p\        P	                  4        F;  w  r4\        V\
        4      '       d   K  VP
                  VP
                  J g   K9  Tp M	  V P                  P                  VP                  4       R 4      pVe   V# \        P                  V 4      pVP                  V4       WPP                  VP                  4       &   V# r.   )
isinstancenpdtyper   Zitemstype_type_cacheZgetr   Zobject__new___init)clsr&   Zdtype0Znr!   objs   &&    r   rU   ZType.__new__   s    dBHH%%FD$**,!!T**v{{aff/DD - oo!!$**,5?JnnS!		$(+

%
r
   c                s   VP                  4       V n        V P                  R 8X  dQ   \        V P                  ,          p\        P                  V n        ^V n        \        P                  ! R4      V n        EMV P                  P                  R4      '       d   \        V P                  R,          ,          p\        P                  V n        \        V P                  R,          ;'       g    ^ 4      V n        \        P                  ! RV P                   24      V n        Ms\        V P                  ,          p\        \        RV P                  ,           4      V n        VP                  V n        \        P                  ! VP                  4      V n        V P
                  VP                  8X  g   Q hVP                  V n        VP                  V n        R# )r   r   STRING:Nr   N:r   NNZSZNPY_N)r   NAMEr   r   Z
NPY_STRINGtype_numelsizerQ   rR   
startswithintr   itemsizerS   numZchar	dtypechar)r    r&   r   s   && r   rV   Z
Type._init   s#   JJL	99#		*D OODMDK#DJYY!!(++		".D OODMdiim00q1DKAdkk]"34DJ		*D#D&499*<=DM--DK$)),DJ}}(((II	r
   c                s    R V P                    RV P                   RV P                   RV P                   RV P                   RV P
                   2# )zType(z)|type_num=z, dtype=z, type=z	, elsize=z, dtypechar=)rZ   r[   rR   rS   r\   ra   r)   r*   r   r-   ZType.__repr__   sV    		{+dmm_ =** &9T[[M :"nn-/ 	0r
   c                sv    \         V P                  ,           Uu. uF  qP                  V4      NK  	  up# u upi r.   )
_cast_dictrZ   r%   r    Z_mr   r   
cast_typesZType.cast_types   s,    -7		-BC-Brr"-BCCCs   6c                sT    \          Uu. uF  qP                  V4      NK  	  up# u upi r.   )_type_namesr%   rc   r   r   	all_typesZType.all_types   s!    -89[rr"[999s   %c                s    \         V P                  ,          P                  p. p\         F;  p\         V,          P                  V8  g   K!  VP	                  \        V4      4       K=  	  V# r.   r   rZ   	alignmentre   r   rO   r    ZbitsZtypesr&      &   r   smaller_typesZType.smaller_types   O    DII&00DD!++d2T$Z(   r
   c                s    \         V P                  ,          P                  p. p\         FM  pW0P                  8X  d   K  \         V,          P                  V8X  g   K3  VP	                  \        V4      4       KO  	  V# r.   rg   ri   rj   r   equal_typesZType.equal_types   s\    DII&00Dyy D!++t3T$Z(	  
 r
   c                s    \         V P                  ,          P                  p. p\         F;  p\         V,          P                  V8  g   K!  VP	                  \        V4      4       K=  	  V# r.   rg   ri   rj   r   larger_typesZType.larger_types   rl   r
   )rZ   rR   ra   r\   rS   r[   N)r4   r5   r6   r7   rT   rU   rV   r-   rd   rf   rk   rm   rn   r8   r9   r:   r;   r   rO   rO      s8     K #.0D: r
   rO   c                   s>   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )Arrayc           
     s    R V P                    RV P                   RV P                   RV P                   RV P                   2
# )zArray(z, z)|arr=)rS   dimsintentrX   r   r)   r*   r   r-   ZArray.__repr__   sD    2dii[4;;- @HH:VDHH:/ 	0r
   c           
     s   Wn         W n        W0n        \        P                  ! V4      V n        W@n        \        P                  VP                  VP                  W#P                  V4      V n        \        V P                  \        P                  4      '       g   Q h\        P!                  V P                  4      V n        \%        V4      ^8  Edi   V P                  P'                  R4      '       d   VP                  \        P(                  ,          '       g   Q hV P                  P                  R,          '       d   Q hV P                  P                  R,          '       g   Q hV P"                  ^,          \        P*                  ,          '       d   Q hMVP                  \        P(                  ,          '       d   Q hV P                  P                  R,          '       g   Q hV P                  P                  R,          '       d   Q hV P"                  ^,          \        P*                  ,          '       g   Q hVf   RV n        RV n        R# VP'                  R4      '       dr   \        V\        P                  4      '       g   Q \1        \        V4      4      4       h\        P2                  ! V4      P4                  ! V!  P                  4       V n        M\        P2                  ! \        P2                  ! WAP6                  R7      P4                  ! V!  V P                  P'                  R4      ;'       d    R;'       g    RR	7      V n        V P,                  P8                  V8X  g   Q hV P,                  P;                  V P                  P                  R
,          R7       V P,                  P                  R,          '       g	   Q WC34       h\        P!                  V P,                  4      V n        \%        V4      ^8  Ed   V P                  P'                  R4      '       d|   V P,                  P                  R,          '       d   Q hV P,                  P                  R,          '       g   Q hV P.                  ^,          \        P*                  ,          '       d   Q hMzV P,                  P                  R,          '       g   Q hV P,                  P                  R,          '       d   Q hV P.                  ^,          \        P*                  ,          '       g   Q hV P"                  ^,          V P.                  ^,          8X  g   Q hV P"                  ^,          V P.                  ^,          8X  g   Q hV P"                  ^,          ^8:  d   V P"                  ^,          V P.                  ^,          8X  gg   Q \1        V P"                  ^,          V P.                  ^,          V P                  P=                  4       V P,                  P=                  4       34      4       hV P"                  ^,          RR V P.                  ^,          RR 8X  g5   Q \1        V P"                  ^,          V P.                  ^,          34      4       hV P"                  ^,          V P.                  ^,          8X  g   Q \1        V P"                  ^,          V P.                  ^,          \?        ^ V P"                  ^,          ,          V P.                  ^,          ,
          4      \?        V P"                  ^,          4      V34      4       hVP'                  R4      '       d7   V P"                  ^,          ^,          V P                   P                  8  g   Q hMcV P"                  ^,          ^,          V P                   P                  8X  g   Q hV PA                  V P,                  V P                  4      '       g   Q h\        V P                  \        P                  4      '       d~   VP                  \C        VP8                  4      P                  8X  dN   VP'                  R4      '       g5   V P"                  ^,          ^8:  d   V PE                  4       '       g   Q hR# R# R# R# R# )   r   r   r   NcacherR   CF)orderr   writer   copyi)#rS   rp   rq   rz   Zdeepcopyobj_copyrX   r   Zcallr[   r\   r   r   rP   rQ   ndarrayr   arr_attrr2   r1   ZF2PY_INTENT_Cr   pyarr
pyarr_attrreprarrayZreshapera   rR   setflagsZtobytesr   	arr_equalrO   has_shared_memory)r    Ztyprp   rq   rX   s   &&&&&r   r"   ZArray.__init__   s   		c* 99S\\ ZZ!<<6 $((BJJ////((2t9q={{$$S))t'9'999:988>>)4444xx~~l3333 MM!,t||;;<;;"LL4+=+===>=xx~~i000088>>,7777a(4<<7787;DJ"DOG$$c2::..?T#Y?.#..5::<DJMM2::DA{{,,S199cAAcDJ ::##s***

$((.."=>zz	**9SM9***4::6t9q={{$$S))::++I6666zz''5555 OOA.==>==zz''	2222::++L9999*T\\9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                s`    VP                   VP                   8w  d   R # W8H  P                  4       # )F)shaper/   )r    Zarr1Zarr2s   &&&r   r   ZArray.arr_equalW  s&    ::#!!##r
   c                s,    \        V P                  4      # r.   )strr   r)   r*   r   r+   ZArray.__str__\  s    488}r
   c                s
   V P                   V P                  J d   R# \        V P                   \        P                  4      '       g   R# \
        P                  V P                   4      pV^ ,          V P                  ^ ,          8H  # )z6Check that created array shares data with input array.TF)rX   r   rP   rQ   r|   r   r   r}   )r    Zobj_attrr   r   r   ZArray.has_shared_memory_  sY    88txx$((BJJ//##DHH-{dmmA...r
   )	r   r}   rp   rq   rX   r{   r~   r   rS   N)r4   r5   r6   r7   r-   r"   r   r+   r   r8   r9   r:   r;   r   ro   ro      s%     0U4n$
/ /r
   ro   c                   s&   a  ] tR tRt o R tRtV tR# )
TestIntentii  c                s4   \        \        P                  P                  4      R 8X  g   Q h\        P                  P                  P                  R4      '       g   Q h\        P                  P                  P                  R4      '       d   Q h\        P                  P                  P                  RR4      '       g   Q h\        P                  P                  P                  RR4      '       g   Q h\        P                  P                  R4      '       d   Q hR# )zintent(in,out)r   r$   N)r   rq   r#   Zoutr   r1   r3   r)   r*   r   test_in_outZTestIntent.test_in_outj  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
    N)r4   r5   r6   r7   r   r8   r9   r:   r;   r   r   r   i  s     - -r
   r   c                   s  a  ] tR tRt o ]P
                  ! RR]R7      R 4       t]R 4       t	]R 4       t
R tR	 t]P                  P                  R
RR.4      ]P                  P                  RRR.4      ]P                  P                  RRR.4      R 4       4       4       tR tR tR tR tR tR tR tR tR tR tR tR tR  tR! tR" tR# tR$ t R% t!R& t"R't#V t$R(# ))TestSharedMemoryis  TZclass)ZautouseZscopeZparamsc                sz   a \        SP                  4      SP                  n        V3R  lSP                  n        R# )c                 sD   < \        \        SP                  4      WV4      # r.   )ro   rO   param)r    rp   rq   rX   requests   &&&&r   Z<lambda>Z-TestSharedMemory.setup_type.<locals>.<lambda>x  s    Es=4r
   N)rO   r   rW   rS   r   )r    r   s   &fr   
setup_typeZTestSharedMemory.setup_typeu  s&    .4r
   c                s    V P                   P                  P                  R 4      '       d)   V P                   P                  pRV,          RV,          .# ^^.# )rY   12rS   rZ   r]   r\   r    r\   r   r   num2seqZTestSharedMemory.num2seq{  sF    99>>$$X..YY%%F&L#,//1vr
   c                s    V P                   P                  P                  R 4      '       dK   V P                   P                  pRV,          RV,          RV,          .RV,          RV,          RV,          ..# . RO. RO.# )	rY   r   r   Z3Z4Z5Z6)rr         )i   i   r   r   r   r   r   num23seqZTestSharedMemory.num23seq  sm    99>>$$X..YY%%F6\3<v>6\3<v>@ @9%%r
   c                s    V P                  ^.\        P                  V P                  4      pVP	                  4       '       d   Q hR# )r   N)r   rq   r#   r   r   r    ar   r   test_in_from_2seqZ"TestSharedMemory.test_in_from_2seq  s6    JJsFJJ5&&(((((r
   c                s   V P                   P                  4        F  p\        P                  ! V P                  VP
                  R 7      pV P                  \        V P                  4      .\        P                  V4      pVP                  V P                   P                  8X  dI   VP                  4       '       g1   Q \        V P                   P
                  VP
                  34      4       hK  VP                  4       '       g   K  Q h	  R# rt   N)rS   rd   rQ   r   r   rR   r2   rq   r#   r\   r   r   r    trX   r   rj   r   test_in_from_2casttypeZ'TestSharedMemory.test_in_from_2casttype  s    %%'A((4<<qww7C

C-.

C@Axx499+++**,,NdDIIOOQWW3M.NN,..0000 (r
   ry   wZrorw   ru   rv   inpZ2seqZ23seqc                s   \        V RV,           4      p\        P                  ! W@P                  P                  VR7      pVP                  VR8H  R7       T P                  VP                  VR8H  ;'       d#    \        P                  P                  ;'       g    \        P                  V4      pVP                  4       '       g   Q hR# )z5Test if intent(in) array can be passed without copiesr`   rR   rw   r   rx   ru   N)r   rQ   r   rS   rR   r   r   rq   r#   r   r   )r    ry   rw   r   ZseqrX   r   s   &&&&   r   test_in_nocopyZTestSharedMemory.test_in_nocopy  s    
 dECK(hhs))//?ESL*JJsyy#66&**,,EE6::M""$$$$r
   c                s    \         P                  ! V P                  V P                  P                  R 7      pV P                  \        V P                  4      .\        P                  V4      pVP                  4       '       g   Q h V P                  ^.\        P                  P                  V P                  4      p\        R4      h  \         d-   p\        T4      P                  R4      '       g   h  Rp?R# Rp?ii ; i)rt   z,intent(inout) should have failed on sequencez6failed to initialize intent(inout|inplace|cache) arrayN)rQ   r   r   rS   rR   r2   rq   inoutr   r#   SystemErrorZ	TypeErrorr   r]   )r    rX   r   msgrj   r   test_inout_2seqZ 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 C=!C88C=c                s
   \         P                  ! V P                  V P                  P                  R R7      p\        V P                  4      \        V P                  ^ ,          4      3pV P                  V\        P                  P                  V4      pVP                  4       '       g   Q h\         P                  ! V P                  V P                  P                  RR7      p\        V P                  4      \        V P                  ^ ,          4      3p V P                  V\        P                  P                  V4      p\        R4      h  \         d-   p\        T4      P                  R4      '       g   h  Rp?R# Rp?ii ; i)rv   r   ru   z2intent(inout) should have failed on improper arrayz(failed to initialize intent(inout) arrayN)rQ   r   r   rS   rR   r2   rq   r#   r   r   r   
ValueErrorr   r]   )r    rX   r   r   r      &    r   test_f_inout_23seqZ#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   +E F!E==Fc                sn   \         P                  ! V P                  V P                  P                  R 7      p\        V P                  4      \        V P                  ^ ,          4      3pV P                  V\        P                  P                  P                  V4      pVP                  4       '       g   Q hR# r   )rQ   r   r   rS   rR   r2   rq   r#   r   r   r   r    rX   r   r   rj   r   test_c_inout_23seqZ#TestSharedMemory.test_c_inout_23seq  st    hht}}DIIOO<T]]#Sq)9%:;JJufjjll00#6""$$$$r
   c                sN   V P                   P                  4        F  p\        P                  ! V P                  VP
                  R 7      pV P                  \        V P                  4      .\        P                  P                  V4      pVP                  4       '       g   K  Q h	  R# r   )rS   rd   rQ   r   r   rR   r2   rq   r#   rz   r   r   rj   r   test_in_copy_from_2casttypeZ,TestSharedMemory.test_in_copy_from_2casttype  sl    %%'A((4<<qww7C

C-.

EA**,,,, (r
   c                s    V P                  \        V P                  4      \        V P                  ^ ,          4      .\        P                  V P                  4      pVP                  4       '       d   Q hR# r    N)r   r2   r   rq   r#   r   r   r   r   test_c_in_from_23seqZ%TestSharedMemory.test_c_in_from_23seq  sV    JJT]]1%5!67MM &&(((((r
   c                sp   V P                   P                  4        F  p\        P                  ! V P                  VP
                  R 7      pV P                  \        V P                  4      \        V P                  ^ ,          4      .\        P                  V4      pVP                  4       '       g   K  Q h	  R# r   )
rS   rd   rQ   r   r   rR   r2   rq   r#   r   r   rj   r   test_in_from_23casttypeZ(TestSharedMemory.test_in_from_23casttype  s|    %%'A((4==8C

T]]#Sq)9%:;VZZNA**,,,,	 (r
   c                s   V P                   P                  4        F  p\        P                  ! V P                  VP
                  R R7      pV P                  \        V P                  4      \        V P                  ^ ,          4      .\        P                  V4      pVP                  V P                   P                  8X  d   VP                  4       '       g   Q hK  VP                  4       '       g   K  Q h	  R# rv   r   N)rS   rd   rQ   r   r   rR   r2   rq   r#   r\   r   r   rj   r   test_f_in_from_23casttypeZ*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                s   V P                   P                  4        F  p\        P                  ! V P                  VP
                  R 7      pV P                  \        V P                  4      \        V P                  ^ ,          4      .\        P                  P                  V4      pVP                  V P                   P                  8X  d   VP                  4       '       g   Q hK  VP                  4       '       g   K  Q h	  R# r   )rS   rd   rQ   r   r   rR   r2   rq   r#   r   r\   r   r   rj   r   test_c_in_from_23casttypeZ*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                s   V P                   P                  4        F  p\        P                  ! V P                  VP
                  R R7      pV P                  \        V P                  4      \        V P                  ^ ,          4      .\        P                  P                  V4      pVP                  4       '       g   K  Q h	  R# r   )rS   rd   rQ   r   r   rR   r2   rq   r#   rz   r   r   rj   r   test_f_copy_in_from_23casttypeZ/TestSharedMemory.test_f_copy_in_from_23casttype  s    %%'A((4==sCC

T]]#Sq)9%:;VZZ__A **,,,, (r
   c                s   V P                   P                  4        F  p\        P                  ! V P                  VP
                  R 7      pV P                  \        V P                  4      \        V P                  ^ ,          4      .\        P                  P                  P                  V4      pVP                  4       '       g   K  Q h	  R# r   )rS   rd   rQ   r   r   rR   r2   rq   r#   r   rz   r   r   rj   r   test_c_copy_in_from_23casttypeZ/TestSharedMemory.test_c_copy_in_from_23casttype  s    %%'A((4==8C

T]]#Sq)9%:;VZZ\\=N=NA **,,,, (r
   c           	     s   V P                   P                  4        EF  pVP                  V P                   P                  8w  d   K+  \        P                  ! V P
                  VP                  R 7      p\        V P
                  4      3pV P	                  V\        P                  P                  P                  V4      pVP                  4       '       g   Q hV P	                  V\        P                  P                  V4      pVP                  4       '       g   Q h\        P                  ! V P
                  VP                  RR7      pV P	                  V\        P                  P                  P                  V4      pVP                  4       '       g   Q hV P	                  V\        P                  P                  V4      pVP                  4       '       g   Q \        VP                  4      4       h V P	                  V\        P                  P                  VRRR1,          4      p\        R4      h	  R#   \         d.   p\!        T4      P#                  R4      '       g   h  Rp?EKJ  Rp?ii ; i)rt   rv   r   Nz8intent(cache) should have failed on multisegmented array(failed to initialize intent(cache) array)rS   rf   r\   rQ   r   r   rR   r2   rq   r#   r   rs   r   r   r   r   r   r]   )r    r   rX   r   r   r      &     r   test_in_cache_from_2casttypeZ-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   .5H22I*=!I%%I*c                s&   V P                   P                  4        EF6  pVP                  R 8X  d   K  VP                  V P                   P                  8  d   K>  \        P
                  ! VP                  \        P                  4      pV'       dL   \        V P                  ^ ,          4      \        P                  ! VP                  4      P                  8  d   K  \        P                  ! V P                  VP                  R7      p\        V P                  4      3p V P                  V\        P                  P                   V4       \#        R4      h	  R#   \$         d.   p\'        T4      P)                  R4      '       g   h  Rp?EKp  Rp?ii ; i)rY   rt   z1intent(cache) should have failed on smaller arrayr   N)rS   rf   rZ   r\   rQ   Z
issubdtyperR   Zintegerr^   r   ZiinfoZmaxr   r2   rq   r#   rs   r   r   r   r]   )r    r   Zis_intrX   r   r   r   r   $test_in_cache_from_2casttype_failureZ5TestSharedMemory.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#!FFc                s   RpV P                  V\        P                  P                  R4      pVP                  P
                  V8X  g   Q hRpV P                  V\        P                  P                  R4      pVP                  P
                  V8X  g   Q hRp V P                  V\        P                  P                  R4      p\        R4      h  \         d-   p\        T4      P                  R4      '       g   h  Rp?R# Rp?ii ; i)r   Nz8intent(cache) should have failed on undefined dimensions2failed to create intent(cache|hide)|optional arrayr   r   r   r   r   )
r   rq   rs   hider   r   r   r   r   r]   r    r   r   r   rj   r   test_cache_hiddenZ"TestSharedMemory.test_cache_hidden4  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!D  Dc                sV   RpV P                  V\        P                  R4      pVP                  P                  V8X  g   Q hVP                  VP                  \        P                  ! WP                  P                  R7      4      '       g   Q hRpV P                  V\        P                  R4      pVP                  P                  V8X  g   Q hVP                  VP                  \        P                  ! WP                  P                  R7      4      '       g   Q hVP                  P                  R,          '       d$   VP                  P                  R,          '       d   Q hRpV P                  V\        P                  P                  R4      pVP                  P                  V8X  g   Q hVP                  VP                  \        P                  ! WP                  P                  R7      4      '       g   Q hVP                  P                  R,          '       g$   VP                  P                  R,          '       g   Q hR	p V P                  V\        P                  R4      p\        R4      h  \         d-   p\        T4      P                  R4      '       g   h  Rp?R# Rp?ii ; i)
r   Nrt   r   r   z7intent(hide) should have failed on undefined dimensionsr   r   r   r   )r   rq   r   r   r   r   rQ   zerosrS   rR   r   r   r   r   r   r]   r   rj   r   test_hiddenZTestSharedMemory.test_hiddenH  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GJJufhhmmT2uu{{e###{{155"((5		"HIIII55;;y))aeekk,.G.GGG	K

5&++t4A IK K  	s8&&HJ JJ	s   !I1 1J(<!J##J(c                s   RpV P                  V\        P                  R4      pVP                  P                  V8X  g   Q hVP                  VP                  \        P                  ! WP                  P                  R7      4      '       g   Q hRpV P                  V\        P                  R4      pVP                  P                  V8X  g   Q hVP                  VP                  \        P                  ! WP                  P                  R7      4      '       g   Q hVP                  P                  R,          '       d$   VP                  P                  R,          '       d   Q hRpV P                  V\        P                  P                  R4      pVP                  P                  V8X  g   Q hVP                  VP                  \        P                  ! WP                  P                  R7      4      '       g   Q hVP                  P                  R,          '       g$   VP                  P                  R,          '       g   Q hR# )r   Nrt   r   r   r   r   )r   rq   r   r   r   r   rQ   r   rS   rR   r   r   )r    r   r   r   r   test_optional_noneZ#TestSharedMemory.test_optional_nonee  sx   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GJJufhh//6uu{{e###{{155"((5		"HIIII55;;y))aeekk,.G.GGG.Gr
   c                s    V P                   p\        V4      3pV P                  V\        P                  V4      pVP
                  P                  V8X  g   Q hVP                  4       '       d   Q hR # r.   )r   r2   r   rq   r   r   r   r   r   rj   r   test_optional_from_2seqZ(TestSharedMemory.test_optional_from_2seqw  sZ    llSJJufoos3uu{{e###&&(((((r
   c                s   V P                   p\        V4      \        V^ ,          4      3pV P                  V\        P                  V4      pVP
                  P                  V8X  g   Q hVP                  4       '       d   Q hV P                  V\        P                  P                  V4      pVP
                  P                  V8X  g   Q hVP                  4       '       d   Q hR# r   )	r   r2   r   rq   r   r   r   r   r   r   rj   r   test_optional_from_23seqZ)TestSharedMemory.test_optional_from_23seq~  s    mmS3s1v;'JJufoos3uu{{e###&&((((JJufoo//5uu{{e###&&(((((r
   c                sH   \         P                  ! V P                  V P                  P                  R 7      pVP
                  R,          '       g   VP
                  R,          '       g   Q hVP                  pV P                  V\        P                  V4      pV^,          ^,          VP                  ^,          ^,          8X  g   Q \        WP                  34      4       h^6VP                  ^,          ^&   V^,          ^,          VP                  ^,          ^,          u;8X  d3   \         P                  ! ^6V P                  P                  R 7      8X  g   Q h Q hVP                  VJ g   Q hVP
                  R,          '       g   Q hVP
                  R,          '       d   Q hR# rt   r   r   N)rQ   r   r   rS   rR   r   r   rq   inplacer   r   r   rj   r   test_inplaceZTestSharedMemory.test_inplace  s    hht}}DIIOO<99Y''CIIl,C,CCC		JJufnnc21vayAEE!HQK';sEEl);;'a1vayAEE!HQKN288Bdiioo+NNNNNNuu||yy####99\*****r
   c                s   V P                   P                  4        EF3  pWP                   J d   K  \        P                  ! V P                  VP
                  R 7      pVP
                  P                   VP                   8X  g   Q hVP
                  P                   V P                   P                   Jg   Q hVP                  R,          '       g   VP                  R,          '       g   Q hVP                  pV P                  V\        P                  V4      pV^,          ^,          VP                  ^,          ^,          8X  g   Q \        W$P                  34      4       h^6VP                  ^,          ^&   V^,          ^,          VP                  ^,          ^,          u;8X  d3   \        P                  ! ^6V P                   P
                  R 7      8X  g   Q h Q hVP                  VJ g   Q hVP                  R,          '       g   Q hVP                  R,          '       d   Q hVP
                  P                   V P                   P                   J d   EK4  Q h	  R# r   )rS   rd   rQ   r   r   rR   r   r   rq   r   r   r   )r    r   rX   r   r   r   r   test_inplace_from_casttypeZ+TestSharedMemory.test_inplace_from_casttype  s   %%'AII~((4==8C99>>QVV+++99>>777yy++		,0G0G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
   r   N)%r4   r5   r6   r7   pytestZfixturere   r   Zpropertyr   r   r   r   ZmarkZparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r8   r9   r:   r;   r   r   r   s  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$)	)
+4 4r
   r   r   )r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r   )rB   rG   rH   )ZDarwinZarm)rL   rM   rN   )rD   rG   rH   rL   )rI   rM   rN   )#rz   ZplatformZsysZpathlibr   r   ZnumpyrQ   Znumpy._core._type_aliasesr   Z_c_names_dictZ r   r   ZdictrR   r	   r   r   r   r   rq   re   rb   Zintpr_   Zclongdoublerh   ZsystemZ	processorZextendrO   ro   r   r   r   r
   r   <module>r      s     
    C   hhsm)N
.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
   