42 namespace Test {
namespace Int {
45 namespace MiniModelLin {
65 unsigned char x,
y,
z;
75 case LO_ACE: reg[pc->
y] = pc->
c + reg[pc->
x];
break;
76 case LO_AEC: reg[pc->
y] = reg[pc->
x] + pc->
c;
break;
77 case LO_AEE: reg[pc->
z] = reg[pc->
x] + reg[pc->
y];
break;
78 case LO_SCE: reg[pc->
y] = pc->
c - reg[pc->
x];
break;
79 case LO_SEC: reg[pc->
y] = reg[pc->
x] - pc->
c;
break;
80 case LO_SEE: reg[pc->
z] = reg[pc->
x] - reg[pc->
y];
break;
81 case LO_SE: reg[pc->
y] = -reg[pc->
x];
break;
82 case LO_MCE: reg[pc->
y] = pc->
c * reg[pc->
x];
break;
83 case LO_MEC: reg[pc->
y] = reg[pc->
x] * pc->
c;
break;
97 class LinExprInt :
public Test {
105 :
Test(
"MiniModel::LinExpr::Int::"+s,4,-3,3), lis(lis0) {
110 int reg[3] = {x[0],x[1],x[2]};
111 return eval(lis, reg) == x[3];
129 :
Test(
"MiniModel::LinExpr::Bool::"+s,4,-3,3), lis(lis0) {
135 if ((x[
i] < 0) || (x[
i] > 1))
137 int reg[3] = {x[0],x[1],x[2]};
138 return eval(lis, reg) == x[3];
158 :
Test(
"MiniModel::LinExpr::Mixed::"+s,4,-3,3), lis(lis0) {
163 if ((x[2] < 0) || (x[2] > 1))
165 int reg[3] = {x[0],x[1],x[2]};
166 return eval(lis, reg) == x[3];
192 :
Test(
"MiniModel::LinRel::Int::"+s+
"::"+
str(irt0),3,-3,3,true),
193 l_lis(l_lis0), r_lis(r_lis0), irt(irt0) {
199 int l_reg[3] = {x[0],x[1],x[2]};
200 int r_reg[3] = {x[0],x[1],x[2]};
201 return cmp(
eval(l_lis,l_reg),irt,
eval(r_lis,r_reg));
246 (
eval(l_lis,l_reg)==
eval(r_lis,r_reg))),
251 (
eval(l_lis,l_reg)!=
eval(r_lis,r_reg)) == r.
var());
255 !((
eval(l_lis,l_reg)<=
eval(r_lis,r_reg))^r.
var()));
259 (
eval(l_lis,l_reg)<
eval(r_lis,r_reg))),
264 (
eval(l_lis,l_reg)>=
eval(r_lis,r_reg)) == r.
var());
288 :
Test(
"MiniModel::LinRel::Bool::"+s+
"::"+
str(irt0),3,0,1,true),
289 l_lis(l_lis0), r_lis(r_lis0), irt(irt0) {
295 int l_reg[3] = {x[0],x[1],x[2]};
296 int r_reg[3] = {x[0],x[1],x[2]};
297 return cmp(
eval(l_lis,l_reg),irt,
eval(r_lis,r_reg));
348 (
eval(l_lis,l_reg)==
eval(r_lis,r_reg))),
353 (
eval(l_lis,l_reg)!=
eval(r_lis,r_reg)) == r.
var());
357 !((
eval(l_lis,l_reg)<=
eval(r_lis,r_reg))^r.
var()));
361 (
eval(l_lis,l_reg)<
eval(r_lis,r_reg))),
366 (
eval(l_lis,l_reg)>=
eval(r_lis,r_reg)) == r.
var());
390 :
Test(
"MiniModel::LinRel::Mixed::"+s+
"::"+
str(irt0),6,0,1,true),
391 l_lis(l_lis0), r_lis(r_lis0), irt(irt0) {
397 int l_reg[3] = {x[0],x[1],x[2]};
398 int r_reg[3] = {x[3],x[4],x[5]};
399 return cmp(
eval(l_lis,l_reg),irt,
eval(r_lis,r_reg));
440 (
eval(l_lis,l_reg)==
eval(r_lis,r_reg))),
445 (
eval(l_lis,l_reg)!=
eval(r_lis,r_reg))),
450 (
eval(l_lis,l_reg)<=
eval(r_lis,r_reg))),
455 (
eval(l_lis,l_reg)<
eval(r_lis,r_reg))),
460 (
eval(l_lis,l_reg)>=
eval(r_lis,r_reg))),
465 (
eval(l_lis,l_reg)>
eval(r_lis,r_reg))),
474 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
478 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
482 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
486 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
490 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
494 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
498 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
502 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
506 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
510 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
514 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
518 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
522 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
526 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
530 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
534 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
538 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
542 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
546 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
550 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
554 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
558 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
562 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
566 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
570 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
574 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
578 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
582 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
586 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
590 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
594 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
598 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
602 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
606 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
610 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
614 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
618 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
622 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
626 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
630 {
LO_AEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
634 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
638 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
642 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
646 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
650 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
654 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
658 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
662 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
666 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
670 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
674 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
678 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
682 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
686 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
690 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
694 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
698 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
702 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
706 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
710 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
714 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
718 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
722 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
726 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
730 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
734 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
738 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
742 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
746 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
750 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
754 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
758 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
762 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
766 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
770 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
774 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
778 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
782 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
786 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
790 {
LO_AEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
794 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
798 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
802 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
806 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
810 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
814 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
818 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
822 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
826 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
830 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
834 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
838 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
842 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
846 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
850 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
854 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
858 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
862 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
866 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
870 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
874 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
878 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
882 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
886 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
890 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
894 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
898 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
902 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
906 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
910 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
914 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
918 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
922 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
926 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
930 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
934 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
938 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
942 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
946 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
950 {
LO_AEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
954 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
958 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
962 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
966 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
970 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
974 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
978 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
982 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
986 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
990 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
994 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
998 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1002 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1006 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1010 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1014 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1018 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1022 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1026 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1030 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1034 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1038 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1042 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1046 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1050 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1054 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1058 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1062 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1066 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1070 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1074 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1078 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1082 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1086 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1090 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1094 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1098 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1102 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1106 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1110 {
LO_AEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1114 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1118 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1122 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1126 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1130 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1134 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1138 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1142 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1146 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1150 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1154 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1158 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1162 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1166 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1170 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1174 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1178 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1182 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1186 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1190 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1194 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1198 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1202 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1206 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1210 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1214 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1218 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1222 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1226 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1230 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1234 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1238 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1242 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1246 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1250 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1254 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1258 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1262 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1266 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1270 {
LO_AEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1274 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1278 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1282 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1286 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1290 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1294 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1298 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1302 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1306 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1310 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1314 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1318 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1322 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1326 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1330 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1334 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1338 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1342 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1346 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1350 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1354 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1358 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1362 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1366 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1370 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1374 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1378 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1382 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1386 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1390 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1394 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1398 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1402 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1406 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1410 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1414 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1418 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1422 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1426 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1430 {
LO_SEE,0,1,0, 0},{
LO_AEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1434 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1438 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1442 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1446 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1450 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1454 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1458 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1462 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1466 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1470 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1474 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1478 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1482 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1486 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1490 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1494 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1498 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1502 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1506 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1510 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1514 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1518 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1522 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1526 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1530 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1534 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1538 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1542 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1546 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1550 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1554 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1558 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1562 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1566 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1570 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1574 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1578 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1582 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1586 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1590 {
LO_SEE,0,1,0, 0},{
LO_SCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1594 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1598 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1602 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1606 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1610 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1614 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1618 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1622 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1626 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1630 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1634 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1638 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1642 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1646 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1650 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1654 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1658 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1662 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1666 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1670 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1674 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1678 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1682 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1686 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1690 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1694 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1698 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1702 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1706 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1710 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1714 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1718 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1722 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1726 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1730 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1734 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1738 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1742 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1746 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1750 {
LO_SEE,0,1,0, 0},{
LO_SEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1754 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1758 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1762 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1766 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1770 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1774 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1778 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1782 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1786 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1790 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1794 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1798 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1802 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1806 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1810 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1814 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1818 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1822 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1826 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1830 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1834 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1838 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1842 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1846 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1850 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1854 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1858 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1862 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_AEE,0,2,0, 0},
1866 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1870 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1874 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1878 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 1},{
LO_SEE,0,2,0, 0},
1882 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1886 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1890 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1894 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_AEE,0,2,0, 0},
1898 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1902 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1906 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1910 {
LO_SEE,0,1,0, 0},{
LO_MCE,0,0,0, 2},{
LO_SEE,0,2,0, 0},
1914 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1918 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1922 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1926 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_AEE,0,2,0, 0},
1930 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1934 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1938 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1942 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-2},{
LO_SEE,0,2,0, 0},
1946 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1950 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1954 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1958 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_AEE,0,2,0, 0},
1962 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1966 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1970 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1974 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0,-1},{
LO_SEE,0,2,0, 0},
1978 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1982 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1986 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1990 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_AEE,0,2,0, 0},
1994 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
1998 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
2002 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
2006 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 0},{
LO_SEE,0,2,0, 0},
2010 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
2014 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
2018 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
2022 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_AEE,0,2,0, 0},
2026 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
2030 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
2034 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
2038 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 1},{
LO_SEE,0,2,0, 0},
2042 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
2046 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
2050 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
2054 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_AEE,0,2,0, 0},
2058 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
2062 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
2066 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
2070 {
LO_SEE,0,1,0, 0},{
LO_MEC,0,0,0, 2},{
LO_SEE,0,2,0, 0},
2075 &li000[0],&li001[0],&li002[0],&li003[0],&li004[0],&li005[0],
2076 &li006[0],&li007[0],&li008[0],&li009[0],&li010[0],&li011[0],
2077 &li012[0],&li013[0],&li014[0],&li015[0],&li016[0],&li017[0],
2078 &li018[0],&li019[0],&li020[0],&li021[0],&li022[0],&li023[0],
2079 &li024[0],&li025[0],&li026[0],&li027[0],&li028[0],&li029[0],
2080 &li030[0],&li031[0],&li032[0],&li033[0],&li034[0],&li035[0],
2081 &li036[0],&li037[0],&li038[0],&li039[0],&li040[0],&li041[0],
2082 &li042[0],&li043[0],&li044[0],&li045[0],&li046[0],&li047[0],
2083 &li048[0],&li049[0],&li050[0],&li051[0],&li052[0],&li053[0],
2084 &li054[0],&li055[0],&li056[0],&li057[0],&li058[0],&li059[0],
2085 &li060[0],&li061[0],&li062[0],&li063[0],&li064[0],&li065[0],
2086 &li066[0],&li067[0],&li068[0],&li069[0],&li070[0],&li071[0],
2087 &li072[0],&li073[0],&li074[0],&li075[0],&li076[0],&li077[0],
2088 &li078[0],&li079[0],&li080[0],&li081[0],&li082[0],&li083[0],
2089 &li084[0],&li085[0],&li086[0],&li087[0],&li088[0],&li089[0],
2090 &li090[0],&li091[0],&li092[0],&li093[0],&li094[0],&li095[0],
2091 &li096[0],&li097[0],&li098[0],&li099[0],&li100[0],&li101[0],
2092 &li102[0],&li103[0],&li104[0],&li105[0],&li106[0],&li107[0],
2093 &li108[0],&li109[0],&li110[0],&li111[0],&li112[0],&li113[0],
2094 &li114[0],&li115[0],&li116[0],&li117[0],&li118[0],&li119[0],
2095 &li120[0],&li121[0],&li122[0],&li123[0],&li124[0],&li125[0],
2096 &li126[0],&li127[0],&li128[0],&li129[0],&li130[0],&li131[0],
2097 &li132[0],&li133[0],&li134[0],&li135[0],&li136[0],&li137[0],
2098 &li138[0],&li139[0],&li140[0],&li141[0],&li142[0],&li143[0],
2099 &li144[0],&li145[0],&li146[0],&li147[0],&li148[0],&li149[0],
2100 &li150[0],&li151[0],&li152[0],&li153[0],&li154[0],&li155[0],
2101 &li156[0],&li157[0],&li158[0],&li159[0],&li160[0],&li161[0],
2102 &li162[0],&li163[0],&li164[0],&li165[0],&li166[0],&li167[0],
2103 &li168[0],&li169[0],&li170[0],&li171[0],&li172[0],&li173[0],
2104 &li174[0],&li175[0],&li176[0],&li177[0],&li178[0],&li179[0],
2105 &li180[0],&li181[0],&li182[0],&li183[0],&li184[0],&li185[0],
2106 &li186[0],&li187[0],&li188[0],&li189[0],&li190[0],&li191[0],
2107 &li192[0],&li193[0],&li194[0],&li195[0],&li196[0],&li197[0],
2108 &li198[0],&li199[0],&li200[0],&li201[0],&li202[0],&li203[0],
2109 &li204[0],&li205[0],&li206[0],&li207[0],&li208[0],&li209[0],
2110 &li210[0],&li211[0],&li212[0],&li213[0],&li214[0],&li215[0],
2111 &li216[0],&li217[0],&li218[0],&li219[0],&li220[0],&li221[0],
2112 &li222[0],&li223[0],&li224[0],&li225[0],&li226[0],&li227[0],
2113 &li228[0],&li229[0],&li230[0],&li231[0],&li232[0],&li233[0],
2114 &li234[0],&li235[0],&li236[0],&li237[0],&li238[0],&li239[0],
2115 &li240[0],&li241[0],&li242[0],&li243[0],&li244[0],&li245[0],
2116 &li246[0],&li247[0],&li248[0],&li249[0],&li250[0],&li251[0],
2117 &li252[0],&li253[0],&li254[0],&li255[0],&li256[0],&li257[0],
2118 &li258[0],&li259[0],&li260[0],&li261[0],&li262[0],&li263[0],
2119 &li264[0],&li265[0],&li266[0],&li267[0],&li268[0],&li269[0],
2120 &li270[0],&li271[0],&li272[0],&li273[0],&li274[0],&li275[0],
2121 &li276[0],&li277[0],&li278[0],&li279[0],&li280[0],&li281[0],
2122 &li282[0],&li283[0],&li284[0],&li285[0],&li286[0],&li287[0],
2123 &li288[0],&li289[0],&li290[0],&li291[0],&li292[0],&li293[0],
2124 &li294[0],&li295[0],&li296[0],&li297[0],&li298[0],&li299[0],
2125 &li300[0],&li301[0],&li302[0],&li303[0],&li304[0],&li305[0],
2126 &li306[0],&li307[0],&li308[0],&li309[0],&li310[0],&li311[0],
2127 &li312[0],&li313[0],&li314[0],&li315[0],&li316[0],&li317[0],
2128 &li318[0],&li319[0],&li320[0],&li321[0],&li322[0],&li323[0],
2129 &li324[0],&li325[0],&li326[0],&li327[0],&li328[0],&li329[0],
2130 &li330[0],&li331[0],&li332[0],&li333[0],&li334[0],&li335[0],
2131 &li336[0],&li337[0],&li338[0],&li339[0],&li340[0],&li341[0],
2132 &li342[0],&li343[0],&li344[0],&li345[0],&li346[0],&li347[0],
2133 &li348[0],&li349[0],&li350[0],&li351[0],&li352[0],&li353[0],
2134 &li354[0],&li355[0],&li356[0],&li357[0],&li358[0],&li359[0],
2135 &li360[0],&li361[0],&li362[0],&li363[0],&li364[0],&li365[0],
2136 &li366[0],&li367[0],&li368[0],&li369[0],&li370[0],&li371[0],
2137 &li372[0],&li373[0],&li374[0],&li375[0],&li376[0],&li377[0],
2138 &li378[0],&li379[0],&li380[0],&li381[0],&li382[0],&li383[0],
2139 &li384[0],&li385[0],&li386[0],&li387[0],&li388[0],&li389[0],
2140 &li390[0],&li391[0],&li392[0],&li393[0],&li394[0],&li395[0],
2141 &li396[0],&li397[0],&li398[0],&li399[0],
2150 for (
int i=0;
i<
n;
i++) {
2154 }
else if (
i < 100) {
2162 for (
int i=0;
i<n/2;
i++) {
2166 }
else if (
i < 100) {
Test linear expressions over integer and Boolean variables
ReifyMode mode(void) const
Return reification mode.
void channel(Home home, FloatVar x0, IntVar x1)
Post propagator for channeling a float and an integer variable .
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
BoolVar var(void) const
Return Boolean control variable.
static bool cmp(T x, Gecode::IntRelType r, T y)
Compare x and y with respect to r.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x, Gecode::Reify r)
Post constraint on x for r.
LinExprMixed(const LinInstr *lis0, const std::string &s)
Create and register test.
Gecode::IntRelType irt
Integer relation type to propagate.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x, Gecode::Reify r)
Post constraint on x for r.
Type for representing a linear instruction.
virtual bool solution(const Assignment &x) const
Test whether x is solution
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Multiply constant and expression.
LinRelInt(const LinInstr *l_lis0, const LinInstr *r_lis0, Gecode::IntRelType irt0, const std::string &s)
Create and register test.
Expr eval(const LinInstr *pc, Expr reg[])
Evaluate linear instructions.
Gecode::IntRelType irt
Integer relation type to propagate.
int rms
Which reification modes are supported.
const LinInstr * l_lis
Linear instruction sequence for left hand side.
const LinInstr * lis
Linear instruction sequence.
LinExprInt(const LinInstr *lis0, const std::string &s)
Create and register test.
Test linear expressions over Boolean variables
const LinInstr * r_lis
Linear instruction sequence for right hand side.
static std::string str(Gecode::ExtensionalPropKind epk)
Map extensional propagation kind to string.
Help class to create and register tests.
Add integer and expression.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
IntRelType
Relation types for integers.
Gecode::IntRelType irt
Integer relation type to propagate.
Add expression and integer.
LinExprBool(const LinInstr *lis0, const std::string &s)
Create and register test.
Iterator for integer relation types.
const LinInstr * r_lis
Linear instruction sequence for right hand side.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x, Gecode::Reify r)
Post constraint on x for r.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Reification specification.
virtual bool solution(const Assignment &x) const
Test whether x is solution
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
LinOpcode o
Which instruction to execute.
Gecode::IntRelType irt(void) const
Return current relation type.
Passing integer variables.
Passing integer arguments.
Passing Boolean variables.
Test linear relations over Boolean variables
Create(void)
Perform creation and registration.
LinRelBool(const LinInstr *l_lis0, const LinInstr *r_lis0, Gecode::IntRelType irt0, const std::string &s)
Create and register test.
bool testfix
Whether to perform fixpoint test.
BoolVar expr(Home home, const BoolExpr &e, IntConLevel icl)
Post Boolean expression and return its value.
Subtract integer and expression.
Multiply constant and expression.
Node * x
Pointer to corresponding Boolean expression node.
Linear expressions over integer variables.
Base class for assignments
LinRelMixed(const LinInstr *l_lis0, const LinInstr *r_lis0, Gecode::IntRelType irt0, const std::string &s)
Create and register test.
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVal n)
Propagates .
Subtract expression and integer.
const LinInstr * l_lis
Linear instruction sequence for left hand side.
const LinInstr * r_lis
Linear instruction sequence for right hand side.
Test linear relations over integer and Boolean variables
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Test whether x is solution
unsigned char z
Instruction arguments, y is destination (or z)
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Test whether x is solution
const LinInstr * lis
Linear instruction sequence.
Gecode toplevel namespace
LinFloatExpr sum(const FloatVarArgs &x)
Construct linear float expression as sum of float variables.
const LinInstr * lis
Linear instruction sequence.
void reset(void)
Reset iterator.
virtual bool solution(const Assignment &x) const
Test whether x is solution
#define GECODE_NEVER
Assert that this command is never executed.
Test linear relations over integer variables
struct Gecode::@518::NNF::@57::@59 a
For atomic nodes.
const LinInstr * l_lis
Linear instruction sequence for left hand side.
Equivalence for reification (default)