MCPcopy Create free account
hub / github.com/Gecode/gecode / p_set_symdiff

Function p_set_symdiff

gecode/flatzinc/registry.cpp:1871–1886  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1869 }
1870
1871 void p_set_symdiff(FlatZincSpace& s, const ConExpr& ce, AST::Node*) {
1872 SetVar x = s.arg2SetVar(ce[0]);
1873 SetVar y = s.arg2SetVar(ce[1]);
1874
1875 SetVarLubRanges xub(x);
1876 IntSet xubs(xub);
1877 SetVar x_y(s,IntSet::empty,xubs);
1878 rel(s, x, SOT_MINUS, y, SRT_EQ, x_y);
1879
1880 SetVarLubRanges yub(y);
1881 IntSet yubs(yub);
1882 SetVar y_x(s,IntSet::empty,yubs);
1883 rel(s, y, SOT_MINUS, x, SRT_EQ, y_x);
1884
1885 rel(s, x_y, SOT_UNION, y_x, SRT_EQ, s.arg2SetVar(ce[2]));
1886 }
1887
1888 void p_array_set_OP(FlatZincSpace& s, SetOpType op,
1889 const ConExpr& ce, AST::Node *) {

Callers

nothing calls this directly

Calls 2

arg2SetVarMethod · 0.80
relFunction · 0.50

Tested by

no test coverage detected