add lbp flag

This commit is contained in:
Tiago Gomes 2012-05-31 12:45:09 +01:00
parent d00eb05624
commit c2297c3f70
2 changed files with 16 additions and 8 deletions

View File

@ -39,18 +39,16 @@ warning :-
set_solver(ve) :- set_pfl_flag(solver,ve). set_solver(ve) :- set_pfl_flag(solver,ve).
set_solver(jt) :- set_pfl_flag(solver,jt). set_solver(jt) :- set_pfl_flag(solver,jt).
set_solver(gibbs) :- set_pfl_flag(solver,gibbs). set_solver(gibbs) :- set_pfl_flag(solver,gibbs).
set_solver(fove) :- set_pfl_flag(solver,fove). set_solver(fove) :- set_pfl_flag(solver,fove), set_horus_flag(lifted_solver, fove).
set_solver(hve) :- set_pfl_flag(solver,bp), cpp_set_horus_flag(inf_alg, ve). set_solver(lbp) :- set_pfl_flag(solver,fove), set_horus_flag(lifted_solver, lbp).
set_solver(bp) :- set_pfl_flag(solver,bp), cpp_set_horus_flag(inf_alg, bp). set_solver(hve) :- set_pfl_flag(solver,bp), set_horus_flag(ground_solver, ve).
set_solver(cbp) :- set_pfl_flag(solver,bp), cpp_set_horus_flag(inf_alg, cbp). set_solver(bp) :- set_pfl_flag(solver,bp), set_horus_flag(ground_solver, bp).
set_solver(cbp) :- set_pfl_flag(solver,bp), set_horus_flag(ground_solver, cbp).
set_solver(S) :- throw(error('unknow solver ', S)). set_solver(S) :- throw(error('unknow solver ', S)).
set_horus_flag(K,V) :- cpp_set_horus_flag(K,V). set_horus_flag(K,V) :- cpp_set_horus_flag(K,V).
%:- cpp_set_horus_flag(inf_alg, ve).
%:- cpp_set_horus_flag(inf_alg, bp).
%: -cpp_set_horus_flag(inf_alg, cbp).
:- cpp_set_horus_flag(schedule, seq_fixed). :- cpp_set_horus_flag(schedule, seq_fixed).
%:- cpp_set_horus_flag(schedule, seq_random). %:- cpp_set_horus_flag(schedule, seq_random).

View File

@ -209,7 +209,17 @@ setHorusFlag (string key, string value)
stringstream ss; stringstream ss;
ss << value; ss << value;
ss >> Globals::verbosity; ss >> Globals::verbosity;
} else if (key == "inf_alg") { } else if (key == "lifted_solver") {
if ( value == "fove") {
Globals::liftedSolver = LiftedSolvers::FOVE;
} else if (value == "lbp") {
Globals::liftedSolver = LiftedSolvers::LBP;
} else {
cerr << "warning: invalid value `" << value << "' " ;
cerr << "for `" << key << "'" << endl;
returnVal = false;
}
} else if (key == "ground_solver") {
if ( value == "ve") { if ( value == "ve") {
Globals::groundSolver = GroundSolvers::VE; Globals::groundSolver = GroundSolvers::VE;
} else if (value == "bp") { } else if (value == "bp") {