
    sg                     Z    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 Zd Zd Zy	)
    )SRational)schur_partitionSchurNumber)_randint)raises)symbolsc                 6    | D ]  }| D ]  }||z   | v du rJ   y)z`
    Checks if subset is sum-free(There are no x,y,z in the subset such that
    x + y = z)
    FN )subsetijs      ^/var/www/html/venv/lib/python3.12/site-packages/sympy/combinatorics/tests/test_schur_number.py_sum_free_testr      s8    
  . 	.AEVO---	..    c                     t        t        d        t        t        d        t        t        d        t        d      ddggk(  sJ t        d      } t	        d      D ]b  } | dd      }t        |      }d}g }|D ]<  }t        |       	 |t        |      z  }|D ]  }||v d	u sJ |j                  |        > ||k(  rbJ  t        d
      t        t        fd       y )Nc                  4    t        t        j                        S N)r   r   Infinityr   r   r   <lambda>z&test_schur_partition.<locals>.<lambda>   s    qzz: r   c                      t        d      S )Nr   r   r   r   r   z&test_schur_partition.<locals>.<lambda>   s    r2 r   c                      t        d      S )Nr   r   r   r   r   r   z&test_schur_partition.<locals>.<lambda>   s    q1 r         i     r   Fxc                      t               S r   r   )r   s   r   r   z&test_schur_partition.<locals>.<lambda>*   s    q1 r   )	r   
ValueErrorr   r   ranger   lenappendr	   )	random_number_generator_nresulttnumbersitemlr   s	           @r   test_schur_partitionr,      s    
::;
:23
:1211a&)))&tn1X #At, # 	"D4  TNA "W...q!"	" Avv  	A
:12r   c                     dddddd} | D ]  }t        |      | |   k(  rJ  t        t        j                        t        j                  k(  sJ t        d      dk(  sJ t        t        d        t        d	      }t        |      j                         d
|z  dz  t        dd      z
  k(  sJ t        d      j                         dk(  sJ y )Nr         ,      )r   r      r.   r   r   c                      t        d      S )Ng      ?)r   r   r   r   r   z#test_schur_number.<locals>.<lambda>3   s    {3/ r   r&   r2   r      i  )r   r   r   r   r    r	   lower_boundr   )first_known_schur_numberskr&   s      r   test_schur_numberr8   ,   s    $%!rc B& >1~!:1!====> qzz"ajj000q>Q
:/0Aq>%%'1a46HQN+BBBBq>%%'4///r   N)
sympy.corer   r    sympy.combinatorics.schur_numberr   r   sympy.core.randomr   sympy.testing.pytestr   sympy.core.symbolr	   r   r,   r8   r   r   r   <module>r>      s#    " I & ' %.340r   