<s> from sympy import binomial_coefficients , binomial_coefficients_list , multinomial_coefficients <EOL> from sympy . core . compatibility import range <EOL> from sympy . ntheory . multinomial import multinomial_coefficients_iterator <EOL> def test_binomial_coefficients_list ( ) : <EOL> assert binomial_coefficients_list ( <NUM_LIT:0> ) == [ <NUM_LIT:1> ] <EOL> assert binomial_coefficients_list ( <NUM_LIT:1> ) == [ <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> assert binomial_coefficients_list ( <NUM_LIT:2> ) == [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:1> ] <EOL> assert binomial_coefficients_list ( <NUM_LIT:3> ) == [ <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:1> ] <EOL> assert binomial_coefficients_list ( <NUM_LIT:4> ) == [ <NUM_LIT:1> , <NUM_LIT:4> , <NUM_LIT:6> , <NUM_LIT:4> , <NUM_LIT:1> ] <EOL> assert binomial_coefficients_list ( <NUM_LIT:5> ) == [ <NUM_LIT:1> , <NUM_LIT:5> , <NUM_LIT:10> , <NUM_LIT:10> , <NUM_LIT:5> , <NUM_LIT:1> ] <EOL> assert binomial_coefficients_list ( <NUM_LIT:6> ) == [ <NUM_LIT:1> , <NUM_LIT:6> , <NUM_LIT:15> , <NUM_LIT:20> , <NUM_LIT:15> , <NUM_LIT:6> , <NUM_LIT:1> ] <EOL> def test_binomial_coefficients ( ) : <EOL> for n in range ( <NUM_LIT:15> ) : <EOL> c = binomial_coefficients ( n ) <EOL> l = [ c [ k ] for k in sorted ( c ) ] <EOL> assert l == binomial_coefficients_list ( n ) <EOL> def test_multinomial_coefficients ( ) : <EOL> assert multinomial_coefficients ( <NUM_LIT:1> , <NUM_LIT:1> ) == { ( <NUM_LIT:1> , ) : <NUM_LIT:1> } <EOL> assert multinomial_coefficients ( <NUM_LIT:1> , <NUM_LIT:2> ) == { ( <NUM_LIT:2> , ) : <NUM_LIT:1> } <EOL> assert multinomial_coefficients ( <NUM_LIT:1> , <NUM_LIT:3> ) == { ( <NUM_LIT:3> , ) : <NUM_LIT:1> } <EOL> assert multinomial_coefficients ( <NUM_LIT:2> , <NUM_LIT:0> ) == { ( <NUM_LIT:0> , <NUM_LIT:0> ) : <NUM_LIT:1> } <EOL> assert multinomial_coefficients ( <NUM_LIT:2> , <NUM_LIT:1> ) == { ( <NUM_LIT:0> , <NUM_LIT:1> ) : <NUM_LIT:1> , ( <NUM_LIT:1> , <NUM_LIT:0> ) : <NUM_LIT:1> } <EOL> assert multinomial_coefficients ( <NUM_LIT:2> , <NUM_LIT:2> ) == { ( <NUM_LIT:2> , <NUM_LIT:0> ) : <NUM_LIT:1> , ( <NUM_LIT:0> , <NUM_LIT:2> ) : <NUM_LIT:1> , ( <NUM_LIT:1> , <NUM_LIT:1> ) : <NUM_LIT:2> } <EOL> assert multinomial_coefficients ( <NUM_LIT:2> , <NUM_LIT:3> ) == { ( <NUM_LIT:3> , <NUM_LIT:0> ) : <NUM_LIT:1> , ( <NUM_LIT:1> , <NUM_LIT:2> ) : <NUM_LIT:3> , ( <NUM_LIT:0> , <NUM_LIT:3> ) : <NUM_LIT:1> , <EOL> ( <NUM_LIT:2> , <NUM_LIT:1> ) : <NUM_LIT:3> } <EOL> assert multinomial_coefficients ( <NUM_LIT:3> , <NUM_LIT:1> ) == { ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ) : <NUM_LIT:1> , ( <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ) : <NUM_LIT:1> , <EOL> ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ) : <NUM_LIT:1> } <EOL> assert multinomial_coefficients ( <NUM_LIT:3> , <NUM_LIT:2> ) == { ( <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> ) : <NUM_LIT:2> , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> ) : <NUM_LIT:1> , <EOL> ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0> ) : <NUM_LIT:2> , ( <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ) : <NUM_LIT:1> , ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ) : <NUM_LIT:2> , ( <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> ) : <NUM_LIT:1> } <EOL> mc = multinomial_coefficients ( <NUM_LIT:3> , <NUM_LIT:3> ) <EOL> assert mc == { ( <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> ) : <NUM_LIT:3> , ( <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ) : <NUM_LIT:1> , <EOL> ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:2> ) : <NUM_LIT:3> , ( <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:1> ) : <NUM_LIT:3> , ( <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ) : <NUM_LIT:3> , ( <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:0> ) : <NUM_LIT:1> , <EOL> ( <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:1> ) : <NUM_LIT:3> , ( <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:0> ) : <NUM_LIT:3> , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) : <NUM_LIT:6> , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ) : <NUM_LIT:1> } <EOL> assert dict ( multinomial_coefficients_iterator ( <NUM_LIT:2> , <NUM_LIT:0> ) ) == { ( <NUM_LIT:0> , <NUM_LIT:0> ) : <NUM_LIT:1> } <EOL> assert dict ( <EOL> multinomial_coefficients_iterator ( <NUM_LIT:2> , <NUM_LIT:1> ) ) == { ( <NUM_LIT:0> , <NUM_LIT:1> ) : <NUM_LIT:1> , ( <NUM_LIT:1> , <NUM_LIT:0> ) : <NUM_LIT:1> } <EOL> assert dict ( multinomial_coefficients_iterator ( <NUM_LIT:2> , <NUM_LIT:2> ) ) == { ( <NUM_LIT:2> , <NUM_LIT:0> ) : <NUM_LIT:1> , ( <NUM_LIT:0> , <NUM_LIT:2> ) : <NUM_LIT:1> , ( <NUM_LIT:1> , <NUM_LIT:1> ) : <NUM_LIT:2> } <EOL> assert dict ( multinomial_coefficients_iterator ( <NUM_LIT:3> , <NUM_LIT:3> ) ) == mc <EOL> it = multinomial_coefficients_iterator ( <NUM_LIT:7> , <NUM_LIT:2> ) <EOL> assert [ next ( it ) for i in range ( <NUM_LIT:4> ) ] == [ ( ( <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) , <NUM_LIT:1> ) , ( ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) , <NUM_LIT:2> ) , <EOL> ( ( <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) , <NUM_LIT:1> ) , ( ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) , <NUM_LIT:2> ) ] </s>
