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

ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationpthread-emulationqualifiedEnum
Last change on this file since 01f78e0 was f4e3419d, checked in by Peter A. Buhr <pabuhr@…>, 7 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.