Go to the documentation of this file.
62 unsigned int distance0,
unsigned int size0)
64 _bits(
"-bits",
"word size in bits",bits0),
65 _distance(
"-distance",
"minimum distance",distance0),
66 _size(
"-size",
"number of symbols",size0) {
67 add(_bits); add(_distance); add(_size);
71 unsigned int bits(
void)
const {
return _bits.
value(); }
75 unsigned int size(
void)
const {
return _size.
value(); }
100 if (
opt.trace() != 0)
105 for (
int i=
x.size();
i--;)
108 for (
int i=0;
i<
x.size();
i++)
109 for (
int j=
i+1; j<
x.size(); j++)
120 for (
int i=0;
i<
x.size();
i++) {
121 os <<
"\t[" <<
i <<
"] = " <<
x[
i] << std::endl;
132 return new Hamming(share,*
this);
144 Script::run<Hamming,DFS,HammingOptions>(
opt);
Post propagator for SetVar x
BoolVar expr(Home home, const BoolExpr &e, IntPropLevel ipl)
Post Boolean expression and return its value.
unsigned int size(I &i)
Size of all ranges of range iterator i.
Gecode::IntArgs i(4, 1, 2, 3, 4)
virtual Space * copy(bool share)
Copy during cloning.
void branch(Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatValBranch vals, FloatBranchFilter bf, FloatVarValPrint vvp)
Branch over x with variable selection vars and value selection vals.
SetVarBranch SET_VAR_NONE(void)
void update(Space &home, bool share, VarImpVar< VarImp > &y)
Update this variable to be a clone of variable y.
Hamming(const HammingOptions &opt)
Actual model.
void value(unsigned int v)
Set default value to v.
Gecode toplevel namespace
Parametric base-class for scripts.
unsigned int size(void) const
Return number of symbols.
void parse(int &argc, char *argv[])
Parse options from arguments argv (number is argc)
SetValBranch SET_VAL_MIN_INC(void)
LinIntExpr cardinality(const SetExpr &e)
Cardinality of set expression.
virtual void print(std::ostream &os) const
Print solution.
unsigned int bits(void) const
Return number of bits.
Hamming(bool share, Hamming &s)
Constructor for copying s.
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVal n)
Propagates .
void trace(Home home, const FloatVarArgs &x, TraceFilter tf, int te, FloatTracer &t)
Create a tracer for float variables.
Options for Hamming problems
unsigned int distance(void) const
Return minimum distance.
int main(int argc, char *argv[])
Main-function.
HammingOptions(const char *s, unsigned int bits0, unsigned int distance0, unsigned int size0)
Initialize options for example with name s.
Example: Generating Hamming codes