Ë
    0Ò^j|  ã                   ó�   — d Z ddlZddlmZ ddlmZmZmZmZ ddl	m
Z
 ddlZej                  d„ «       Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zy)z> Test for assert_deallocated context manager and gc utilities
é    N©ÚLock)Úset_gc_stateÚgc_stateÚassert_deallocatedÚReferenceError)Úassert_equalc                  ó   — t        «       S ©Nr   © ó    úi/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/_lib/tests/test__gcutils.pyÚgc_lockr      s	   € ä‹6€Mr   c                 óÆ  — | 5  t        j                  «       }	 dD ]|  }t        j                  «        t        |«       t	        t        j                  «       |«       t        j
                  «        t        |«       t	        t        j                  «       |«       Œ~ 	 |rt        j                  «        	 d d d «       y # |rt        j                  «        w w xY w# 1 sw Y   y xY w©N©TF)ÚgcÚ	isenabledÚenabler   r	   Údisable)r   Ú	gc_statusÚstates      r   Útest_set_gc_stater      s£   € Ø	ñ Ü—L‘L“Nˆ	ð
	Ø&ò 4�Ü—	‘	”Ü˜UÔ#ÜœRŸ\™\›^¨UÔ3Ü—
‘
”Ü˜UÔ#ÜœRŸ\™\›^¨UÕ3ñ4ñ Ü—	‘	•÷ð øñ Ü—	‘	•ð ú÷ð ús#   ƒC™BB;ÂCÂ;CÃCÃC c           	      ó~  — | 5  t        j                  «       }	 dD ]À  }t        |«       dD ]®  }t        |«      5  t	        t        j                  «       |«       d d d «       t	        t        j                  «       |«       t        |«      5  t	        t        j                  «       |«       t        | «       d d d «       t	        t        j                  «       |«       Œ° ŒÂ 	 |rt        j
                  «        	 d d d «       y # 1 sw Y   Œ¨xY w# 1 sw Y   ŒXxY w# |rt        j
                  «        w w xY w# 1 sw Y   y xY wr   )r   r   r   r   r	   r   )r   r   Ú	pre_stateÚ
with_states       r   Útest_gc_stater   #   s  € à	ñ Ü—L‘L“Nˆ	ð	Ø*ò <�	Ü˜YÔ'Ø"/ò 
<�Jä! *Ó-ñ AÜ$¤R§\¡\£^°ZÔ@÷Aô !¤§¡£°Ô;ä! *Ó-ñ 5Ü$¤R§\¡\£^°ZÔ@Ü$¨ ^Ô4÷5ô !¤§¡£°Õ;ñ
<ñ<ñ Ü—	‘	•÷%ð ÷Að Aú÷
5ð 5ûñ
 Ü—	‘	•ð ú÷#ð úsQ   ƒD3™ D¹C?	Á1DÂ	+D	Â4*DÃD3Ã?DÄDÄDÄDÄD0Ä0D3Ä3D<c           	      ó�  —  G d„ d«      }| 5  dD ]{  }t        |«      5  t        |ddd«      5 }t        |j                  d«       ~d d d «       t        |ddd¬«      5  	 d d d «       t        t	        j
                  «       |«       d d d «       Œ} 	 d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   ŒGxY w# 1 sw Y   Œ©xY w# 1 sw Y   y xY w)	Nc                   ó   — e Zd Zdd„Zy)ú"test_assert_deallocated.<locals>.Cc                 ó   — || _         y r   ©Úname)ÚselfÚarg0Úarg1r#   s       r   Ú__init__z+test_assert_deallocated.<locals>.C.__init__=   s	   € ØˆD�Ir   N)Úmyname©Ú__name__Ú
__module__Ú__qualname__r'   r   r   r   ÚCr    <   s   „ ô	r   r-   r   r   é   zanother namez
third namer"   )r   r   r	   r#   r   r   )r   r-   Ú
gc_currentÚcs       r   Útest_assert_deallocatedr1   :   sÊ   € ÷ñ ð 
ñ 
9Ø'ò 		9ˆJÜ˜*Ó%ñ 9ä'¨¨1¨a°Ó@ð ÀAÜ  §¡¨Ô8Ø÷ô (¨¨1¨a°lÔCñ Ø÷äœRŸ\™\›^¨ZÔ8÷9ð 9ñ		9÷
9ð 
9÷ð ú÷ð ú÷9ð 9ú÷
9ð 
9úsQ   �B<žB0­B	ÁB0ÁB$	Á&B0Â
B<ÂB!ÂB0Â$B-Â)B0Â0B9Â5B<Â<Cc                  ó¶   —  G d„ d«      } t        j                  t        «      5  t        | «      5 }	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zy)ú(test_assert_deallocated_nodel.<locals>.CN)r*   r+   r,   r   r   r   r-   r4   M   s   „ Ør   r-   ©ÚpytestÚraisesr   r   )r-   Ú_s     r   Útest_assert_deallocated_nodelr9   L   sV   € ÷ñ ä	�‰”~Ó	&ñ ô   Ó"ð 	 aØ÷	÷ð ÷	ð 	ú÷ð úó!   ¤A°A²AÁA	ÁAÁAc                  ó¶   —  G d„ d«      } t        j                  t        «      5  t        | «      5 }~d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú+test_assert_deallocated_circular.<locals>.Cc                 ó   — | | _         y r   ©Ú	_circular©r$   s    r   r'   z4test_assert_deallocated_circular.<locals>.C.__init__[   ó	   € Ø!ˆD�Nr   Nr)   r   r   r   r-   r=   Z   ó   „ ó	"r   r-   r5   )r-   r0   s     r   Ú test_assert_deallocated_circularrD   Y   sV   € ÷"ñ "ô 
�‰”~Ó	&ñ ä Ó"ð 	 aØ÷	÷ð ÷	ð 	ú÷ð ús!   ¤A°A²AÁA	ÁAÁAc                  ó¶   —  G d„ d«      } t        j                  t        «      5  t        | «      5  	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú,test_assert_deallocated_circular2.<locals>.Cc                 ó   — | | _         y r   r?   rA   s    r   r'   z5test_assert_deallocated_circular2.<locals>.C.__init__e   rB   r   Nr)   r   r   r   r-   rG   d   rC   r   r-   r5   )r-   s    r   Ú!test_assert_deallocated_circular2rI   c   sT   € ÷"ñ "ô 
�‰”~Ó	&ñ ä Ó"ñ 	Ø÷	÷ð ÷	ð 	ú÷ð úr:   )Ú__doc__r   Ú	threadingr   Úscipy._lib._gcutilsr   r   r   r   Únumpy.testingr	   r6   Úfixturer   r   r   r1   r9   rD   rI   r   r   r   ú<module>rO      sX   ðñã 	Ý ÷1ó 1õ 'ã ð ‡�ñó ðòò ò.9ò$
òór   