source: doc/papers/general/evaluation/cfa-pair.c @ c659968

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since c659968 was 604e76d, checked in by Peter A. Buhr <pabuhr@…>, 6 years ago

initial setup for general and concurrency papers

  • Property mode set to 100644
File size: 1.1 KB
Line 
1#include "cfa-pair.h"
2
3forall(otype R, otype S
4        | { int ?==?(R, R); int ?<?(R, R); int ?<?(S, S); })
5int ?<?(pair(R, S) p, pair(R, S) q) {
6        return p.first < q.first || ( p.first == q.first && p.second < q.second );
7}
8
9forall(otype R, otype S
10        | { int ?==?(R, R); int ?<?(R, R); int ?<=?(S, S); })
11int ?<=?(pair(R, S) p, pair(R, S) q) {
12        return p.first < q.first || ( p.first == q.first && p.second <= q.second );
13}
14
15forall(otype R, otype S | { int ?==?(R, R); int ?==?(S, S); })
16int ?==?(pair(R, S) p, pair(R, S) q) {
17        return p.first == q.first && p.second == q.second;
18}
19
20forall(otype R, otype S | { int ?!=?(R, R); int ?!=?(S, S); })
21int ?!=?(pair(R, S) p, pair(R, S) q) {
22        return p.first != q.first || p.second != q.second;
23}
24
25forall(otype R, otype S
26        | { int ?==?(R, R); int ?>?(R, R); int ?>?(S, S); })
27int ?>?(pair(R, S) p, pair(R, S) q) {
28        return p.first > q.first || ( p.first == q.first && p.second > q.second );
29}
30
31forall(otype R, otype S
32        | { int ?==?(R, R); int ?>?(R, R); int ?>=?(S, S); })
33int ?>=?(pair(R, S) p, pair(R, S) q) {
34        return p.first > q.first || ( p.first == q.first && p.second >= q.second );
35}
Note: See TracBrowser for help on using the repository browser.