File: //usr/local/lib/python3.10/test/__pycache__/test_statistics.cpython-310.pyc
o
�i�� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlm
Z
ddlmZ ddlmZ ddlmZ ddlZdd� Zd d
� Zdd� Zd�dd�ZG dd� d�Zejddgd�Zejddgd�ZG dd� dej�ZG dd� dej�ZG dd� dej�ZG dd� dej�Z G dd � d ej�Z!G d!d"� d"ej�Z"G d#d$� d$ej�Z#G d%d&� d&ej�Z$G d'd(� d(ej�Z%G d)d*� d*ej�Z&G d+d,� d,ej�Z'G d-d.� d.ej�Z(G d/d0� d0ej�Z)G d1d2� d2ej�Z*G d3d4� d4ej�Z+G d5d6� d6ej�Z,G d7d8� d8ej�Z-G d9d:� d:ej�Z.G d;d<� d<ej�Z/G d=d>� d>ej�Z0G d?d@� d@ej�Z1G dAdB� dB�Z2G dCdD� dD�Z3G dEdF� dFe2e3�Z4G dGdH� dHe�Z5G dIdJ� dJe�Z6G dKdL� dLe�Z7G dMdN� dNe2�Z8G dOdP� dPee8e3�Z9G dQdR� dRee8e3�Z:G dSdT� dTee8�Z;G dUdV� dVee3�Z<G dWdX� dXe;e3�Z=G dYdZ� dZe;e3�Z>G d[d\� d\e;�Z?G d]d^� d^ee8e3�Z@G d_d`� d`ej�ZAG dadb� dbej�ZBG dcdd� dde2�ZCG dedf� dfeCee3�ZDG dgdh� dheCee3�ZEG didj� djeCe�ZFG dkdl� dleCe�ZGG dmdn� dnej�ZHG dodp� dpej�ZIG dqdr� drej�ZJG dsdt� dtej�ZKG dudv� dvej�ZLG dwdx� dx�ZMG dydz� dzejeM�ZNe�Oed{�G d|d}� d}ejeM��ZPd~d� ZQeRd�k�rMe�S� dS dS )�z_Test suite for statistics module, including helper NumericTestCase and
approx_equal function.
� N)�support)�
import_helper)�Decimal��Fractionc C s t �d| �S )z:Return -1.0 for negatives, including -0.0, otherwise +1.0.� )�math�copysign��x� r �1/usr/local/lib/python3.10/test/test_statistics.py�sign s r c C sZ t | �t |�ur
dS t| t�rt�| �ot�|�S | �� d }|�� d }||ko,|dv S )a� Return True if a and b are both the same kind of NAN.
>>> _nan_equal(Decimal('NAN'), Decimal('NAN'))
True
>>> _nan_equal(Decimal('sNAN'), Decimal('sNAN'))
True
>>> _nan_equal(Decimal('NAN'), Decimal('sNAN'))
False
>>> _nan_equal(Decimal(42), Decimal('NAN'))
False
>>> _nan_equal(float('NAN'), float('NAN'))
True
>>> _nan_equal(float('NAN'), 0.5)
False
>>> _nan_equal(float('NAN'), Decimal('NAN'))
False
NAN payloads are not compared.
F� )�n�N)�type�
isinstance�floatr �isnanZas_tuple)�a�bZaexpZbexpr r r
�
_nan_equal"