maxpre 0.2.5

Rust bindings for the (MO-)MaxSAT preprocessor MaxPre
Documentation
#ifndef MAXPP_TRACE_HPP
#define MAXPP_TRACE_HPP

#include <vector>
#include <iostream>
#include <cstdint>

namespace maxPreprocessor {
class Trace {
public:
	std::vector<uint64_t> removedWeight;
	std::vector<int> operations;
	std::vector<std::vector<int> > data;

	void setVar(int var, bool value);
	void BVE(int var, const std::vector<std::vector<int> >& nClauses);
	void BCE(int lit, const std::vector<int>& clause);
	void BCR(int lbl1, int lbl2, const std::vector<std::vector<int> >& nClauses);
	void setEqual(int lit1, int lit2);
	void LS(int lbl, int lit, const std::vector<int>& clause);
	void labelEliminate(int lbl1, int lbl2, int tautli);
	void removeWeight(uint64_t weight, int objective);
	void removeWeight(const std::vector<uint64_t>& weight);
	std::pair<std::vector<int>, uint64_t> getSolution(const std::vector<int>& trueLits, uint64_t weight, int vars, int originalVars);
	std::vector<int> getFixed();
	void printSolution(std::ostream& output, const std::vector<int>& trueLits, uint64_t weight, int vars, int originalVars, int outputFormat);
	void setNbObjectives(int n);
};
}
#endif