
    \h                     z    S SK JrJr  S SKJrJrJrJrJrJ	r	  S SK
Jr  S SKJr  S SKJrJr  S rS rS rS	 rS
 rg)    )ordereddefault_sort_key)	PartitionIntegerPartitionRGS_enum
RGS_unrankRGS_rankrandom_integer_partition)raises)
partitions)Set	FiniteSetc                  
   [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        / SQSS/5      [        SS// SQ5      :X  d   e[        1 SkSS15      [        / SQSS/5      :X  d   e[        S	S
S5      n [        SS5      n[        X5      [        / SQSS/5      :X  d   e[        X15      [        [        X5      5      :X  d   e[        X15      [        X5      :w  d   eg )Nc                      [        / SQ5      $ )N)   r      r        a/var/www/auris/envauris/lib/python3.13/site-packages/sympy/combinatorics/tests/test_partitions.py<lambda>,test_partition_constructor.<locals>.<lambda>   s	    y3r   c                  "    [        / SQ/ SQ5      $ )Nr   r      )r   r      r   r   r   r   r   r      s    yI>r   c                      [        SSS5      $ )Nr   r   r   r   r   r   r   r   r      s    yAq1r   c                  6    [        [        [        S5      5      6 $ Nr   )r   listranger   r   r   r   r      s    y$uQx.9r   r   r      >   r   r   r   r   r   r   )r   
ValueErrorr   r   abs     r   test_partition_constructorr'   
   s    
:34
:>?
:12
:9:YA'9aVY+GGGGYA'9YA+GGGG!QA!QAQ?i	Aq6::::aV	)A/ ::::aV	!///r   c                     SSK Jn   [        / SQS/5      n[        SS/SS/5      n[        U /5      nXU/nUR                  [        S9  XCX/:X  d   eUR                  S	 S9  XCX/:X  d   eX:H  S
L d   eX::  d   eX:  S
L d   eX:w  d   eX:  d   eUS-   R
                  SS/SS//:X  d   eUS-
  R
                  / SQS//:X  d   eUS-
  R
                  / SQ/:X  d   eUS-   R
                  / SQS//:X  d   eUS-   R
                  SS/S/S//:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eg )Nr   )xr   r   r   r   r   )keyc                     [        U SS9$ )Nzrev-lex)order)r   )ws    r   r    test_partition.<locals>.<lambda>"   s    )!9=r   F)r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )	sympy.abcr)   r   sortr   	partitionrankRGS)r)   r%   r&   cls        r   test_partitionr6      s   )aS!A1a&1a&!A1#A	
q	AFFF A	>>FF=F>A	>>Fu6M6Ee6M65L5E!Q!Q 0000EQC 0000E...EQC 0000E!Q!qc 222266Q;;66Q;;55L   55L   r   c                     [        [        S 5        [        [        S 5        [        S/ SQ5      n U R                  5       n[        / SQ5      n[        SSSSS.5      nX:X  d   eU R                  UR                  :X  d   eU R
                  / SQ:X  d   eX:H  S	L d   eX::  d   eX:  S	L d   eX:w  d   e[        SS
5       H  n[        5       n[        5       n[        U/5      n [        U5       Vs1 s H  n[        U5      iM     nn[        U5      n	[        U	5       H9  n
UR                  U 5        U R                  5       n [        X@R                  5        M;     [        U	5       H9  n
UR                  U 5        U R                  5       n [        X@R                  5        M;     XX:X  d   eXh:X  a  M   e   [        / SQ5      R                  5       S:X  d   e[        / SQ5      R                  S5      S:X  d   e[        [        / SQ5      5      S:X  d   e[        / SQ5      R                  / SQ:X  d   e[        [        S 5        [        S5      S/:X  d   e[        S/ SQS9/ SQ:X  d   eg s  snf )Nc                  <    [        [        [        S5      5      5      $ r   r   r    r!   r   r   r   r   (test_integer_partition.<locals>.<lambda>;   s    /U1X?r   c            	      @    [        S[        [        SS5      5      5      $ )Nd   r   r   r9   r   r   r   r   r:   =   s    /T%1+5FGr      )r   r   r   r   r   )r   r   r   )r   r   r   r   F   r   z###
##
#)r   r   r   ozooo
o
oz	[3, 1, 1])r   r   r   c                      [        S5      $ )N)r
   r   r   r   r   r:   `   s
    7;r   
   )r   r   r   r   r"   r   )seed)r"   r   r   r   r   )r   r#   r   next_lexinteger	conjugater!   setr   lenaddr1   prev_lex
as_ferrersstrr
   )r%   r&   r4   dinextprevpansnjs              r   test_integer_partitionrU   9   s*   
:?@
:GHI&A	

A#AaA./A6M699		!!!;;,&&&Fu6M6Ee6M61b\uuaS!,6qM:Mq"M:HqAHHQK

AQ,  qAHHQK

AQ,  {{{{ " I&113|CCCI&11#6+EEE	*+{:::I&00I===
:;<#A&1#---#B-?  ! ! !) ;s   1I+c                  x   [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        S5      S:X  d   e[        S5      S:X  d   e[        S	S
5      / SQ:X  d   e[        SS5      / SQ:X  d   e[	        [        SS5      5      S:X  d   eg )Nc                      [        SS5      $ )NrA   r   r   r   r   r   r   test_rgs.<locals>.<lambda>g       z"a0r   c                      [        SS5      $ )Nr   r   rX   r   r   r   r   rY   h   s    z!Q/r   c                      [        SS5      $ )NrB   r   rX   r   r   r   r   rY   i   rZ   r   c                  x    [         R                  " [        [        S5      5      [        [        S5      5      5      $ )Nr   r   r   from_rgsr    r!   r   r   r   r   rY   k   s!    y11$uQx.$uQx.Qr   c                  z    [         R                  " [        [        SS5      5      [        [        S5      5      5      $ )Nr   r   r   r^   r   r   r   r   rY   l   s%    y11$uQ{2CT%PQ(^Tr   rA   r   r      r"   )r   r   r   r   r         )r   r   r   r   r   r   r   r   r   r   r   r   r   r   (   r<   )r   r#   r   r   r	   r   r   r   test_rgsre   f   s    
:01
:/0
:01
:QR
:TUB<1A;!a...b"!KKKKJr3'(B...r   c                      [        / SQS/5      n [        SS/SS/5      n[        [        X/[        R                  5      5      (       d   eg )Nr   r   r   r   r   )r   r    r   r   _infimum_keyr$   s     r   test_ordered_partition_9608rh   s   sD    )aS!A1a&1a&!As//01111r   N)sympy.core.sortingr   r   sympy.combinatorics.partitionsr   r   r   r   r	   r
   sympy.testing.pytestr   sympy.utilities.iterablesr   sympy.sets.setsr   r   r'   r6   rU   re   rh   r   r   r   <module>rn      s:    8F F ( 0 *0!@*!Z/2r   