The source code and dockerfile for the GSW2024 AI Lab.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

171 lines
3.3 KiB

#! /bin/sh
#
# Check CNF (long check - all methods involved):
# Load BDDs
# Store corresponding CNF in different format:
# NodeByNode method -> file 4.node1.tmp
# MaxtermByMaxterm -> file 4.max1.tmp
# Best with different options:
# MaxEdge=-1 MaxPath= 0 -> similar to NodeByNode -> file 4.node2.tmp
# MaxEdge= 0 MaxPath=-1 -> similar to NodeByNode -> file 4.node3.tmp
# MaxEdge=-1 MaxPath=-1 -> = MaxtermByMaxterm -> file 4.max2.tmp
# MaxEdge= 1 MaxPath=-1 -> = Original Best -> file 4.best1.tmp
# MaxEdge= 1 MaxPath= 2 -> = Original Best, With Path Shorter than 3
# file 4.best2.tmp
# Read CNF
# Store corresponding BDD
# Compare original and final BDDs
#
EXE=@EXEEXT@
srcdir=@top_srcdir@
where=${srcdir}/dddmp/exp
dest=.
exitval=0
echo "---------------------------------------------------------------------------"
echo "--------------------- TESTING Load BDD and Store CNF ----------------------"
echo "---------------------------------------------------------------------------"
../testdddmp$EXE << END1
mi
150
hlc
${where}/4.cnf.bis
bl
${where}/4.bdd
0
cs
${dest}/4.node1.tmp
0
N
100
cs
${dest}/4.max1.tmp
0
M
100
cs
${dest}/4.node2.tmp
0
B
-1
0
100
cs
${dest}/4.node3.tmp
0
B
0
-1
100
cs
${dest}/4.max2.tmp
0
B
-1
-1
100
cs
${dest}/4.best1.tmp
0
B
1
-1
100
cs
${dest}/4.best2.tmp
0
B
1
2
100
mq
quit
END1
test $? != 1 && exitval=1
echo "---------------------------------------------------------------------------"
echo "--------------------- TESTING Load CNF and Store BDD ----------------------"
echo "---------------------------------------------------------------------------"
../testdddmp$EXE << END2
mi
150
hlc
${dest}/4.node2.tmp
cl
${dest}/4.node2.tmp
0
hw
bs
${dest}/4.node2.bdd.tmp
0
mq
quit
END2
test $? != 1 && exitval=1
../testdddmp$EXE << END3
mi
150
hlc
${dest}/4.node3.tmp
cl
${dest}/4.node3.tmp
0
hw
bs
${dest}/4.node3.bdd.tmp
0
mq
quit
END3
test $? != 1 && exitval=1
../testdddmp$EXE << END4
mi
150
hlc
${dest}/4.best1.tmp
cl
${dest}/4.best1.tmp
0
hw
bs
${dest}/4.best1.bdd.tmp
0
mq
quit
END4
test $? != 1 && exitval=1
../testdddmp$EXE << END5
mi
150
hlc
${dest}/4.best2.tmp
cl
${dest}/4.best2.tmp
0
hw
bs
${dest}/4.best2.bdd.tmp
0
mq
quit
END5
test $? != 1 && exitval=1
echo "----------------------------- ... RESULTS ... -----------------------------"
diff --strip-trailing-cr --brief ${where}/4.max1 ${dest}/4.max1.tmp
test $? != 0 && exitval=1
diff --strip-trailing-cr --brief ${where}/4.max2 ${dest}/4.max2.tmp
test $? != 0 && exitval=1
diff --strip-trailing-cr --brief ${where}/4.bdd.bis1 ${dest}/4.node2.bdd.tmp
test $? != 0 && exitval=1
diff --strip-trailing-cr --brief ${where}/4.bdd.bis2 ${dest}/4.node3.bdd.tmp
test $? != 0 && exitval=1
diff --strip-trailing-cr --brief ${where}/4.bdd.bis3 ${dest}/4.best1.bdd.tmp
test $? != 0 && exitval=1
diff --strip-trailing-cr --brief ${where}/4.bdd.bis4 ${dest}/4.best2.bdd.tmp
test $? != 0 && exitval=1
echo "-------------------------------- ... END ----------------------------------"
rm -f ${dest}/4.max1.tmp ${dest}/4.max2.tmp ${dest}/4.node2.bdd.tmp \
${dest}/4.node3.bdd.tmp ${dest}/4.best1.bdd.tmp ${dest}/4.best2.bdd.tmp \
${dest}/4b.bdd.tmp ${dest}/4.best1.tmp ${dest}/4.best2.tmp \
${dest}/4.node1.tmp ${dest}/4.node2.tmp ${dest}/4.node3.tmp
exit $exitval