58 unsigned int distance0,
unsigned int size0)
60 _bits(
"bits",
"word size in bits",bits0),
61 _distance(
"distance",
"minimum distance",distance0),
62 _size(
"size",
"number of symbols",size0) {
67 unsigned int bits(
void)
const {
return _bits.
value(); }
71 unsigned int size(
void)
const {
return _size.
value(); }
101 for (
int i=
x.size();
i--;)
104 for (
int i=0;
i<
x.size();
i++)
105 for (
int j=
i+1; j<
x.size(); j++)
116 for (
int i=0;
i<
x.size();
i++) {
117 os <<
"\t[" <<
i <<
"] = " <<
x[
i] << std::endl;
123 x.update(*
this, s.x);
140 Script::run<Hamming,DFS,HammingOptions>(
opt);
Node * x
Pointer to corresponding Boolean expression node.
void add(Driver::BaseOption &o)
Add new option o.
Parametric base-class for scripts.
void value(unsigned int v)
Set default value to v.
Options for Hamming problems
unsigned int bits(void) const
Return number of bits.
unsigned int size(void) const
Return number of symbols.
unsigned int distance(void) const
Return minimum distance.
HammingOptions(const char *s, unsigned int bits0, unsigned int distance0, unsigned int size0)
Initialize options for example with name s.
Example: Generating Hamming codes
virtual void print(std::ostream &os) const
Print solution.
int main(int argc, char *argv[])
Main-function.
Hamming(Hamming &s)
Constructor for copying s.
Hamming(const HammingOptions &opt)
Actual model.
virtual Space * copy(void)
Copy during cloning.
void parse(int argc, char *argv[])
Parse commandline arguments.
void trace(Home home, const FloatVarArgs &x, TraceFilter tf, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), FloatTracer &t=StdFloatTracer::def)
Create a tracer for float variables.
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVar x1)
Post propagator for .
void branch(Home home, const IntVarArgs &x, const BoolVarArgs &y, IntBoolVarBranch vars, IntValBranch vals)
Branch function for integer and Boolean variables.
unsigned int size(I &i)
Size of all ranges of range iterator i.
Gecode toplevel namespace
Select first unassigned variable SetVarBranch SET_VAR_NONE(void)
IntVar expr(Home home, const LinIntExpr &e, const IntPropLevels &ipls=IntPropLevels::def)
Post linear expression and return its value.
Include smallest element SetValBranch SET_VAL_MIN_INC(void)
LinIntExpr cardinality(const SetExpr &)
Cardinality of set expression.
Gecode::IntArgs i({1, 2, 3, 4})