File: //usr/local/lib/python3.7/test/__pycache__/test_math.cpython-37.opt-2.pyc
B
��g�� � @ sp d dl mZmZmZ d dlmZ d dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZdZ
ed�Zed�Zed�ZejjZd\ZZee d kZed
kr�ejd ZneZej�e�p�ejZej� ed�Z!ej� ed�Z"d
d� Z#dd� Z$dd� Z%dd� Z&dd� Z'dd� Z(dd� Z)dd� Z*d)dd �Z+G d!d"� d"e,�Z-G d#d$� d$ej.�Z/G d%d&� d&ej.�Z0d'd(� Z1ed
k�rle1� dS )*� )�run_unittest�verbose�requires_IEEE_754)�supportNg�h㈵��>�nan�infz-inf)g ��7y�ACg�):��@g��7y�AC�__main__zmath_testcases.txtzcmath_testcases.txtc C s. t �dt �d| ��d }|dk r*|d }|S )Nz<qz<dr l )�struct�unpack�pack)�x�n� r �*/usr/local/lib/python3.7/test/test_math.py�to_ulps# s
r c C s� t t| ��} t�| �s t�| �r$| S t�dt�d| ��d }t�dt�d|d ��d }t�|�r�t�dt�d|d ��d }| | S || S d S )Nz<qz<dr � )�abs�float�math�isnan�isinfr r
r )r r
Zx_nextZx_prevr r r �ulp4 s
r c C s | rdt | | d @ � S dS )Nr r )�count_set_bits)r
r r r r a s r c C sD || d? }|sdS |dkr | S | | dB }t | |�t ||� S d S )Nr )�partial_product)�start�stopZ
numfactorsZmidr r r r e s r c C sd d }}xJt t| �� ��D ]6}|t| |d ? d dB | |? d dB �9 }||9 }qW || t| � >