
    h]                     v   S SK r S SKrS SKrS SKrS SKrS SKrS SKJrJ	r	  S SK
Jr  SSKJr  Sq\S   r\" S2S\" \5      " S\R&                  S	\R(                  \R$                  45      0\D6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'   \R8                  " 5       R:                  R<                  S!:w  d)  \R>                  " 5       R:                  R(                  S	::  ap  \R                  S":w  a`  \R@                  " 5       \RB                  " 5       4S#:w  a:  \RE                  / 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)assert_assert_equal)typeinfo   )utilSTRING	CHARACTERc   c                  x   [         R                  " 5       (       d  [        R                  " S5        [        c  Sn [
        R                  R                  [        5      n[         R                  " SSSS5      [         R                  " SS5      [         R                  " SS	5      /n[         R                  " X S
5      qgg)z.
Build the required testing extension module

zNo C compiler availableNz
        config.add_extension('test_array_from_pyobj_ext',
                             sources=['wrapmodule.c', 'fortranobject.c'],
                             define_macros=[])
        testssrcarray_from_pyobjzwrapmodule.czfortranobject.czfortranobject.htest_array_from_pyobj_ext)r   has_c_compilerpytestskipwrapospathdirname__file__getpathbuild_module_distutils)config_codedr   s      `/var/www/fran/franai/venv/lib/python3.13/site-packages/numpy/f2py/tests/test_array_from_pyobj.pysetup_moduler      s       -.|
 GGOOH%LL%);^LLL 12LL 12

 **3+FH     c                 H    [         R                  U 5      S   n[        U5      $ )N   )r   array_attrsflags2names)arrflagss     r   
flags_infor&   1   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#   6   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	)
IntentM   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_OPTIONALr7   upperr%   )selfrA   r%   is       r   __init__Intent.__init__N   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__rA   )rD   names     r   __getattr__Intent.__getattr__X   s5    zz|5=D~~d..$788r   c                 >    SSR                  U R                  5      -  $ )Nz
intent(%s),)joinrA   rD   s    r   __str__Intent.__str__^   s    sxx(8(89::r   c                      SU R                   -  $ )Nz
Intent(%r)rA   rS   s    r   __repr__Intent.__repr__a   s    t//00r   c                 8    U H  nX R                   ;  d  M    g   g)NFTrW   )rD   namesrM   s      r   	is_intentIntent.is_intentd   s     D+++  r   c                 p    [        U R                  5      [        U5      :H  =(       a    U R                  " U6 $ N)lenrA   r\   )rD   r[   s     r   is_intent_exactIntent.is_intent_exactj   s*    4##$E
2Mt~~u7MMr   )r%   rA   N)__name__
__module____qualname____firstlineno__rF   rN   rT   rX   r\   ra   __static_attributes__ r   r   r<   r<   M   s$    #% 9;1Nr   r<   )BOOLBYTEUBYTESHORTUSHORTINTUINTLONGULONGLONGLONG	ULONGLONGFLOATDOUBLECFLOATSTRING1STRING5r	   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   )ro   rt   ru   ru   rv   rw   rx      win32)Darwinarm)
LONGDOUBLECDOUBLECLONGDOUBLE)rq   rt   ru   r}   r}   )rv   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$ r_   )
isinstancenpdtyper   itemstype_type_cachegetrC   object__new___init)clsrM   dtype0nrE   objs         r   r   Type.__new__   s    dBHH%%FD (!!T**v{{aff/DD ) oo!!$**,5?JnnS!		$(+

%
r   c                 r   UR                  5       U l        U R                  S:X  aL  [        U R                     n[        [        S5      U l        SU l        [        R                  " S5      U l        GOU R                  R                  S5      (       az  [        U R                  S S    n[        [        S5      U l        [        U R                  SS  =(       d    S5      U l        [        R                  " SU R                   35      U l        On[        U R                     n[        [        S	U R                  -   5      U l        UR                  S
-  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	   
NPY_STRINGr   r
   r   r!   r   SNPY_r   )rC   NAMEr   r7   r   type_numelsizer   r   
startswithintbitsr   numchar	dtypechar)rD   rM   r9   s      r   r   
Type._init   s.   JJL	99#DII&D#D,7DMDK#DJYY!!(++DIIbqM*D#D,7DMdiim0q1DKAdkk]"34DJDII&D#D&499*<=DM))q.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   rS   s    r   rX   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 r_   )
_cast_dictr   rL   rD   _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 r_   )_type_namesrL   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$ r_   r   r   	alignmentr   r8   r   rD   r   typesrM   s       r   smaller_typesType.smaller_types   N    		",,D~''$.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$ r_   r   r   s       r   equal_typesType.equal_types   s[    		",,Dyy ~''4/T$Z(	  
 r   c                     [         U R                     R                  n/ n[         H6  n[         U   R                  U:  d  M  UR	                  [        U5      5        M8     U$ r_   r   r   s       r   larger_typesType.larger_types   r   r   )r   r   r   r   r   r   N)rc   rd   re   rf   r   r   r   rX   r   r   r   r   r   rg   rh   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)	Arrayi  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$   rS   s    r   rX   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)rD   typr   r   r   s        r   rF   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)shapeall)rD   arr1arr2s      r   r   Array.arr_equalc  s&    ::#!!##r   c                 ,    [        U R                  5      $ r_   )strr$   rS   s    r   rT   Array.__str__h  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   )rD   obj_attrs     r   r   Array.has_shared_memoryk  sY    88txx$((BJJ//##DHH-{dmmA...r   )	r$   r   r   r   r   r   r   r   r   N)
rc   rd   re   rf   rX   rF   r   rT   r   rg   rh   r   r   r   r     s    0U4n$
/r   r   c                       \ rS rSrS rSrg)
TestIntentiu  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
   rJ   )r   r   rI   outr
   r\   ra   rS   s    r   test_in_outTestIntent.test_in_outv  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   rh   N)rc   rd   re   rf   r   rg   rh   r   r   r   r   u  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())TestSharedMemoryi  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      $ r_   )r   r   param)rD   r   r   r   requests       r   <lambda>-TestSharedMemory.setup_type.<locals>.<lambda>  s    Es=4r   )r   r   r   r   r   )rD   r   s    `r   
setup_typeTestSharedMemory.setup_type  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   rD   r   s     r   num2seqTestSharedMemory.num2seq  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   )ry   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   rI   r  r   rD   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   rI   r   r   r   rD   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)r7   r   r   r   r   r   r   r   rI   r
   r   )rD   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   rI   SystemError	TypeErrorr   r   )rD   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   rI   r#  r   r$  
ValueErrorr   r   )rD   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   rI   r
   r#  r   rD   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   rI   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   rI   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 r.  )
r   r   r   r   r  r   r`   r   rI   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   rI   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 r.  )r   r   r   r   r  r   r`   r   rI   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   rI   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 r.  )r   r   r   r   r  r   r`   r   rI   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   rI   r
   r   r   r   r$  r*  r   r   )rD   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        H  nUR                  S:X  a  M  UR                  U R                   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M  S nAff = f)Nr   r   z1intent(cache) should have failed on smaller arrayrK  )r   r   r   r   r   r   r  r   r`   r   rI   r   r$  r*  r   r   )rD   r  r   r   r&  s        r   $test_in_cache_from_2casttype_failure5TestSharedMemory.test_in_cache_from_2casttype_failure)  s    $$&Avv!xx499+++((4<<qww7C&)EI

5&**"2"2C8 "GI I '  3x**BD DDs   +C
D C??D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   rJ  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   rD   r   r  r&  s       r   test_cache_hidden"TestSharedMemory.test_cache_hidden<  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)	NrR  r   rS  r)   r(   rT  z7intent(hide) should have failed on undefined dimensionsrU  )r   r   rV  r$   r   r   r   zerosr   r   r%   r
   r$  r*  r   r   rW  s       r   test_hiddenTestSharedMemory.test_hiddenP  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 )NrR  r   rS  r)   r(   )r   r   r?   r$   r   r   r   r[  r   r   r%   r
   )rD   r   r  s      r   test_optional_none#TestSharedMemory.test_optional_nonem  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 r_   )r  r`   r   r   r?   r$   r   r   r/  s       r   test_optional_from_2seq(TestSharedMemory.test_optional_from_2seq  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 r6  )	r  r`   r   r   r?   r$   r   r   r
   r/  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   r/  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 rh  )r   r   r   r   r  r   r%   r   r   rj  r$   r   )rD   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   rh   N)$rc   rd   re   rf   r   fixturer   r   propertyr  r  r  r  markparametrizer   r'  r+  r0  r3  r7  r:  r>  rA  rD  rG  rL  rO  rX  r\  r_  rb  re  rk  rn  rg   rh   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   rh   )'r   sysr   platformr   numpyr   numpy.testingr   r   numpy.core.multiarrayr   	_typeinfo r   r   _tidictr   r   r   r   r&   r#   r<   r   r   r   intpr   itemsizeclongdoublesystem	processorextendr   r   r   r   rh   r   r   <module>r     s   	 
     / 7   3icggq#--BC
H6
.N NB 
( 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/^- -o4 o4r   