[Home]
[
prev
] [
up
] [
next
] ((test/poly/distpoly.as))
33
Test Basic Polynomial Functions
In this file we test
src/poly/distpoly.as
.nw
.
749
⟨
*
13
⟩
+
≡
⊲
743
753
⊳
-------------------------------------------------------------------
----
----
Combinat
----
Copyright
(C)
Ralf
Hemmecke
<ralf@hemmecke.de>
----
svn
co
svn://svn.risc.uni-linz.ac.at/hemmecke/combinat/
----
-------------------------------------------------------------------
#assert
DontNeedLibraryTestCases
#include
"testcases"
TestSparseDistributedPolynomial
:
TestCaseType
with
{
#include
"distpoly.signatures.as"
}
==
add
{
import
from
TestCaseTools;
macro
{
T
==
SparseIndexedPowerProduct
(
I
,
I
);
P
==
SparseDistributedPolynomial
(
Q
,
I
,
T);
}
import
from
Z
,
I
,
T,
Q
,
P;
⟨
test zero
734a
⟩
⟨
test one
742a
⟩
⟨
test plus
751c
⟩
⟨
test times
742b
⟩
}
Defines:
TestSparseDistributedPolynomial
, never used.
Uses
I
47
,
Q
47
,
SparseDistributedPolynomial
526
,
SparseIndexedPowerProduct
506
,
and
Z
47
.
750a
⟨
test zero
734a
⟩
+
≡
(
733
749
)
⊲
734c
750b
⊳
testZero1():
()
==
{
p:
P
:=
0;
assertTrue(zero?
p);
}
750b
⟨
test zero
734a
⟩
+
≡
(
733
749
)
⊲
750a
750c
⊳
testZero2():
()
==
{
p:
P
:=
1;
q:
Q
:=
0;
assertTrue(zero?(q*p));
}
Uses
Q
47
.
750c
⟨
test zero
734a
⟩
+
≡
(
733
749
)
⊲
750b
751a
⊳
testZero3():
()
==
{
p:
P
:=
1;
z:
Z
:=
0;
assertTrue(z=0);
if
P
has
with
{*:(
Z
,
%)->%}
then
assertTrue(zero?(z*p));
}
Uses
Z
47
.
751a
⟨
test zero
734a
⟩
+
≡
(
733
749
)
⊲
750c
testZero4():
()
==
{
a:
SparseDistributedPolynomial
(P,
I
,
T)
:=
1;
p:
P
:=
0;
assertTrue(zero?(p*a));
}
Uses
I
47
and
SparseDistributedPolynomial
526
.
751b
⟨
test one
742a
⟩
+
≡
(
733
743
749
)
⊲
744a
testOne1():
()
==
{
q:
Q
:=
1;
p:
P
:=
q
::
P;
assertEquals(P,
1,
p);
assertTrue(one?
q);
}
Uses
Q
47
.
751c
⟨
test plus
751c
⟩
≡
(
749
)
testPlus1():
()
==
{
macro
{
V
==
CycleIndexVariable
;
S
==
SparseIndexedPowerProduct
(V,
I
);
R
==
SparseDistributedPolynomial
(
Q
,
V,
S);
}
import
from
V,
S;
r1:
R
:=
power(1
::
V,
1)
::
R;
r2:
R
:=
power(2
::
V,
1)
::
R;
two:
R
:=
1
+
1;
r3:
R
:=
r1
+
r1;
r4:
R
:=
two*r1;
assertEquals(R,
two*r1,
r1
+
r1);
assertEquals(R,
two*r2,
r2
+
r2);
assertEquals(R,
r1+r2+r1,
r2
+
two*r1);
}
Uses
CycleIndexVariable
329
,
I
47
,
Q
47
,
SparseDistributedPolynomial
526
,
and
SparseIndexedPowerProduct
506
.
752
⟨
test times
742b
⟩
+
≡
(
733
743
749
)
⊲
745a
testTimes1():
()
==
{
p1:
P
:=
power(1,
1)
::
P;
p2:
P
:=
power(2,
1)
::
P;
p3:
P
:=
power(3,
1)
::
P;
p:
P
:=
(4/1)
*p1*p1*p2
+
(-3/1)
*p2*p3
+
1;
q:
P
:=
((4/1)::P)*p1*p1*p2
+
((-3/1)::P)*p2*p3
+
1;
r:
P
:=
(4/1)*p1*p1*p2
-
(3/1)*p2*p3
+
1;
assertEquals(P,
p,
q);
assertEquals(P,
p,
r);
}
[Home]
[
prev
] [
up
] [
next
] ((test/poly/distpoly.as))