57 for (
int c = 0 ;
c < m.
width() ;
c++)
68 int ncols = m.
width();
70 int length = (nrows/2) * ncols;
72 for (
int i = 0 ;
i < length ;
i++) {
77 int r2 = nrows - r1 - 1;
81 xs[length+
i] = m(c2,r2);
91 int ncols = m.
width();
93 int length = (ncols/2) * nrows;
95 for (
int i = 0 ;
i < length ;
i++) {
100 int c2 = ncols - c1 - 1;
104 xs[length+
i] = m(c2,r2);
114 int ncols = m.
width();
119 for (
int i = 0 ;
i < nrows ;
i++) {
120 for (
int j =
i+1 ; j < ncols ; j++) {
int height(void) const
Return the height of the matrix.
SymmetryHandle columns_interchange(const Matrix< A > &m)
Interchangeable columns symmetry specification.
int width(void) const
Return the width of the matrix.
Gecode::FloatVal c(-8, 8)
Gecode::IntArgs i(4, 1, 2, 3, 4)
A reference-counted pointer to a SymmetryObject.
Slice< A > row(int r) const
Access row r.
ArrayTraits< A >::ArgsType ArgsType
The type of the Args-array type for ValueType values.
SymmetryHandle columns_reflect(const Matrix< A > &m)
Reflect columns symmetry specification.
SymmetryHandle diagonal_reflect(const Matrix< A > &m)
Reflect around main diagonal symmetry specification.
SymmetryHandle rows_interchange(const Matrix< A > &m)
Interchangeable rows symmetry specification.
Matrix-interface for arrays.
SymmetryHandle VariableSequenceSymmetry(const IntVarArgs &vars, int ss)
Variable sequences in x of size ss are interchangeable.
Gecode toplevel namespace
Slice< A > col(int c) const
Access column c.
SymmetryHandle rows_reflect(const Matrix< A > &m)
Reflect rows symmetry specification.