File: //usr/local/lib/python3.10/dist-packages/numpy/testing/_private/__pycache__/utils.cpython-310.pyc
o
���g�L � @ sB d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z m
Z
ddlZddlZddl
mZmZ ddlmZ ddlmZ ddlZddlZddlZddlmZmZmZmZmZmZmZmZ ddlm Z m!Z!m"Z" ddl#Zdd l$m%Z% g d
�Z&G dd� de'�Z(e(Z)dZ*e�+� d
v Z,ej-j.dkZ/e0ed�Z1e2edd�duo�e1 Z3ej4j5j6Z7dd� Z8dZ9e�:d�p�dZ;de;v r�dZ9d�dd�Z<ej.dkr� d�dd�Z=d�dd �Z>nejdd!� d"kr�d#e�?� � d$�fd%d �Z>nd&d � Z>ejdd!� d"k�rd#e�?� � d$�g fd'd(�Z@ng fd)d(�Z@ * ,d�d-d.�ZAd�d/d0�ZBd1d2� ZCe�D� d�d4d5��ZEe�D� d�d6d7��ZFe�D� d�dd9�d:d;��ZGd�dd9�d<d=�ZHe�D� d�d>d?��ZId�d@dA�ZJdBdC� ZKdDdE� ZLd�dFdG�ZMdHdI� ZNeN� ZOddlPZPG dJdK� dKePjQ�ZReRdL�ZSdMdN� ZTdOdP� ZUd�dQdR�ZVd�dTdU�ZWdVdW� ZX d�dYdZ�ZYd�d[d\�ZZd�d]d^�Z[d�d_d`�Z\dadb� Z]dcdd� Z^ej_d�dedf��Z`dgdh� Zaej_d�didj��Zbdkdl� Zcedmdnfdodp�ZdG dqdr� dre'�Zeej_dsdt� �Zfej_dudv� �ZgG dwdx� dxejh�ZiG dydz� dz�Zjej_d�d{d|��Zkd}d~� Zldd�� Zmd�d�� Znd�d�� Zod�d�� Zpd�d�� Zqd�d�� Zrd�d�� Zses� Ztd�d� ZudS )�z*
Utility function to facilitate testing.
� N)�partial�wraps)�mkdtemp�mkstemp)�SkipTest)�WarningMessage)�intp�float32�empty�arange�
array_repr�ndarray�isnat�array)�isfinite�isnan�isinf)�StringIO)*�assert_equal�assert_almost_equal�assert_approx_equal�assert_array_equal�assert_array_less�assert_string_equal�assert_array_almost_equal�
assert_raises�
build_err_msg�decorate_methods�jiffies�memusage�print_assert_equal�rundocs� runstring�verbose�measure�assert_�assert_array_almost_equal_nulp�assert_raises_regex�assert_array_max_ulp�assert_warns�assert_no_warnings�assert_allclose�IgnoreException�clear_and_catch_warningsr �KnownFailureException�temppath�tempdir�IS_PYPY�HAS_REFCOUNT�IS_WASM�suppress_warnings�assert_array_compare�assert_no_gc_cycles�break_cycles�HAS_LAPACK64� IS_PYSTON�_OLD_PROMOTION�IS_MUSL�
_SUPPORTS_SVEc @ � e Zd ZdZdS )r. z<Raise this exception to mark a test as a known failing test.N��__name__�
__module__�__qualname__�__doc__� rC rC �G/usr/local/lib/python3.10/dist-packages/numpy/testing/_private/utils.pyr. - � r. )�wasm32�wasm64�pypy�pyston_version_info�getrefcountc C s t �� dkS )N�legacy)�np�_get_promotion_staterC rC rC rD �<lambda>; s rN F�
HOST_GNU_TYPE� �muslTc C s: d}| sz|� }W t|�� t y |}Y t|��w dS )aI
Assert that works in release mode.
Accepts callable msg to allow deferring evaluation until failure.
The Python built-in ``assert`` does not work when executing code in
optimized mode (the ``-O`` flag) - no byte-code is generated for it.
For documentation on usage, refer to the Python documentation.
TN)� TypeError�AssertionError)�val�msg�__tracebackhide__�smsgrC rC rD r% G s ���r% �nt���c C s� dd l }|d u r|j}|�|| |d ||f�}|�� }z(|�||�} z|�|� |�| |�\}
}|W |�| � W |�|� S |�| � w |�|� w )Nr ) �win32pdh�PDH_FMT_LONG�MakeCounterPath� OpenQuery�
AddCounter�CollectQueryData�GetFormattedCounterValue�
RemoveCounter�
CloseQuery)�object�counter�instance�inum�format�machinerZ �path�hq�hc�typerT rC rC rD �GetPerformanceAttributes] s"