Skip to content

Commit

Permalink
âdd missing flags
Browse files Browse the repository at this point in the history
  • Loading branch information
OliverMa1 committed Jun 7, 2024
1 parent 266d40d commit b804e23
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 10 deletions.
3 changes: 2 additions & 1 deletion src/main/scala/ostrich/OFlags.scala
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ case class OFlags(
useParikhConstraints : Boolean = true,
minimizeAutomata : Boolean = false,
forwardPropagation : Boolean = false,
backwardPropagation : Boolean = false,
backwardPropagation : Boolean = true,
nielsenSplitter : Boolean = true,
regexTranslator : OFlags.RegexTranslator.Value =
OFlags.RegexTranslator.Hybrid,

Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/ostrich/OstrichMain.scala
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ object PortfolioSetup {
1000000000,
2000),
ParallelFileProver.Configuration(
Param.STRING_THEORY_DESC.set(baseSettings, Param.STRING_THEORY_DESC(baseSettings) + ":+forwardPropagation,+backwardPropagation"),
Param.STRING_THEORY_DESC.set(baseSettings, Param.STRING_THEORY_DESC(baseSettings) + ":+forwardPropagation,+backwardPropagation,-nielsenSplitter"),
"-stringSolver=" +
Param.STRING_THEORY_DESC(baseSettings) + ":+forwardPropagation,+backwardPropagation",
1000000000,
Expand Down
7 changes: 6 additions & 1 deletion src/main/scala/ostrich/OstrichStringTheoryBuilder.scala
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ class OstrichStringTheoryBuilder extends StringTheoryBuilder {

def setAlphabetSize(w : Int) : Unit = ()

protected var eager, forwardPropagation, backwardPropagation, minimizeAuts, useParikh = false
protected var eager, forwardPropagation, minimizeAuts, useParikh = false
protected var backwardPropagation, nielsenSplitter = true

protected var useLen : OFlags.LengthOptions.Value = OFlags.LengthOptions.Auto
protected var regexTrans : OFlags.RegexTranslator.Value = OFlags.RegexTranslator.Hybrid

Expand All @@ -87,6 +89,8 @@ class OstrichStringTheoryBuilder extends StringTheoryBuilder {
forwardPropagation = value
case CmdlParser.Opt("backwardPropagation", value) =>
backwardPropagation = value
case CmdlParser.Opt("nielsenSplitter", value) =>
nielsenSplitter = value
case CmdlParser.Opt("parikh", value) =>
useParikh = value
case CmdlParser.ValueOpt("regexTranslator", "approx") =>
Expand Down Expand Up @@ -133,6 +137,7 @@ class OstrichStringTheoryBuilder extends StringTheoryBuilder {
useParikhConstraints = useParikh,
forwardPropagation = forwardPropagation,
backwardPropagation = backwardPropagation,
nielsenSplitter = nielsenSplitter,
minimizeAutomata = minimizeAuts,
regexTranslator = regexTrans))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ class OstrichNielsenSplitter(goal : Goal,
* Apply the Nielsen transformation to some selected equation.
*/
def splitEquation : Seq[Plugin.Action] = {
if (flags.forwardPropagation || flags.backwardPropagation){
if (!flags.nielsenSplitter){
return List()
}
val multiGroups =
Expand Down
10 changes: 4 additions & 6 deletions src/test/scala/PropagationTests.scala
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,12 @@ object PropagationTests extends Properties("PropagationTests") {
}

property("noodles-unsat.smt2") =
checkFileOpts("tests/propagation-benchmarks/noodles-unsat.smt2", "unsat", "+forwardPropagation,+backwardPropagation")
checkFileOpts("tests/propagation-benchmarks/noodles-unsat.smt2", "unsat", "+forwardPropagation,+backwardPropagation,-nielsenSplitter")
property("noodles-unsat2.smt2") =
checkFileOpts("tests/propagation-benchmarks/noodles-unsat2.smt2", "unsat", "+forwardPropagation,+backwardPropagation")
checkFileOpts("tests/propagation-benchmarks/noodles-unsat2.smt2", "unsat", "+forwardPropagation,+backwardPropagation,-nielsenSplitter")
property("noodles-unsat3.smt2") =
checkFileOpts("tests/propagation-benchmarks/noodles-unsat3.smt2", "unsat", "+forwardPropagation,+backwardPropagation")
checkFileOpts("tests/propagation-benchmarks/noodles-unsat3.smt2", "unsat", "+forwardPropagation,+backwardPropagation,-nielsenSplitter")
property("noodles-unsat4.smt2") =
checkFileOpts("tests/propagation-benchmarks/noodles-unsat4.smt2", "unsat", "+forwardPropagation,+backwardPropagation")
property("noodles-unsat5.smt2") =
checkFileOpts("tests/propagation-benchmarks/noodles-unsat5.smt2", "unsat", "+forwardPropagation,+backwardPropagation")
checkFileOpts("tests/propagation-benchmarks/noodles-unsat4.smt2", "unsat", "+forwardPropagation,+backwardPropagation,-nielsenSplitter")

}

0 comments on commit b804e23

Please sign in to comment.