|
D.14.4.18 disp_zdd
Procedure from library polybori.lib (see polybori_lib).
- Usage:
- disp_zdd(ss); zero-supressed decision diagram ss
- Return:
- string containing visualization of ss
- Note:
- the resulting string is the visualization of the polynomial that corresponds
to ss, but with a additional structure that comes from the zdd. Every reached else-
Branch induces a new line in the string.
Example:
| LIB "polybori.lib";
==> // ** args must be 1 in system("install", "bideal", "ideal", bid\
eal2ideal, 4);
ring r1=0,(x,y,z),Dp;
poly f1=xyz+xy+xz+yz+y+z+x+1;
zdd s1=f1;
disp_zdd(s1);
==> x1(x2(x3+1)+
==> x3+1)+
==> x2(x3+1)+
==> x3+1
ring r2=0,x(1..6),Dp;
poly f2=x(1)+x(2)+x(3)+x(5)^2+x(6);
zdd s2=f2;
disp_zdd(s2);
==> x1+
==> x2+
==> x3+
==> x5+
==> x6
ring r4=0,x(1..6),Dp;
poly f2=x(1)+1;
zdd s2=f2;
==> // ** redefining s2 (zdd s2=f2;)
disp_zdd(s2);
==> x1+1
ring r2=0,x(1..6),Dp;
==> // ** redefining r2 (ring r2=0,x(1..6),Dp;)
poly f2=x(1)*x(2)*(x(3)-x(5)^2*x(6))+3*x(4)*x(5)-3;
zdd s2=f2;
==> // ** redefining s2 (zdd s2=f2;)
disp_zdd(s2);
==> x1(x2(x3+
==> x5(x6)))+
==> x4(x5)+1
poly f4=0;
zdd s4=f4;
disp_zdd(s4);
==> 0
poly f5=1;
zdd s5=f5;
disp_zdd(s5);
==> 1
| See also:
poly2zdd;
zdd2poly.
|