source: doc/papers/OOPSLA17/evaluation/cfa-pair.c@ c71b256

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new with_gc
Last change on this file since c71b256 was f4e3419d, checked in by Peter A. Buhr <pabuhr@…>, 8 years ago

restructure paper documents

  • 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.