Ë
    6Š·j&g  ã                   óJ  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlm	Z
 ddlmZ ej                  j                  Zda ed2d ej$                  d«      ie
¤ŽZ	d„ Zd	„ Zd
„ Zd„ Z G d„ d«      Z e«       Zg d¢ZddgiZed   dgz   ed<   ed   dgz   ed<   dged<   dged<   ed   ddgz   ed<   ed   ddgz   ed<   ed   ddgz   ed<   ed   ddgz   ed<   ed   dgz   ed<   ed   dgz   ed<   ed   dgz   ed<   ed   dgz   ed<   ed   ddgz   ed<   ed   g d¢z   ed<   ed   dgz   ed<   dged<   dged<   dged<    ej6                  «       j$                  j8                  d k7  s( ej:                  «       j$                  j<                  d!k  rmej                  d"vr_ ej>                  «        ej@                  «       fd#k7  r:ejC                  g d$¢«       ed   g d%¢z   ed&<   ed&   g d'¢z   ed(<   ed   dd)gz   ed)<    G d*„ d+«      Z" G d,„ d-«      Z# G d.„ d/«      Z$ G d0„ d1«      Z%y)3é    N)ÚPath)Úc_names_dicté   )ÚutilÚ	CHARACTERÚcc                  ó`   — t        t        «      j                  «       j                  dz  } | dz  S )NÚsrcÚarray_from_pyobj)r   Ú__file__ÚresolveÚparent)Útestroots    ú\/root/workspace/.venv/lib/python3.12/site-packages/numpy/f2py/tests/test_array_from_pyobj.pyÚget_testdirr      s+   € Ü”H‹~×%Ñ%Ó'×.Ñ.°Ñ6€HØÐ(Ñ(Ð(ó    c                  ó\   — t         €&t        «       dz  g} t        j                  | d¬«      a yy)z6
    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   € ô €|ä‹M˜NÑ*ð
ˆô ×Ñ Ð1LÔM‰ð	 r   c                 óH   — t         j                  | «      d   }t        |«      S )Né   )r   Úarray_attrsÚflags2names)ÚarrÚflagss     r   Ú
flags_infor   *   s"   € Ü×Ñ˜SÓ! !Ñ$€EÜ�uÓÐr   c                 óv   — g }dD ]1  }t        | «      t        t        |d«      z  sŒ!|j                  |«       Œ3 |S )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   /   sB   € Ø€Dðò "ˆô  ˆu‹:œ¤ h°Ó2Ó2Ø�K‰K˜Õ!ð#"ð$ €Kr   c                   ó4   — e Zd Zg fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚIntentc                 ó²   — |d d  | _         d}|D ]?  }|dk(  r|t        j                  z  }Œ|t        t        d|j	                  «       z   «      z  }ŒA || _        y )Nr   ÚoptionalÚF2PY_INTENT_)Úintent_listr   ÚF2PY_OPTIONALr0   Úupperr   )Úselfr9   r   Úis       r   Ú__init__zIntent.__init__G   s`   € Ø&¡q˜>ˆÔØˆØò 	CˆAØ�JŠØœ×+Ñ+Ñ+‘àœ¤ ~¸¿¹»	Ñ'AÓBÑB‘ð		Cð
 ˆ�
r   c                 ón   — |j                  «       }|dk(  rd}| j                  | j                  |gz   «      S )NÚin_Úin)ÚlowerÚ	__class__r9   )r<   Únames     r   Ú__getattr__zIntent.__getattr__Q   s5   € Ø�z‰z‹|ˆØ�5Š=ØˆDØ�~‰~˜d×.Ñ.°$°Ñ7Ó8Ð8r   c                 ó@   — ddj                  | j                  «      › d�S )Nzintent(ú,ú))Újoinr9   ©r<   s    r   Ú__str__zIntent.__str__W   s!   € Ø˜Ÿ™ $×"2Ñ"2Ó3Ð4°AÐ6Ð6r   c                 ó"   — d| j                   ›d�S )NzIntent(rH   ©r9   rJ   s    r   Ú__repr__zIntent.__repr__Z   s   € Ø˜×)Ñ)Ð,¨AÐ.Ð.r   c                 ó,   ‡ — t        ˆ fd„|D «       «      S )Nc              3   ó:   •K  — | ]  }|‰j                   v –— Œ y ­w©NrM   )Ú.0rD   r<   s     €r   ú	<genexpr>z#Intent.is_intent.<locals>.<genexpr>^   s   øè ø€ Ò>°�4˜4×+Ñ+Ô+Ñ>ùs   ƒ)Úall©r<   Únamess   ` r   Ú	is_intentzIntent.is_intent]   s   ø€ ÜÓ>¸Ô>Ó>Ð>r   c                 óf   — t        | j                  «      t        |«      k(  xr  | j                  |Ž S rQ   )Úlenr9   rW   rU   s     r   Úis_intent_exactzIntent.is_intent_exact`   s,   € Ü�4×#Ñ#Ó$¬¨E«
Ñ2ÒM°~°t·~±~ÀuÐ7MÐMr   N)	Ú__name__Ú
__module__Ú__qualname__r>   rE   rK   rN   rW   rZ   © r   r   r5   r5   F   s$   „ Ø#%ó ò9ò7ò/ò?óNr   r5   )ÚBOOLÚBYTEÚUBYTEÚSHORTÚUSHORTÚINTÚUINTÚLONGÚULONGÚLONGLONGÚ	ULONGLONGÚFLOATÚDOUBLEÚCFLOATÚSTRING1ÚSTRING5r   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   )re   rj   rk   rk   rl   rm   rn   é   é   )Úwin32Úaix)ÚDarwinÚarm)Ú
LONGDOUBLEÚCDOUBLEÚCLONGDOUBLE)rg   rj   rk   ru   ru   )rl   rv   rw   rw   rv   c                   ó@   — e Zd Zi Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zy	)
ÚTypec                 ó¶  — t        |t        j                  «      rM|}d }t        j	                  «       D ]2  \  }}t        |t
        «      rŒ|j
                  |j
                  u sŒ0|} n | j                  j                  |j                  «       d «      }|�|S t        j                  | «      }|j                  |«       || j                  |j                  «       <   |S rQ   )Ú
isinstanceÚnpÚdtyper   ÚitemsÚtypeÚ_type_cacheÚgetr;   ÚobjectÚ__new__Ú_init)ÚclsrD   Údtype0Únr=   Úobjs         r   rƒ   zType.__new__®   s±   € Ü�dœBŸH™HÔ%ØˆFØˆDÜ$×*Ñ*Ó,ò ‘��1Ü! !¤TÕ*¨v¯{©{¸a¿f¹fÒ/DØ�DÙðð �o‰o×!Ñ! $§*¡*£,°Ó5ˆØˆ?ØˆJÜ�n‰n˜SÓ!ˆØ�	‰	�$ŒØ(+ˆ�‰˜Ÿ
™
›Ñ%Øˆ
r   c                 óL  — |j                  «       | _        | j                  dk(  rJt        | j                     }t        j                  | _        d| _        t        j                  d«      | _        nù| j                  j                  d«      rtt        | j                  d d    }t        j                  | _        t        | j                  dd  xs d«      | _        t        j                  d| j                  › �«      | _        njt        | j                     }t        t        d| j                  z   «      | _        |j                  | _        t        j                  |j                  «      | _        | j
                  |j                  k(  sJ ‚|j                  | _        |j                  | _        y )	Nr   r   r   ÚSTRINGr   r   ÚSÚNPY_)r;   ÚNAMEr   r   Ú
NPY_STRINGÚtype_numÚelsizer|   r}   Ú
startswithÚintr0   Úitemsizer   ÚnumÚcharÚ	dtypechar)r<   rD   r2   s      r   r„   z
Type._init¾   s!  € Ø—J‘J“LˆŒ	à�9‰9˜Ò#Ü §	¡	Ñ*ˆDÜ ŸO™OˆDŒMØˆDŒKÜŸ™ #›ˆD�JØ�Y‰Y×!Ñ! (Ô+Ü §	¡	¨"¨1 Ñ.ˆDÜ ŸO™OˆDŒMÜ˜dŸi™i¨¨˜mÒ0¨qÓ1ˆDŒKÜŸ™ A d§k¡k ]Ð"3Ó4ˆD�Jä §	¡	Ñ*ˆDÜ#¤D¨&°4·9±9Ñ*<Ó=ˆDŒMØŸ-™-ˆDŒKÜŸ™ $§)¡)Ó,ˆDŒJà�}‰} §¡Ò(Ð(Ð(Ø—I‘IˆŒ	ØŸ™ˆ�r   c                 ó¢   — d| j                   › d| j                  › d| j                  › d| j                  › d| j                  › d| j
                  › �S )NzType(z)|type_num=z, dtype=z, type=z	, elsize=z, dtypechar=)r�   r�   r}   r   r�   r–   rJ   s    r   rN   zType.__repr__Õ   sV   € Ø˜Ÿ	™	�{ +¨d¯m©m¨_ð =ØŸ*™*˜ð &ØŸ™˜ 9¨T¯[©[¨Mð :Ø"Ÿn™nÐ-ð/ð 	0r   c                 ól   — t         | j                     D �cg c]  }| j                  |«      ‘Œ c}S c c}w rQ   )Ú
_cast_dictr�   rC   ©r<   Ú_ms     r   Ú
cast_typeszType.cast_typesÛ   s(   € Ü-7¸¿	¹	Ñ-BÖC r�—‘˜rÕ"ÒCÐCùÒCs   –1c                 óR   — t         D �cg c]  }| j                  |«      ‘Œ c}S c c}w rQ   )Ú_type_namesrC   rš   s     r   Ú	all_typeszType.all_typesÞ   s   € Ü-8Ö9 r�—‘˜rÕ"Ò9Ð9ùÒ9s   ‰$c                 ó¼   — t         | j                     j                  }g }t        D ]3  }t         |   j                  |k  sŒ|j	                  t        |«      «       Œ5 |S rQ   ©r   r�   Ú	alignmentrž   r1   ry   ©r<   ÚbitsÚtypesrD   s       r   Úsmaller_typeszType.smaller_typesá   óT   € Ü˜DŸI™IÑ&×0Ñ0ˆØˆÜò 	)ˆDÜ˜DÑ!×+Ñ+¨dÓ2Ø—‘œT $›ZÕ(ð	)ð ˆr   c                 óÜ   — t         | j                     j                  }g }t        D ]C  }|| j                  k(  rŒt         |   j                  |k(  sŒ*|j	                  t        |«      «       ŒE |S rQ   r¡   r£   s       r   Úequal_typeszType.equal_typesé   sc   € Ü˜DŸI™IÑ&×0Ñ0ˆØˆÜò 	)ˆDØ�t—y‘yÒ ØÜ˜DÑ!×+Ñ+¨tÓ3Ø—‘œT $›ZÕ(ð		)ð
 ˆr   c                 ó¼   — t         | j                     j                  }g }t        D ]3  }t         |   j                  |kD  sŒ|j	                  t        |«      «       Œ5 |S rQ   r¡   r£   s       r   Úlarger_typeszType.larger_typesó   r§   r   N)r[   r\   r]   r€   rƒ   r„   rN   rœ   rŸ   r¦   r©   r«   r^   r   r   ry   ry   «   s0   „ Ø€Kòò #ò.0òDò:òòór   ry   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚArrayc           
      óˆ   — d| j                   › d| j                  › d| j                  › d| j                  › d| j                  › �
S )NzArray(z, z)|arr=)r   ÚdimsÚintentrˆ   r   rJ   s    r   rN   zArray.__repr__þ   sD   € Ø˜Ÿ™˜ 2 d§i¡i [°°4·;±;°-ð @Ø—H‘H�:˜V D§H¡H :ð/ð 	0r   c           
      óÊ  — || _         || _        || _        t        j                  |«      | _        || _        t        j                  |j                  |j                  ||j                  |«      | _        t        | j                  t        j                  «      sJ ‚t        j!                  | j                  «      | _        t%        |«      dkD  �r	| j                  j'                  d«      rw|j                  t        j(                  z  sJ ‚| j                  j                  d   rJ ‚| j                  j                  d   sJ ‚| j"                  d   t        j*                  z  ryJ ‚|j                  t        j(                  z  rJ ‚| j                  j                  d   sJ ‚| j                  j                  d   rJ ‚| j"                  d   t        j*                  z  sJ ‚|€d | _        d | _        y |j'                  d«      rit        |t        j                  «      sJ t1        t        |«      «      «       ‚ t        j2                  |«      j4                  |Ž j                  «       | _        n„t        j2                   t        j2                  ||j6                  ¬«      j4                  |Ž | j                  j'                  d«      xr dxs d	¬
«      | _        | j,                  j8                  |k(  sJ ‚| j,                  j;                  | j                  j                  d   ¬«       | j,                  j                  d   s	J ||f«       ‚t        j!                  | j,                  «      | _        t%        |«      dkD  rË| j                  j'                  d«      rX| j,                  j                  d   rJ ‚| j,                  j                  d   sJ ‚| j.                  d   t        j*                  z  rZJ ‚| j,                  j                  d   sJ ‚| j,                  j                  d   rJ ‚| j.                  d   t        j*                  z  sJ ‚| j"                  d   | j.                  d   k(  sJ ‚| j"                  d   | j.                  d   k(  sJ ‚| j"                  d   dk  r}| j"                  d   | j.                  d   k(  s^J t1        | j"                  d   | j.                  d   | j                  j=                  «       | j,                  j=                  «       f«      «       ‚| j"                  d   dd  | j.                  d   dd  k(  s,J t1        | j"                  d   | j.                  d   f«      «       ‚| j"                  d   }|j'                  d«      rM|j8                  |k(  r|j                  d   s/t?        d«      dgk(  sJ ‚|dz  sJ t?        d«      › d�«       ‚|dz  }n|dz  rJ ‚|| j.                  d   k(  snJ t1        | j"                  d   | j.                  d   t?        d| j"                  d   z  | j.                  d   z
  «      t?        | j"                  d   «      |f«      «       ‚|j'                  d«      r+| j"                  d   d   | j                   j                  k\  sUJ ‚| j"                  d   d   | j                   j                  k(  sJ ‚| jA                  | j,                  | j                  «      sJ ‚t        | j                  t        j                  «      re|j                  tC        |j8                  «      j                  k(  r8|j'                  d«      s&| j"                  d   dk  r| jE                  «       sJ ‚y y y y y )Nr   r   r"   r!   r   Úcache©r}   ÚCÚF)Úorderr(   ©Úwriter#   é   é   é   éþÿÿÿÚinplaceÚF_CONTIGUOUSi    r)   z	 not set.r   Úcopy)#r   r¯   r°   r¿   ÚdeepcopyÚobj_copyrˆ   r   Úcallr�   r�   r   r   r{   r|   Úndarrayr   Úarr_attrrY   rW   ÚF2PY_INTENT_Cr"   ÚpyarrÚ
pyarr_attrÚreprÚarrayÚreshaper–   r}   ÚsetflagsÚtobytesr   Ú	arr_equalry   Úhas_shared_memory)r<   Útypr¯   r°   rˆ   Ú	arr_flagss         r   r>   zArray.__init__  s<  € ØˆŒ	ØˆŒ	ØˆŒÜŸ™ cÓ*ˆŒØˆŒô —9‘9˜SŸ\™\Ø ŸZ™ZØ! 6§<¡<°ó6ˆŒô ˜$Ÿ(™(¤B§J¡JÔ/Ð/Ð/ä×(Ñ(¨¯©Ó2ˆŒäˆt‹9�q‹=Ø�{‰{×$Ñ$ SÔ)ØŸ™¤t×'9Ñ'9Ò9Ð:Ð9ØŸ8™8Ÿ>™>¨)Ò4Ð4Ð4Ø—x‘x—~‘~ lÒ3Ð3Ð3Ø ŸM™M¨!Ñ,¬t¯|©|Ò;Ð<Ð;à"ŸL™L¬4×+=Ñ+=Ò=Ð>Ð=Ø—x‘x—~‘~ iÒ0Ð0Ð0ØŸ8™8Ÿ>™>¨,Ò7Ð7Ð7ØŸ™ aÑ(¬4¯<©<Ò7Ð8Ð7àˆ;ØˆDŒJØ"ˆDŒOØà×Ñ˜GÔ$Ü˜c¤2§:¡:Ô.Ð?´´T¸#³Y³Ó?Ð.Ø.œŸ™ #›×.Ñ.°Ð5×:Ñ:Ó<ˆD�JäŸ™Ø:”—‘˜ C§M¡MÔ2×:Ñ:¸DÐAØ—{‘{×,Ñ,¨SÓ1Ò9°cÒA¸côˆDŒJð —:‘:×#Ñ# sÒ*Ð*Ð*Ø�
‰
×Ñ $§(¡(§.¡.°Ñ"=ÐÔ>Ø�z‰z×Ñ 	Ò*Ð9¨S°&¨MÓ9Ð*Ü×*Ñ*¨4¯:©:Ó6ˆŒäˆt‹9�qŠ=Ø�{‰{×$Ñ$ SÔ)ØŸ:™:×+Ñ+¨IÒ6Ð6Ð6Ø—z‘z×'Ñ'¨Ò5Ð5Ð5Ø ŸO™O¨AÑ.´·±Ò=Ð>Ð=à—z‘z×'Ñ'¨	Ò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Ñ  Ð$¨¯©¸Ñ(:¸2¸3Ð(?Ò?ð 	ÄØ�M‰M˜!Ñ˜dŸo™o¨aÑ0ðGó Bó 	Ð?ð —M‘M !Ñ$ˆ	Ø×Ñ˜IÔ&Ø—	‘	˜SÒ  S§Y¡Y¨~Ò%>ä˜tÓ$Ð):Ð(;Ò;Ð;Ð;Ø Ò$ÐF¬+°dÓ*;Ð)<¸IÐ'FÓFÐ$Ø˜Ñ‰Ià! DÒ(Ð)Ð)à˜DŸO™O¨AÑ.Ò.ð 	´Ø�M‰M˜!ÑØ�O‰O˜AÑÜ˜˜DŸM™M¨!Ñ,Ñ,¨t¯©¸qÑ/AÑAÓBÜ˜Ÿ™ aÑ(Ó)Øð6
ó 1ó 	Ð.ð ×Ñ˜GÔ$Ø—=‘= Ñ# AÑ&¨$¯)©)×*:Ñ*:Ò:Ð:Ð:à—=‘= Ñ# AÑ&¨$¯)©)×*:Ñ*:Ò:Ð:Ð:Ø—N‘N 4§:¡:¨t¯x©xÔ8Ð9Ð8ä�d—h‘h¤§
¡
Ô+Ø�z‰zœT #§)¡)›_×3Ñ3Ò3Ø×'Ñ'¨Ô/°D·M±MÀ!Ñ4DÈÒ4IØ×1Ñ1Ô3Ð3Ñ3ð 5JÐ/ð 4ð ,r   c                 ó\   — |j                   |j                   k7  ry||k(  j                  «       S )NF)ÚshaperT   )r<   Úarr1Úarr2s      r   rÍ   zArray.arr_equalc  s(   € Ø�:‰:˜Ÿ™Ò#ØØ˜‘×!Ñ!Ó#Ð#r   c                 ó,   — t        | j                  «      S rQ   )Ústrr   rJ   s    r   rK   zArray.__str__h  s   € Ü�4—8‘8‹}Ðr   c                 óæ   — | j                   | j                  u ryt        | j                   t        j                  «      syt
        j                  | j                   «      }|d   | j                  d   k(  S )z6Check that created array shares data with input array.TFr   )rˆ   r   r{   r|   rÃ   r   r   rÄ   )r<   Úobj_attrs     r   rÎ   zArray.has_shared_memoryk  sV   € à�8‰8�t—x‘xÑØÜ˜$Ÿ(™(¤B§J¡JÔ/ØÜ×#Ñ# D§H¡HÓ-ˆØ˜‰{˜dŸm™m¨AÑ.Ñ.Ð.r   N)r[   r\   r]   rN   r>   rÍ   rK   rÎ   r^   r   r   r­   r­   ü   s   „ ò0ò_4òB$ò
ó/r   r­   c                   ó   — e Zd Zd„ Zy)Ú
TestIntentc                 óò  — t        t        j                  j                  «      dk(  sJ ‚t        j                  j                  j                  d«      sJ ‚t        j                  j                  j                  d«      rJ ‚t        j                  j                  j                  dd«      sJ ‚t        j                  j                  j                  dd«      sJ ‚t        j                  j                  d«      rJ ‚y )Nzintent(in,out)r   rA   )rÖ   r°   r@   Úoutr   rW   rZ   rJ   s    r   Útest_in_outzTestIntent.test_in_outv  s­   € Ü”6—:‘:—>‘>Ó"Ð&6Ò6Ð6Ð6Ü�z‰z�|‰|×%Ñ% cÔ*Ð*Ð*Ü—:‘:—<‘<×/Ñ/°Ô4Ð4Ð4Ü�z‰z�|‰|×+Ñ+¨C°Ô6Ð6Ð6Ü�z‰z�|‰|×+Ñ+¨D°#Ô6Ð6Ð6Ü—:‘:×'Ñ'¨Ô,Ð,Ð,Ð,r   N)r[   r\   r]   rÝ   r^   r   r   rÚ   rÚ   u  s   „ ó-r   rÚ   c                   ó¼  — e Zd Z ej                  dde¬«      ed„ «       «       Zed„ «       Z	ed„ «       Z
d„ Zd„ Zej                  j                  d	d
dg«      ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zd#„ Z d$„ Z!d%„ Z"d&„ Z#y')(ÚTestSharedMemoryTÚclass)ÚautouseÚscopeÚparamsc                 óv   ‡— t        ‰j                  «      ‰j                  _        ˆfd„‰j                  _        y )Nc                 óF   •— t        t        ‰j                  «      |||«      S rQ   )r­   ry   Úparam)r<   r¯   r°   rˆ   Úrequests       €r   ú<lambda>z-TestSharedMemory.setup_type.<locals>.<lambda>…  s   ø€ ¼EÜ�—‘Ó  v¨só=4€ r   )ry   ræ   r…   r   rÉ   )r<   rç   s    `r   Ú
setup_typezTestSharedMemory.setup_type�  s(   ø€ ô   §¡Ó.ˆ�‰Ôó4ˆ�‰Õr   c                 ó”   — | j                   j                  j                  d«      r | j                   j                  }d|z  d|z  gS ddgS )NrŠ   Ú1Ú2r   r¹   ©r   r�   r‘   r�   ©r<   r�   s     r   Únum2seqzTestSharedMemory.num2seqˆ  sC   € à�9‰9�>‰>×$Ñ$ XÔ.Ø—Y‘Y×%Ñ%ˆFØ˜&‘L #¨¡,Ð/Ð/Ø�1ˆvˆr   c                 óÀ   — | j                   j                  j                  d«      r2| j                   j                  }d|z  d|z  d|z  gd|z  d|z  d|z  ggS g d¢g d	¢gS )
NrŠ   rë   rì   Ú3Ú4Ú5Ú6)r   r¹   rº   )ro   r»   r   rí   rî   s     r   Únum23seqzTestSharedMemory.num23seq�  sj   € à�9‰9�>‰>×$Ñ$ XÔ.Ø—Y‘Y×%Ñ%ˆFØ˜6‘\ 3¨¡<°°v±Ð>Ø˜6‘\ 3¨¡<°°v±Ð>ð@ð @âš9Ð%Ð%r   c                 ó€   — | j                  dgt        j                  | j                  «      }|j	                  «       rJ ‚y )Nr¹   )rÉ   r°   r@   rï   rÎ   ©r<   Úas     r   Útest_in_from_2seqz"TestSharedMemory.test_in_from_2seq—  s3   € Ø�J‰J˜�sœFŸJ™J¨¯©Ó5ˆØ×&Ñ&Ô(Ð(Ð(Ð(r   c                 óî  — | j                   j                  «       D ]Ø  }t        j                  | j                  |j
                  ¬«      }| j                  t        | j                  «      gt        j                  |«      }|j                  | j                   j                  k(  rA|j                  «       rŒ—J t        | j                   j
                  |j
                  f«      «       ‚|j                  «       sŒØJ ‚ y ©Nr³   )r   rœ   r|   rÉ   rï   r}   rY   r°   r@   r�   rÎ   rÈ   ©r<   Útrˆ   rø   s       r   Útest_in_from_2casttypez'TestSharedMemory.test_in_from_2casttype›  s­   € Ø—‘×%Ñ%Ó'ò 	1ˆAÜ—(‘(˜4Ÿ<™<¨q¯w©wÔ7ˆCØ—
‘
œC §¡Ó-Ð.´·
±
¸CÓ@ˆAØ�x‰x˜4Ÿ9™9×+Ñ+Ò+Ø×*Ñ*Õ,ÐN¬d°D·I±I·O±OÀQÇWÁWÐ3MÓ.NÓNÐ,à×.Ñ.Õ0Ð0Ð0ñ	1r   r¸   ÚwÚror¶   r´   rµ   ÚinpÚ2seqÚ23seqc                 ód  — t        | d|z   «      }t        j                  || j                  j                  |¬«      }|j                  |dk(  ¬«       | j                  |j                  |dk(  xr t        j                  j                  xs t        j                  |«      }|j                  «       sJ ‚y)z5Test if intent(in) array can be passed without copiesr”   ©r}   r¶   rÿ   r·   r´   N)r0   r|   rÉ   r   r}   rË   rÒ   r°   r@   r   rÎ   )r<   r¸   r¶   r  Úseqrˆ   rø   s          r   Útest_in_nocopyzTestSharedMemory.test_in_nocopy¤  s†   € ô
 �d˜E C™KÓ(ˆÜ�h‰h�s $§)¡)§/¡/¸Ô?ˆØ�‰˜E S™LˆÔ*Ø�J‰J�s—y‘yØ #™Ò6¬&¯*©*¯,©,ÒE¼6¿:¹:ÈóMˆà×"Ñ"Ô$Ð$Ñ$r   c                 óà  — t        j                  | j                  | j                  j                  ¬«      }| j                  t        | j                  «      gt        j                  |«      }|j                  «       sJ ‚	 | j                  dgt        j                  j                  | j                  «      }t        d«      ‚# t        $ r%}t        |«      j                  d«      s‚ Y d }~y d }~ww xY w)Nr³   r¹   z,intent(inout) should have failed on sequencez6failed to initialize intent(inout|inplace|cache) array)r|   rÉ   rï   r   r}   rY   r°   ÚinoutrÎ   r@   ÚSystemErrorÚ	TypeErrorrÖ   r‘   )r<   rˆ   rø   Úmsgs       r   Útest_inout_2seqz TestSharedMemory.test_inout_2seq°  s¹   € Ü�h‰h�t—|‘|¨4¯9©9¯?©?Ô;ˆØ�J‰Jœ˜DŸL™LÓ)Ð*¬F¯L©L¸#Ó>ˆØ×"Ñ"Ô$Ð$Ð$ð	NØ—
‘
˜A˜3¤§
¡
× 0Ñ 0°$·,±,Ó?ˆAô ÐLÓMÐMøô ò 	Ü�s“8×&Ñ&ØLôNàôNûð	ús   Á>6B? Â?	C-ÃC(Ã(C-c                 óØ  — t        j                  | j                  | j                  j                  d¬«      }t        | j                  «      t        | j                  d   «      f}| j                  |t        j                  j                  |«      }|j                  «       sJ ‚t        j                  | j                  | j                  j                  d¬«      }t        | j                  «      t        | j                  d   «      f}	 | j                  |t        j                  j                  |«      }t        d«      ‚# t        $ r%}t        |«      j                  d«      s‚ Y d }~y d }~ww xY w)Nrµ   r  r   r´   z2intent(inout) should have failed on improper arrayz(failed to initialize intent(inout) array)r|   rÉ   rõ   r   r}   rY   r°   r@   r	  rÎ   r
  Ú
ValueErrorrÖ   r‘   )r<   rˆ   rÒ   rø   r  s        r   Útest_f_inout_23seqz#TestSharedMemory.test_f_inout_23seq¾  s  € Ü�h‰h�t—}‘}¨D¯I©I¯O©OÀ3ÔGˆÜ�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;ˆØ�J‰J�uœfŸj™j×.Ñ.°Ó4ˆØ×"Ñ"Ô$Ð$Ð$ä�h‰h�t—}‘}¨D¯I©I¯O©OÀ3ÔGˆÜ�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;ˆð	FØ—
‘
˜5¤&§*¡*×"2Ñ"2°CÓ8ˆAô ØDóFð Føô ò 	Ü�s“8×&Ñ&Ø>ô@àô@ûð	ús   Ä+D; Ä;	E)ÅE$Å$E)c                 óV  — t        j                  | j                  | j                  j                  ¬«      }t        | j                  «      t        | j                  d   «      f}| j                  |t        j                  j                  j                  |«      }|j                  «       sJ ‚y ©Nr³   r   )r|   rÉ   rõ   r   r}   rY   r°   r@   r   r	  rÎ   ©r<   rˆ   rÒ   rø   s       r   Útest_c_inout_23seqz#TestSharedMemory.test_c_inout_23seqÐ  sq   € Ü�h‰h�t—}‘}¨D¯I©I¯O©OÔ<ˆÜ�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;ˆØ�J‰J�uœfŸj™jŸl™l×0Ñ0°#Ó6ˆØ×"Ñ"Ô$Ð$Ñ$r   c                 ó:  — | j                   j                  «       D ]~  }t        j                  | j                  |j
                  ¬«      }| j                  t        | j                  «      gt        j                  j                  |«      }|j                  «       sŒ~J ‚ y rû   )r   rœ   r|   rÉ   rï   r}   rY   r°   r@   r¿   rÎ   rü   s       r   Útest_in_copy_from_2casttypez,TestSharedMemory.test_in_copy_from_2casttypeÖ  sn   € Ø—‘×%Ñ%Ó'ò 	-ˆAÜ—(‘(˜4Ÿ<™<¨q¯w©wÔ7ˆCØ—
‘
œC §¡Ó-Ð.´·
±
·±ÀÓEˆAØ×*Ñ*Õ,Ð,Ð,ñ	-r   c                 óÔ   — | j                  t        | j                  «      t        | j                  d   «      gt        j                  | j                  «      }|j                  «       rJ ‚y ©Nr   )rÉ   rY   rõ   r°   r@   rÎ   r÷   s     r   Útest_c_in_from_23seqz%TestSharedMemory.test_c_in_from_23seqÜ  sS   € Ø�J‰JÜ�—‘Ó¤ T§]¡]°1Ñ%5Ó!6Ð7¼¿¹Ø�M‰Móˆð ×&Ñ&Ô(Ð(Ð(Ð(r   c                 óT  — | j                   j                  «       D ]‹  }t        j                  | j                  |j
                  ¬«      }| j                  t        | j                  «      t        | j                  d   «      gt        j                  |«      }|j                  «       sŒ‹J ‚ y r  )
r   rœ   r|   rÉ   rõ   r}   rY   r°   r@   rÎ   rü   s       r   Útest_in_from_23casttypez(TestSharedMemory.test_in_from_23casttypeâ  s~   € Ø—‘×%Ñ%Ó'ò 	-ˆAÜ—(‘(˜4Ÿ=™=°·±Ô8ˆCØ—
‘
Ü�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;¼V¿Z¹ZÈóNˆAà×*Ñ*Õ,Ð,Ð,ñ		-r   c                 óÂ  — | j                   j                  «       D ]Â  }t        j                  | j                  |j
                  d¬«      }| j                  t        | j                  «      t        | j                  d   «      gt        j                  |«      }|j                  | j                   j                  k(  r|j                  «       rŒ¯J ‚|j                  «       sŒÂJ ‚ y ©Nrµ   r  r   )r   rœ   r|   rÉ   rõ   r}   rY   r°   r@   r�   rÎ   rü   s       r   Útest_f_in_from_23casttypez*TestSharedMemory.test_f_in_from_23casttypeé  s¨   € Ø—‘×%Ñ%Ó'ò 	1ˆAÜ—(‘(˜4Ÿ=™=°·±¸sÔCˆCØ—
‘
Ü�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;¼V¿Z¹ZÈóNˆAà�x‰x˜4Ÿ9™9×+Ñ+Ò+Ø×*Ñ*Õ,Ð,Ð,à×.Ñ.Õ0Ð0Ð0ñ	1r   c                 óÔ  — | j                   j                  «       D ]Ë  }t        j                  | j                  |j
                  ¬«      }| j                  t        | j                  «      t        | j                  d   «      gt        j                  j                  |«      }|j                  | j                   j                  k(  r|j                  «       rŒ¸J ‚|j                  «       sŒËJ ‚ y r  )r   rœ   r|   rÉ   rõ   r}   rY   r°   r@   r   r�   rÎ   rü   s       r   Útest_c_in_from_23casttypez*TestSharedMemory.test_c_in_from_23casttypeó  sª   € Ø—‘×%Ñ%Ó'ò 	1ˆAÜ—(‘(˜4Ÿ=™=°·±Ô8ˆCØ—
‘
Ü�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;¼V¿Z¹Z¿\¹\È3óPˆAà�x‰x˜4Ÿ9™9×+Ñ+Ò+Ø×*Ñ*Õ,Ð,Ð,à×.Ñ.Õ0Ð0Ð0ñ	1r   c                 ój  — | j                   j                  «       D ]–  }t        j                  | j                  |j
                  d¬«      }| j                  t        | j                  «      t        | j                  d   «      gt        j                  j                  |«      }|j                  «       sŒ–J ‚ y r  )r   rœ   r|   rÉ   rõ   r}   rY   r°   r@   r¿   rÎ   rü   s       r   Útest_f_copy_in_from_23casttypez/TestSharedMemory.test_f_copy_in_from_23casttypeý  s†   € Ø—‘×%Ñ%Ó'ò 	-ˆAÜ—(‘(˜4Ÿ=™=°·±¸sÔCˆCØ—
‘
Ü�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;¼V¿Z¹Z¿_¹_ØóˆAð ×*Ñ*Õ,Ð,Ð,ñ	-r   c                 ó|  — | j                   j                  «       D ]Ÿ  }t        j                  | j                  |j
                  ¬«      }| j                  t        | j                  «      t        | j                  d   «      gt        j                  j                  j                  |«      }|j                  «       sŒŸJ ‚ y r  )r   rœ   r|   rÉ   rõ   r}   rY   r°   r@   r   r¿   rÎ   rü   s       r   Útest_c_copy_in_from_23casttypez/TestSharedMemory.test_c_copy_in_from_23casttype  sŠ   € Ø—‘×%Ñ%Ó'ò 	-ˆAÜ—(‘(˜4Ÿ=™=°·±Ô8ˆCØ—
‘
Ü�T—]‘]Ó#¤S¨¯©°qÑ)9Ó%:Ð;¼V¿Z¹Z¿\¹\×=NÑ=NØóˆAð ×*Ñ*Õ,Ð,Ð,ñ	-r   c           	      ó‚  — | j                   j                  «       D �]ï  }|j                  | j                   j                  k7  rŒ(t        j                  | j
                  |j                  ¬«      }t        | j
                  «      f}| j	                  |t        j                  j                  j                  |«      }|j                  «       sJ ‚| j	                  |t        j                  j                  |«      }|j                  «       sJ ‚t        j                  | j
                  |j                  d¬«      }| j	                  |t        j                  j                  j                  |«      }|j                  «       sJ ‚| j	                  |t        j                  j                  |«      }|j                  «       sJ t        |j                  «      «       ‚	 | j	                  |t        j                  j                  |d d d…   «      }t        d«      ‚ y # t        $ r&}t!        |«      j#                  d«      s‚ Y d }~�Œd }~ww xY w)Nr³   rµ   r  éÿÿÿÿz8intent(cache) should have failed on multisegmented arrayú(failed to initialize intent(cache) array)r   rŸ   r�   r|   rÉ   rï   r}   rY   r°   r@   r   r²   rÎ   rÈ   r
  r  rÖ   r‘   )r<   rý   rˆ   rÒ   rø   r  s         r   Útest_in_cache_from_2casttypez-TestSharedMemory.test_in_cache_from_2casttype  s¸  € Ø—‘×$Ñ$Ó&ó 	PˆAØ�x‰x˜4Ÿ9™9×+Ñ+Ò+ØÜ—(‘(˜4Ÿ<™<¨q¯w©wÔ7ˆCÜ˜Ÿ™Ó&Ð)ˆEØ—
‘
˜5¤&§*¡*§,¡,×"4Ñ"4°cÓ:ˆAØ×&Ñ&Ô(Ð(Ð(à—
‘
˜5¤&§*¡*×"2Ñ"2°CÓ8ˆAØ×&Ñ&Ô(Ð(Ð(ä—(‘(˜4Ÿ<™<¨q¯w©w¸cÔBˆCØ—
‘
˜5¤&§*¡*§,¡,×"4Ñ"4°cÓ:ˆAØ×&Ñ&Ô(Ð(Ð(à—
‘
˜5¤&§*¡*×"2Ñ"2°CÓ8ˆAØ×&Ñ&Ô(Ð7¬$¨q¯w©w«-Ó7Ð(ðPØ—J‘J˜u¤f§j¡j×&6Ñ&6¸¹D¸b¸D¹	ÓB�ô "ØNóPð Pñ3	Pøô( ò Ü˜3“x×*Ñ*ØBôDàõDûðús   Ç1HÈ	H>ÈH9È9H>c                 óä  — | j                   j                  «       D �]   }|j                  dk(  rŒ|j                  | j                   j                  k\  rŒ8t	        j
                  |j                  t        j                  «      }|rCt        | j                  d   «      t	        j                  |j                  «      j                  kD  rŒ«t	        j                  | j                  |j                  ¬«      }t        | j                  «      f}	 | j                  |t        j                  j                   |«       t#        d«      ‚ y # t$        $ r&}t'        |«      j)                  d«      s‚ Y d }~�ŒOd }~ww xY w)NrŠ   r   r³   z1intent(cache) should have failed on smaller arrayr'  )r   rŸ   r�   r�   r|   Ú
issubdtyper}   Úintegerr’   rï   ÚiinfoÚmaxrÉ   rY   r°   r@   r²   r
  r  rÖ   r‘   )r<   rý   Úis_intrˆ   rÒ   r  s         r   Ú$test_in_cache_from_2casttype_failurez5TestSharedMemory.test_in_cache_from_2casttype_failure*  s  € Ø—‘×$Ñ$Ó&ó 	IˆAØ�v‰v˜Ò!àØ�x‰x˜4Ÿ9™9×+Ñ+Ò+ØÜ—]‘] 1§7¡7¬B¯J©JÓ7ˆFÙœ#˜dŸl™l¨1™oÓ.´·±¸!¿'¹'Ó1B×1FÑ1FÒFàÜ—(‘(˜4Ÿ<™<¨q¯w©wÔ7ˆCÜ˜Ÿ™Ó&Ð)ˆEðIØ—
‘
˜5¤&§*¡*×"2Ñ"2°CÔ8ô "ØGóIð Iñ'	Iøô ò Ü˜3“x×*Ñ*ØBôDàõDûðús   Ä+E Å 	E/Å	E*Å*E/c                 óö  — d}| j                  |t        j                  j                  d «      }|j                  j
                  |k(  sJ ‚d}| j                  |t        j                  j                  d «      }|j                  j
                  |k(  sJ ‚d}	 | j                  |t        j                  j                  d «      }t        d«      ‚# t        $ r%}t        |«      j                  d«      s‚ Y d }~y d }~ww xY w)N©r¹   ©r¹   rº   ©r&  rº   z8intent(cache) should have failed on undefined dimensionsú2failed to create intent(cache|hide)|optional array)
rÉ   r°   r²   Úhider   rÒ   r
  r  rÖ   r‘   ©r<   rÒ   rø   r  s       r   Útest_cache_hiddenz"TestSharedMemory.test_cache_hiddenA  sÜ   € ØˆØ�J‰J�uœfŸl™l×/Ñ/°Ó6ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#àˆØ�J‰J�uœfŸl™l×/Ñ/°Ó6ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#àˆð	LØ—
‘
˜5¤&§,¡,×"3Ñ"3°TÓ:ˆAô ØJóLð Løô ò 	Ü�s“8×&Ñ&ØHôJàôJûð	ús   Â+C
 Ã
	C8ÃC3Ã3C8c                 óÄ  — d}| j                  |t        j                  d «      }|j                  j                  |k(  sJ ‚|j                  |j                  t        j                  || j                  j                  ¬«      «      sJ ‚d}| j                  |t        j                  d «      }|j                  j                  |k(  sJ ‚|j                  |j                  t        j                  || j                  j                  ¬«      «      sJ ‚|j                  j                  d   r|j                  j                  d   rJ ‚d}| j                  |t        j                  j                  d «      }|j                  j                  |k(  sJ ‚|j                  |j                  t        j                  || j                  j                  ¬«      «      sJ ‚|j                  j                  d   s|j                  j                  d   sJ ‚d}	 | j                  |t        j                  d «      }t        d«      ‚# t        $ r%}t        |«      j                  d«      s‚ Y d }~y d }~ww xY w)	Nr1  r³   r2  r"   r!   r3  z7intent(hide) should have failed on undefined dimensionsr4  )rÉ   r°   r5  r   rÒ   rÍ   r|   Úzerosr   r}   r   r   r
  r  rÖ   r‘   r6  s       r   Útest_hiddenzTestSharedMemory.test_hiddenU  sÊ  € ØˆØ�J‰J�uœfŸk™k¨4Ó0ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø�{‰{˜1Ÿ5™5¤"§(¡(¨5¸¿	¹	¿¹Ô"HÔIÐIÐIàˆØ�J‰J�uœfŸk™k¨4Ó0ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø�{‰{˜1Ÿ5™5¤"§(¡(¨5¸¿	¹	¿¹Ô"HÔIÐIÐIØ�u‰u�{‰{˜9Ò%¨a¯e©e¯k©k¸,Ò.GÐGÐGàˆØ�J‰J�uœfŸh™hŸm™m¨TÓ2ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø�{‰{˜1Ÿ5™5¤"§(¡(¨5¸¿	¹	¿¹Ô"HÔIÐIÐIØ—5‘5—;‘;˜yÒ)¨a¯e©e¯k©k¸,Ò.GÐGÐGàˆð	KØ—
‘
˜5¤&§+¡+¨tÓ4ˆAô ØIóKð Køô ò 	Ü�s“8×&Ñ&ØHôJàôJûð	ús   È!H1 È1	IÈ:IÉIc                 ó  — d}| j                  |t        j                  d «      }|j                  j                  |k(  sJ ‚|j                  |j                  t        j                  || j                  j                  ¬«      «      sJ ‚d}| j                  |t        j                  d «      }|j                  j                  |k(  sJ ‚|j                  |j                  t        j                  || j                  j                  ¬«      «      sJ ‚|j                  j                  d   r|j                  j                  d   rJ ‚d}| j                  |t        j                  j                  d «      }|j                  j                  |k(  sJ ‚|j                  |j                  t        j                  || j                  j                  ¬«      «      sJ ‚|j                  j                  d   s|j                  j                  d   sJ ‚y )Nr1  r³   r2  r"   r!   )rÉ   r°   r7   r   rÒ   rÍ   r|   r9  r   r}   r   r   )r<   rÒ   rø   s      r   Útest_optional_nonez#TestSharedMemory.test_optional_noner  si  € ØˆØ�J‰J�uœfŸo™o¨tÓ4ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø�{‰{˜1Ÿ5™5¤"§(¡(¨5¸¿	¹	¿¹Ô"HÔIÐIÐIàˆØ�J‰J�uœfŸo™o¨tÓ4ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø�{‰{˜1Ÿ5™5¤"§(¡(¨5¸¿	¹	¿¹Ô"HÔIÐIÐIØ�u‰u�{‰{˜9Ò%¨a¯e©e¯k©k¸,Ò.GÐGÐGàˆØ�J‰J�uœfŸh™h×/Ñ/°Ó6ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø�{‰{˜1Ÿ5™5¤"§(¡(¨5¸¿	¹	¿¹Ô"HÔIÐIÐIØ—5‘5—;‘;˜yÒ)¨a¯e©e¯k©k¸,Ò.GÐGÐGÐ.Gr   c                 óÐ   — | j                   }t        |«      f}| j                  |t        j                  |«      }|j
                  j                  |k(  sJ ‚|j                  «       rJ ‚y rQ   )rï   rY   rÉ   r°   r7   r   rÒ   rÎ   r  s       r   Útest_optional_from_2seqz(TestSharedMemory.test_optional_from_2seq„  sW   € Ø�l‰lˆÜ�S“�ˆØ�J‰J�uœfŸo™o¨sÓ3ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø×&Ñ&Ô(Ð(Ð(Ð(r   c                 óš  — | j                   }t        |«      t        |d   «      f}| j                  |t        j                  |«      }|j
                  j                  |k(  sJ ‚|j                  «       rJ ‚| j                  |t        j                  j                  |«      }|j
                  j                  |k(  sJ ‚|j                  «       rJ ‚y r  )	rõ   rY   rÉ   r°   r7   r   rÒ   rÎ   r   r  s       r   Útest_optional_from_23seqz)TestSharedMemory.test_optional_from_23seq‹  s¦   € Ø�m‰mˆÜ�S“œ3˜s 1™v›;Ð'ˆØ�J‰J�uœfŸo™o¨sÓ3ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø×&Ñ&Ô(Ð(Ð(à�J‰J�uœfŸo™o×/Ñ/°Ó5ˆØ�u‰u�{‰{˜eÒ#Ð#Ð#Ø×&Ñ&Ô(Ð(Ð(Ð(r   c                 óœ  — t        j                  | j                  | j                  j                  ¬«      }|j
                  d   s|j
                  d   sJ ‚|j                  }| j                  |t        j                  |«      }|d   d   |j                  d   d   k(  sJ t        ||j                  f«      «       ‚| j                  j                  t        k7  rdnd}||j                  d   d<   |j                  d   d   t        j                  || j                  j                  ¬«      k(  sJ ‚|d   d   t        j                  || j                  j                  ¬«      k7  sJ ‚|j                  j
                  d   sJ ‚|j                  j                  |u sJ ‚|j                  j
                  d   r|j                  j
                  d   rJ ‚t        j                  |j                  «      }|dk(  sJ d	«       ‚|d   d   t        j                  || j                  j                  ¬«      k(  sJ ‚|j
                  d   s|j
                  d   sJ ‚y )
Nr³   r"   r!   r   r¹   é6   Fr)   ú"no write-back resolution was done!)r|   rÉ   rõ   r   r}   r   rÒ   r°   r½   r   rÈ   ÚboolÚbaser   Úresolve_write_back_if_copy)r<   rˆ   rÒ   rø   Úchange_itemÚcodes         r   Útest_inplacezTestSharedMemory.test_inplace–  sÌ  € Ü�h‰h�t—}‘}¨D¯I©I¯O©OÔ<ˆØ—9‘9˜YÒ'¨C¯I©I°lÒ,CÐCÐCØ—	‘	ˆØ�J‰J�uœfŸn™n¨cÓ2ˆà�1‰v�a‰y˜AŸE™E !™H Q™KÒ'Ð;¬¨s°A·E±E¨lÓ);Ó;Ð'à ŸI™IŸO™O¬tÒ3‘b¸ˆØ!ˆ�‰ˆa‰�‰Ø�u‰u�Q‰x˜‰{œbŸh™h {¸$¿)¹)¿/¹/ÔJÒJÐJÐJØ�1‰v�a‰yœBŸH™H [¸¿	¹	¿¹ÔHÒHÐHÐHà�u‰u�{‰{Ð,Ò-Ð-Ð-Ø�u‰u�z‰z˜SÑ Ð Ð à�u‰u�{‰{˜9Ò%¨a¯e©e¯k©k¸,Ò.GÐGÐGä×.Ñ.¨q¯u©uÓ5ˆØ�qŠyÐ>Ð>Ó>ˆyØ�1‰v�a‰yœBŸH™H [¸¿	¹	¿¹ÔHÒHÐHÐHà—9‘9˜YÒ'¨C¯I©I°lÒ,CÐCÐCÐ,Cr   c                 ó&  — t        j                  | j                  | j                  j                  d¬«      }|j
                  d   r|j
                  d   rJ ‚| j                  |j                  t        j                  |«      }|j                  |u sJ ‚y )Nrµ   r  r"   r!   )
r|   rÉ   rõ   r   r}   r   rÒ   r°   r½   r   )r<   rˆ   rø   s      r   Útest_inplace_f_orderz%TestSharedMemory.test_inplace_f_order®  sg   € ä�h‰h�t—}‘}¨D¯I©I¯O©OÀ3ÔGˆØ�y‰y˜Ò#¨C¯I©I°lÒ,CÐCÐCØ�J‰J�s—y‘y¤&§.¡.°#Ó6ˆØ�u‰u˜‰|Ð‰|r   c                 ó¤  — | j                   j                  «       D �]  }|| j                   u rŒt        j                  | j                  |j
                  ¬«      }|j
                  j                   |j                   k(  sJ ‚|j
                  j                   | j                   j                   usJ ‚|j                  d   s|j                  d   sJ ‚|j                  }|j
                  j                  | j                   j
                  j                  k(  }	 | j                  |t        j                  |«      }|s(t        j                  |j                  «       |sJ d«       ‚|d   d   |j                  d   d   k(  sJ t!        ||j                  f«      «       ‚| j                   j
                  t"        k7  rd	nd
}||j                  d   d<   |j                  d   d   t        j                  || j                   j
                  ¬«      k(  sJ ‚|d   d   t        j                  || j                   j
                  ¬«      k7  sJ ‚|j                  j                  d   sJ ‚|j                  j$                  |u sJ ‚t        j                  |j                  «      }|dk(  sJ d«       ‚|d   d   t        j                  || j                   j
                  ¬«      k(  sJ ‚|j                  d   s|j                  d   sJ ‚|j
                  j                   | j                   j                   ur�ŒJ ‚ y # t        $ r#}|rJ d«       ‚dt        |«      v sJ ‚Y d }~ y d }~ww xY w)Nr³   r"   r!   z(Array not created while having same kindznot compatiblez*Array created despite not having same kindr   r¹   rB  Fr)   rC  )r   rœ   r|   rÉ   rõ   r}   r   rÒ   Úkindr°   r½   r  rÖ   r   rF  r   rÈ   rD  rE  )	r<   rý   rˆ   rÒ   Ú	same_kindrø   ÚexcrG  rH  s	            r   Útest_inplace_from_casttypez+TestSharedMemory.test_inplace_from_casttypeµ  s   € à—‘×%Ñ%Ó'ó %	8ˆAØ�D—I‘I‰~ØÜ—(‘(˜4Ÿ=™=°·±Ô8ˆCØ—9‘9—>‘> Q§V¡VÒ+Ð+Ð+Ø—9‘9—>‘>¨¯©¯©Ñ7Ð7Ð7Ø—y‘y Ò+°·	±	¸,Ò0GÐGÐGØ—I‘IˆEØŸ	™	Ÿ™¨$¯)©)¯/©/×*>Ñ*>Ñ>ˆIðØ—J‘J˜u¤f§n¡n°cÓ:�ñ ä×/Ñ/°·±Ô6Ù ÐNÐ"NÓN�yà�q‘6˜!‘9 §¡ a¡¨¡Ò+Ð?¬T°3¸¿¹°,Ó-?Ó?Ð+Ø $§	¡	§¡´4Ò 7™"¸UˆKØ%ˆA�E‰E�!‰H�Q‰KØ—5‘5˜‘8˜A‘;¤"§(¡(¨;¸d¿i¹i¿o¹oÔ"NÒNÐNÐNà�q‘6˜!‘9¤§¡¨¸D¿I¹I¿O¹OÔ LÒLÐLÐLØ—5‘5—;‘;Ð0Ò1Ð1Ð1Ø—5‘5—:‘: Ñ$Ð$Ð$ä×2Ñ2°1·5±5Ó9ˆDØ˜1’9ÐBÐBÓB�9Ø�q‘6˜!‘9¤§¡¨¸D¿I¹I¿O¹OÔ LÒLÐLÐLà—y‘y Ò+°·	±	¸,Ò0GÐGÐGØ—9‘9—>‘>¨¯©¯©Ó7Ð7Ð7ñK%	8øô ò Ù$ÐPÐ&PÓP�}Ø'¬3¨s«8Ñ3Ð3Ð3Ýûðús   Ä!L#Ì#	MÌ,M
Í
MN)$r[   r\   r]   ÚpytestÚfixturerž   Úclassmethodré   Úpropertyrï   rõ   rù   rþ   ÚmarkÚparametrizer  r  r  r  r  r  r  r  r   r"  r$  r(  r/  r7  r:  r<  r>  r@  rI  rK  rP  r^   r   r   rß   rß     s.  „ à€V‡^�^˜D¨¸ÔDØñ4ó ó Eð4ð
 ñó ðð ñ&ó ð&ò)ò1ð ‡[�[×Ñ˜W s¨D kÓ2Ø‡[�[×Ñ˜W s¨C jÓ1Ø‡[�[×Ñ˜U V¨WÐ$5Ó6ñ%ó 7ó 2ó 3ð%òNòFò$%ò-ò)ò-ò1ò1ò-ò-òPò:Iò.Lò(Kò:Hò$)ò	)òDò0ó'8r   rß   r^   )&r¿   ÚplatformÚsysÚpathlibr   rQ  Únumpyr|   Únumpy._core._type_aliasesr   Ú_c_names_dictÚ r   rU  ÚslowÚ
pytestmarkr   Údictr}   r   r   r   r   r5   r°   rž   r™   Úintpr“   Úclongdoubler¢   ÚsystemÚ	processorÚextendry   r­   rÚ   rß   r^   r   r   ú<module>rf     sô  ðÛ Û Û 
Ý ã ã Ý Cå à�[‰[×Ñ€
à€ñ ñ Øˆb�h‰h�s‹mðàñ€ò)òNòò
÷.Nñ Nñ< 
‹€ò€ð( �v�hÐ€
Ø Ñ'¨6¨(Ñ2€
ˆ6Ñ Ø  Ñ(¨G¨9Ñ4€
ˆ7Ñ Ø�X€
ˆ6Ñ Ø�i€
ˆ7Ñ Ø  Ñ(¨G°WÐ+=Ñ=€
ˆ7Ñ Ø! 'Ñ*¨f°hÐ-?Ñ?€
ˆ8Ñ Ø˜wÑ'¨8°UÐ*;Ñ;€
ˆ5Ñ Ø Ñ)¨W°fÐ,=Ñ=€
ˆ6Ñ à Ñ&¨&¨Ñ1€
ˆ6Ñ Ø  Ñ(¨G¨9Ñ4€
ˆ7Ñ à# FÑ+¨z¨lÑ:€
ˆ:Ñ Ø$ WÑ-°°Ñ=€
ˆ;Ñ à  Ñ)¨X°wÐ,?Ñ?€
ˆ7Ñ Ø! %Ñ(Ò+FÑF€
ˆ8Ñ à! 'Ñ*¨h¨ZÑ7€
ˆ8Ñ à"˜€
ˆ9Ñ Ø"˜€
ˆ9Ñ Ø&˜-€
ˆ;Ñ ð €R‡W�WƒY‡_�_×Ñ Ò" n b§n¡nÓ&6×&<Ñ&<×&FÑ&FÈ!Ò&KØ�L‰LÐ 0Ñ0ØˆX�_‰_ÓÐ 2 × 2Ñ 2Ó 4Ð5Ð9JÒJØ×ÑÒ?Ô@Ø)¨&Ñ1ò 5ñ  €Jˆ|Ñð !+¨<Ñ 8ò <ñ !€Jˆ}Ñð
 ' xÑ0°H¸iÐ3HÑH€JˆyÑ÷Nñ N÷bv/ñ v/÷r-ñ -÷]8ò ]8r   