U
    L?h¿  ã                   @   s`   d dl mZmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZ dd„ Zdd	„ Zd
d„ ZdS )é    )ÚSÚRational)Úschur_partitionÚSchurNumber)Ú_randint)Úraises)Úsymbolsc                 C   s,   | D ]"}| D ]}|| | kdkst ‚qqdS )z`
    Checks if subset is sum-free(There are no x,y,z in the subset such that
    x + y = z)
    FN)ÚAssertionError)ZsubsetÚiÚj© r   ú]/var/www/html/venv/lib/python3.8/site-packages/sympy/combinatorics/tests/test_schur_number.pyÚ_sum_free_test   s    r   c                     sÜ   t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ tdƒddggks@t‚tdƒ} tdƒD ]l}| ddƒ}t|ƒ}d	}g }|D ]<}t|ƒ |t|ƒ7 }|D ]}||kd
ks¢t‚| |¡ qŽqr||ksPt‚qPt	dƒ‰ t t‡ fdd„ƒ d S )Nc                   S   s
   t tjƒS ©N)r   r   ÚInfinityr   r   r   r   Ú<lambda>   ó    z&test_schur_partition.<locals>.<lambda>c                   S   s   t dƒS )Néÿÿÿÿ©r   r   r   r   r   r      r   c                   S   s   t dƒS )Nr   r   r   r   r   r   r      r   é   é   iè  é   r   FÚxc                      s   t ˆ ƒS r   r   r   ©r   r   r   r   *   r   )
r   Ú
ValueErrorr   r	   r   Úranger   ÚlenÚappendr   )Zrandom_number_generatorÚ_ÚnÚresultÚtÚnumbersÚitemÚlr   r   r   Útest_schur_partition   s&    
r%   c                  C   s¦   ddddddœ} | D ]}t |ƒ| | kst‚qt tjƒtjksBt‚t dƒdksRt‚ttdd	„ ƒ td
ƒ}t |ƒ ¡ d| d tddƒ ksŽt‚t dƒ ¡ dks¢t‚d S )Nr   é   é   é,   é    )r   r   é   r&   r   r   c                   S   s   t dƒS )Ng      à?)r   r   r   r   r   r   3   r   z#test_schur_number.<locals>.<lambda>r   r*   r   é   i¯  )	r   r	   r   r   r   r   r   Úlower_boundr   )Zfirst_known_schur_numbersÚkr   r   r   r   Útest_schur_number,   s    &r.   N)Z
sympy.corer   r   Z sympy.combinatorics.schur_numberr   r   Zsympy.core.randomr   Zsympy.testing.pytestr   Zsympy.core.symbolr   r   r%   r.   r   r   r   r   Ú<module>   s   
