�
H�gEr � �� � d Z ddlmZ ddlmZmZ d� Z G d� de� � ZdJd�Z dKd�Z
d
� Zd� Zd� Z
d� Zd� ddfd� ddfd� ddfd� ddfd� ddfd� ddfd� ddfd � d!dfd"� d#dfd$� d%dfd&� d'dfd(� d)dfd*� d+dfd,� d-dfd.� d/dfd0� d1dfd2� d3dfd4� d5dfd6� d7dfd8� d9dfd:� d;dfd<� d=dfd>� d?dfd@� dAdfdB� dCdfdD� dEdfdF� dGdfgZg ddd
d
fdH�Ze e_ e
e_
ee_ edIk rddlZ ej � � dS dS )Lzs
Implements the PSLQ algorithm for integer relation detection,
and derivative algorithms for constant recognition.
� )�xrange)� int_types�
sqrt_fixedc �$ � | d|dz
z z |z |z S �Nr � )�x�precs �e/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/mpmath/identification.py�round_fixedr
s � �
�!�d�1�f�+�
�4�'�D�0�0� c � � e Zd ZdS )�IdentificationMethodsN)�__name__�
__module__�__qualname__r r
r r r
s � � � � � ��Dr
r N�� �d Fc
�b � �"�#�$� t |� � }|dk rt d� � �� j �$�$dk rt d� � �|r&�$t d|� � z dk rt d� � t �$dz � � }|�� � d� � | z }n� � |� � }d }�$|z
�$|r't d
�$� � |� � fz � � � � |�$� � }|sJ �dg� �$fd�|D � � z }t d� |d
d� D � � � � } | st d� � �| |dz k r|rt d� � dS t d�$z dz �$� � }
i }i �"i }t d
|d
z � � D ]4�#t d
|d
z � � D ]}
�#|
k �$z x|�#|
f<