shell bypass 403
o
`b� � @ s� d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dlm Z m
Z
mZ d dlZe
d�Ze
d�ZdZG d d
� d
e j�ZedkrGe �� dS dS )� N)�support)�VALID_UNDERSCORE_LITERALS�INVALID_UNDERSCORE_LITERALS)�random)�atan2�isnan�copysign�inf�nan))� �? �?� )r � )r r )� �?r )� r c @ s< e Zd Zdd� ZdEdd�Zdd� ZdEdd �Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zejd*d+� �Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zejd4d5� �Zd6d7� Zd8d9� Z ejd:d;� �Z!ejd<d=� �Z"ejd>d?� �Z#ejd@dA� �Z$dBdC� Z%dDS )F�ComplexTestc C s� t |t�r4t |t�r tj�| |j|j� tj�| |j|j� d S tj�| |j|� tj�| |jd� d S t |t�rMtj�| ||j� tj�| d|j� d S tj�| ||� d S )Nr
)�
isinstance�complex�unittest�TestCase�assertAlmostEqual�real�imag��self�a�b� r �:/usr/local/python-3.10/lib/python3.10/test/test_complex.pyr s
zComplexTest.assertAlmostEqual��&�.>c C s` t |�t |�kr
||}}|dkrt |�|k S |dkr!t |�|k S | �t || | �|k � dS )z+Return true iff floats x and y "are close".r N)�abs�
assertTrue�r �x�yZepsr r r �assertCloseAbs( s
zComplexTest.assertCloseAbsc C st d}t |�s
t |�rt |�rt |�rdS n||kr/|dkrdS td|�td|�kr+dS |d7 }| �|�||�� dS )a# assert that floats x and y are identical, in the sense that:
(1) both x and y are nans, or
(2) both x and y are infinities, with the same sign, or
(3) both x and y are zeros, with the same sign, or
(4) x and y are both finite and nonzero, and x == y
z&floats {!r} and {!r} are not identicalNr
r z: zeros have different signs)r r �fail�format)r r"