virtual context
virtual patch
-@rmax depends on !patch@
+@max_candidate@
+expression E1, E2, E3, E4;
+binary operator cmp = {>, >=};
+@@
+
+ (E1 cmp E2 ? E3 : E4)
+
+@min_candidate@
+expression E1, E2, E3, E4;
+binary operator cmp = {<, <=};
+@@
+
+ (E1 cmp E2 ? E3 : E4)
+
+@rmax depends on !patch && max_candidate@
identifier func;
expression x, y;
binary operator cmp = {>, >=};
}
// Ignore errcode returns.
-@errcode@
+@errcode depends on min_candidate@
position p;
identifier func;
expression x;
...>
}
-@rmin depends on !patch@
+@rmin depends on !patch && min_candidate@
identifier func;
expression x, y;
binary operator cmp = {<, <=};
...>
}
-@pmax depends on patch@
+@pmax depends on patch && max_candidate@
identifier func;
expression x, y;
binary operator cmp = {>=, >};
...>
}
-@pmin depends on patch@
+@pmin depends on patch && min_candidate@
identifier func;
expression x, y;
binary operator cmp = {<=, <};