236 lines
6.3 KiB
Factor
236 lines
6.3 KiB
Factor
|
IN: temporary
|
||
|
USING: kernel math test sequences math-contrib ;
|
||
|
|
||
|
! Tests
|
||
|
[ { 0 1 } ] [ { 0 1 0 0 } ptrim ] unit-test
|
||
|
[ { 1 } ] [ { 1 0 0 } ptrim ] unit-test
|
||
|
[ { 0 } ] [ { 0 } ptrim ] unit-test
|
||
|
[ { 3 10 8 } ] [ { 1 2 } { 3 4 } p* ] unit-test
|
||
|
[ { 3 10 8 } ] [ { 3 4 } { 1 2 } p* ] unit-test
|
||
|
[ { 0 0 0 0 0 0 0 0 0 0 } ] [ { 0 0 0 } { 0 0 0 0 0 0 0 0 } p* ] unit-test
|
||
|
[ { 0 1 } ] [ { 0 1 } { 1 } p* ] unit-test
|
||
|
[ { 0 } ] [ { } { } p* ] unit-test
|
||
|
[ { 0 } ] [ { 0 } { } p* ] unit-test
|
||
|
[ { 0 } ] [ { } { 0 } p* ] unit-test
|
||
|
[ { 0 0 0 } ] [ { 0 0 0 } { 0 0 0 } p+ ] unit-test
|
||
|
[ { 0 0 0 } ] [ { 0 0 0 } { 0 0 0 } p- ] unit-test
|
||
|
[ { 0 0 0 } ] [ 4 { 0 0 0 } n*p ] unit-test
|
||
|
[ { 4 8 0 12 } ] [ 4 { 1 2 0 3 } n*p ] unit-test
|
||
|
[ { 1 4 7 6 0 0 0 0 0 } ] [ { 1 2 3 0 0 0 } { 1 2 0 0 } p* ] unit-test
|
||
|
[ V{ 7 -2 1 } V{ -20 0 0 } ] [ { 1 1 1 1 } { 3 1 } p/mod ] unit-test
|
||
|
[ V{ 0 0 } V{ 1 1 } ] [ { 1 1 } { 1 1 1 1 } p/mod ] unit-test
|
||
|
[ V{ 1 0 1 } V{ 0 0 0 } ] [ { 1 1 1 1 } { 1 1 } p/mod ] unit-test
|
||
|
[ V{ 1 0 1 } V{ 0 0 0 } ] [ { 1 1 1 1 } { 1 1 0 0 0 0 0 0 } p/mod ] unit-test
|
||
|
[ V{ 1 0 1 } V{ 0 0 0 } ] [ { 1 1 1 1 0 0 0 0 } { 1 1 0 0 } p/mod ] unit-test
|
||
|
[ V{ 5.0 } V{ 0.0 } ] [ { 10.0 } { 2.0 } p/mod ] unit-test
|
||
|
[ V{ 15/16 } V{ 0 } ] [ { 3/4 } { 4/5 } p/mod ] unit-test
|
||
|
[ t ] [ { 0 1 } { 0 1 0 } p= ] unit-test
|
||
|
[ f ] [ { 0 0 1 } { 0 1 0 } p= ] unit-test
|
||
|
[ t ] [ { 1 1 1 } { 1 1 1 } p= ] unit-test
|
||
|
[ { 0 0 } { 1 1 } ] [ { 1 1 1 1 } { 1 1 } pgcd ] unit-test
|
||
|
|
||
|
[ t ] [ 10 3 nPk 10 factorial 7 factorial / = ] unit-test
|
||
|
[ t ] [ 10 3 nCk 10 factorial 3 factorial 7 factorial * / = ] unit-test
|
||
|
[ { 3 7 9 0 5 2 6 8 1 4 } ] [ { 3 8 5 0 9 4 6 1 7 2 } inverse-permutation ] unit-test
|
||
|
[ { } ] [ { } inverse-permutation ] unit-test
|
||
|
[ 1 ] [ 0 factorial ] unit-test
|
||
|
[ 1 ] [ 1 factorial ] unit-test
|
||
|
[ 2 ] [ 2 factorial ] unit-test
|
||
|
[ 120 ] [ 5 factorial ] unit-test
|
||
|
[ 3628800 ] [ 10 factorial ] unit-test
|
||
|
[ 1 ] [ 1 0 1 factorial-part ] unit-test
|
||
|
[ 2 ] [ 1 1 2 factorial-part ] unit-test
|
||
|
[ 1 ] [ 1 1 1 factorial-part ] unit-test
|
||
|
[ 3628800 ] [ 120 5 10 factorial-part ] unit-test
|
||
|
[ 1 ] [ 2 2 nCk ] unit-test
|
||
|
[ 2 ] [ 2 2 nPk ] unit-test
|
||
|
[ 1 ] [ 2 0 nCk ] unit-test
|
||
|
[ 1 ] [ 2 0 nPk ] unit-test
|
||
|
[ t ] [ -9000000000000000000000000000000000000000000 gamma 1/0. = ] unit-test
|
||
|
[ t ] [ -1.5 gamma 2.363271801207344 almost= ] unit-test
|
||
|
[ t ] [ -1 gamma 1/0. = ] unit-test
|
||
|
[ t ] [ -0.5 gamma -3.544907701811 almost= ] unit-test
|
||
|
[ t ] [ 0 gamma 1/0. = ] unit-test
|
||
|
[ t ] [ .5 gamma 1.7724538 almost= ] unit-test
|
||
|
[ t ] [ 1 gamma 1 almost= ] unit-test
|
||
|
[ t ] [ 2 gamma 1 almost= ] unit-test
|
||
|
[ t ] [ 3 gamma 2 almost= ] unit-test
|
||
|
[ t ] [ 11 gamma 3628800.000015679 almost= ] unit-test
|
||
|
[ t ] [ 90000000000000000000000000000000000000000000 gamma 1/0. = ] unit-test
|
||
|
! some fun identities
|
||
|
[ t ] [ 2/3 gamma 2 pi * 3 sqrt 1/3 gamma * / almost= ] unit-test
|
||
|
[ t ] [ 3/4 gamma 2 sqrt pi * 1/4 gamma / almost= ] unit-test
|
||
|
[ t ] [ 4/5 gamma 2 5 sqrt / 2 + sqrt pi * 1/5 gamma / almost= ] unit-test
|
||
|
[ t ] [ 3/5 gamma 2 2 5 sqrt / - sqrt pi * 2/5 gamma / almost= ] unit-test
|
||
|
[ t ] [ -90000000000000000000000000000000000000000000 gammaln 1/0. = ] unit-test
|
||
|
[ t ] [ -1.5 gammaln 1/0. = ] unit-test
|
||
|
[ t ] [ -1 gammaln 1/0. = ] unit-test
|
||
|
[ t ] [ -0.5 gammaln 1/0. = ] unit-test
|
||
|
! [ t ] [ 0 gammaln 1/0. = ] unit-test
|
||
|
[ t ] [ .5 gammaln 0.57236494 almost= ] unit-test
|
||
|
[ t ] [ 1 gammaln 0 almost= ] unit-test
|
||
|
[ t ] [ 2 gammaln 0 almost= ] unit-test
|
||
|
[ t ] [ 3 gammaln 0.693147180 almost= ] unit-test
|
||
|
[ t ] [ 11 gammaln 15.1044125 almost= ] unit-test
|
||
|
[ t ] [ 9000000000000000000000000000000000000000000 gammaln 8.811521863477754e+44 almost= ] unit-test
|
||
|
|
||
|
[ 1 ] [ qi norm ] unit-test
|
||
|
[ 1 ] [ qj norm ] unit-test
|
||
|
[ 1 ] [ qk norm ] unit-test
|
||
|
[ 1 ] [ q1 norm ] unit-test
|
||
|
[ 0 ] [ q0 norm ] unit-test
|
||
|
[ t ] [ qi qj q* qk = ] unit-test
|
||
|
[ t ] [ qj qk q* qi = ] unit-test
|
||
|
[ t ] [ qk qi q* qj = ] unit-test
|
||
|
[ t ] [ qi qi q* q1 v+ q0 = ] unit-test
|
||
|
[ t ] [ qj qj q* q1 v+ q0 = ] unit-test
|
||
|
[ t ] [ qk qk q* q1 v+ q0 = ] unit-test
|
||
|
[ t ] [ qi qj qk q* q* q1 v+ q0 = ] unit-test
|
||
|
[ t ] [ i qj n*v qk = ] unit-test
|
||
|
[ t ] [ qj i q*n qk v+ q0 = ] unit-test
|
||
|
[ t ] [ qk qj q/ qi = ] unit-test
|
||
|
[ t ] [ qi qk q/ qj = ] unit-test
|
||
|
[ t ] [ qj qi q/ qk = ] unit-test
|
||
|
[ t ] [ qi q>v v>q qi = ] unit-test
|
||
|
[ t ] [ qj q>v v>q qj = ] unit-test
|
||
|
[ t ] [ qk q>v v>q qk = ] unit-test
|
||
|
[ t ] [ 1 c>q q1 = ] unit-test
|
||
|
[ t ] [ i c>q qi = ] unit-test
|
||
|
|
||
|
[
|
||
|
{ { 0 } { 0 } { 0 } }
|
||
|
] [
|
||
|
3 1 zero-matrix
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ { 1 0 0 }
|
||
|
{ 0 1 0 }
|
||
|
{ 0 0 1 } }
|
||
|
] [
|
||
|
3 identity-matrix
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ { 1 0 4 }
|
||
|
{ 0 7 0 }
|
||
|
{ 6 0 3 } }
|
||
|
] [
|
||
|
{ { 1 0 0 }
|
||
|
{ 0 2 0 }
|
||
|
{ 0 0 3 } }
|
||
|
|
||
|
{ { 0 0 4 }
|
||
|
{ 0 5 0 }
|
||
|
{ 6 0 0 } }
|
||
|
|
||
|
m+
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ { 1 0 4 }
|
||
|
{ 0 7 0 }
|
||
|
{ 6 0 3 } }
|
||
|
] [
|
||
|
{ { 1 0 0 }
|
||
|
{ 0 2 0 }
|
||
|
{ 0 0 3 } }
|
||
|
|
||
|
{ { 0 0 -4 }
|
||
|
{ 0 -5 0 }
|
||
|
{ -6 0 0 } }
|
||
|
|
||
|
m-
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ 10 20 30 }
|
||
|
] [
|
||
|
10 { 1 2 3 } n*v
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ 3 4 }
|
||
|
] [
|
||
|
{ { 1 0 }
|
||
|
{ 0 1 } }
|
||
|
|
||
|
{ 3 4 }
|
||
|
|
||
|
m.v
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ 4 3 }
|
||
|
] [
|
||
|
{ { 0 1 }
|
||
|
{ 1 0 } }
|
||
|
|
||
|
{ 3 4 }
|
||
|
|
||
|
m.v
|
||
|
] unit-test
|
||
|
|
||
|
[ { 0 0 1 } ] [ { 1 0 0 } { 0 1 0 } cross ] unit-test
|
||
|
[ { 1 0 0 } ] [ { 0 1 0 } { 0 0 1 } cross ] unit-test
|
||
|
[ { 0 1 0 } ] [ { 0 0 1 } { 1 0 0 } cross ] unit-test
|
||
|
|
||
|
[ { { 1 2 } { 3 4 } { 5 6 } } ]
|
||
|
[ { { 1 2 } { 3 4 } { 5 6 } } flip flip ]
|
||
|
unit-test
|
||
|
|
||
|
[ { { 1 3 5 } { 2 4 6 } } ]
|
||
|
[ { { 1 3 5 } { 2 4 6 } } flip flip ]
|
||
|
unit-test
|
||
|
|
||
|
[ { { 1 3 5 } { 2 4 6 } } ]
|
||
|
[ { { 1 2 } { 3 4 } { 5 6 } } flip ]
|
||
|
unit-test
|
||
|
|
||
|
[
|
||
|
{ { 6 } }
|
||
|
] [
|
||
|
{ { 3 } } { { 2 } } m.
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ { 11 } }
|
||
|
] [
|
||
|
{ { 1 3 } } { { 5 } { 2 } } m.
|
||
|
] unit-test
|
||
|
|
||
|
[
|
||
|
{ { 28 } }
|
||
|
] [
|
||
|
{ { 2 4 6 } }
|
||
|
|
||
|
{ { 1 }
|
||
|
{ 2 }
|
||
|
{ 3 } }
|
||
|
|
||
|
m.
|
||
|
] unit-test
|
||
|
|
||
|
[ 1 ] [ { 1 } mean ] unit-test
|
||
|
[ 3/2 ] [ { 1 2 } mean ] unit-test
|
||
|
[ 0 ] [ { 0 0 0 } geometric-mean ] unit-test
|
||
|
[ t ] [ { 2 2 2 2 } geometric-mean 2.0 almost= ] unit-test
|
||
|
[ 1 ] [ { 1 1 1 } geometric-mean ] unit-test
|
||
|
[ 1/3 ] [ { 1 1 1 } harmonic-mean ] unit-test
|
||
|
|
||
|
[ 0 ] [ { 1 } range ] unit-test
|
||
|
[ 89 ] [ { 1 2 30 90 } range ] unit-test
|
||
|
[ 2 ] [ { 1 2 3 } median ] unit-test
|
||
|
[ 5/2 ] [ { 1 2 3 4 } median ] unit-test
|
||
|
|
||
|
[ 1 ] [ { 1 2 3 } var ] unit-test
|
||
|
[ 1 ] [ { 1 2 3 } std ] unit-test
|
||
|
|
||
|
[ t ] [ { 23.2 33.4 22.5 66.3 44.5 } std 18.1906 - .0001 < ] unit-test
|
||
|
|
||
|
[ 0 ] [ { 1 } var ] unit-test
|
||
|
[ 0 ] [ { 1 } std ] unit-test
|
||
|
|
||
|
[ -2 ] [ 5 7 mod-inv ] unit-test
|
||
|
[ -53889431 ] [ 234829342 342389423843 mod-inv ] unit-test
|