1#! /bin/sh 2# 3# Check CNF (long check - all methods involved): 4# Load BDDs 5# Store corresponding CNF in different format: 6# NodeByNode method -> file 4.node1.tmp 7# MaxtermByMaxterm -> file 4.max1.tmp 8# Best with different options: 9# MaxEdge=-1 MaxPath= 0 -> similar to NodeByNode -> file 4.node2.tmp 10# MaxEdge= 0 MaxPath=-1 -> similar to NodeByNode -> file 4.node3.tmp 11# MaxEdge=-1 MaxPath=-1 -> = MaxtermByMaxterm -> file 4.max2.tmp 12# MaxEdge= 1 MaxPath=-1 -> = Original Best -> file 4.best1.tmp 13# MaxEdge= 1 MaxPath= 2 -> = Original Best, With Path Shorter than 3 14# file 4.best2.tmp 15# Read CNF 16# Store corresponding BDD 17# Compare original and final BDDs 18# 19 20EXE=@EXEEXT@ 21srcdir=@top_srcdir@ 22where=${srcdir}/dddmp/exp 23dest=. 24exitval=0 25 26echo "---------------------------------------------------------------------------" 27echo "--------------------- TESTING Load BDD and Store CNF ----------------------" 28echo "---------------------------------------------------------------------------" 29../testdddmp$EXE << END1 30mi 31150 32hlc 33${where}/4.cnf.bis 34bl 35${where}/4.bdd 360 37cs 38${dest}/4.node1.tmp 390 40N 41100 42cs 43${dest}/4.max1.tmp 440 45M 46100 47cs 48${dest}/4.node2.tmp 490 50B 51-1 520 53100 54cs 55${dest}/4.node3.tmp 560 57B 580 59-1 60100 61cs 62${dest}/4.max2.tmp 630 64B 65-1 66-1 67100 68cs 69${dest}/4.best1.tmp 700 71B 721 73-1 74100 75cs 76${dest}/4.best2.tmp 770 78B 791 802 81100 82mq 83quit 84END1 85test $? != 1 && exitval=1 86echo "---------------------------------------------------------------------------" 87echo "--------------------- TESTING Load CNF and Store BDD ----------------------" 88echo "---------------------------------------------------------------------------" 89../testdddmp$EXE << END2 90mi 91150 92hlc 93${dest}/4.node2.tmp 94cl 95${dest}/4.node2.tmp 960 97hw 98bs 99${dest}/4.node2.bdd.tmp 1000 101mq 102quit 103END2 104test $? != 1 && exitval=1 105../testdddmp$EXE << END3 106mi 107150 108hlc 109${dest}/4.node3.tmp 110cl 111${dest}/4.node3.tmp 1120 113hw 114bs 115${dest}/4.node3.bdd.tmp 1160 117mq 118quit 119END3 120test $? != 1 && exitval=1 121../testdddmp$EXE << END4 122mi 123150 124hlc 125${dest}/4.best1.tmp 126cl 127${dest}/4.best1.tmp 1280 129hw 130bs 131${dest}/4.best1.bdd.tmp 1320 133mq 134quit 135END4 136test $? != 1 && exitval=1 137../testdddmp$EXE << END5 138mi 139150 140hlc 141${dest}/4.best2.tmp 142cl 143${dest}/4.best2.tmp 1440 145hw 146bs 147${dest}/4.best2.bdd.tmp 1480 149mq 150quit 151END5 152test $? != 1 && exitval=1 153echo "----------------------------- ... RESULTS ... -----------------------------" 154diff --strip-trailing-cr --brief ${where}/4.max1 ${dest}/4.max1.tmp 155test $? != 0 && exitval=1 156diff --strip-trailing-cr --brief ${where}/4.max2 ${dest}/4.max2.tmp 157test $? != 0 && exitval=1 158diff --strip-trailing-cr --brief ${where}/4.bdd.bis1 ${dest}/4.node2.bdd.tmp 159test $? != 0 && exitval=1 160diff --strip-trailing-cr --brief ${where}/4.bdd.bis2 ${dest}/4.node3.bdd.tmp 161test $? != 0 && exitval=1 162diff --strip-trailing-cr --brief ${where}/4.bdd.bis3 ${dest}/4.best1.bdd.tmp 163test $? != 0 && exitval=1 164diff --strip-trailing-cr --brief ${where}/4.bdd.bis4 ${dest}/4.best2.bdd.tmp 165test $? != 0 && exitval=1 166echo "-------------------------------- ... END ----------------------------------" 167rm -f ${dest}/4.max1.tmp ${dest}/4.max2.tmp ${dest}/4.node2.bdd.tmp \ 168 ${dest}/4.node3.bdd.tmp ${dest}/4.best1.bdd.tmp ${dest}/4.best2.bdd.tmp \ 169 ${dest}/4b.bdd.tmp ${dest}/4.best1.tmp ${dest}/4.best2.tmp \ 170 ${dest}/4.node1.tmp ${dest}/4.node2.tmp ${dest}/4.node3.tmp 171exit $exitval 172