Add note about benchmarking.
[libguestfs-talks.git] / 2020-frama-c / 2200-range-predicates.html
1 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
2 <link rel="stylesheet" href="style.css" type="text/css"/>
3 <script src="code.js" type="text/javascript"></script>
4
5 <h1>Range predicates</h1>
6
7 <pre class="code">
8     <span class="comment">/*
9      * Do not access members directly, use the functions!
10      * A non-empty range has @lob <= @upb.
11      * An empty range has @lob == @upb + 1.
12      */</span>
13 </pre>
14
15 <pre class="code">
16   /*@
17     predicate valid_range(struct Range range) =
18       range.lob <= range.upb + 1;
19
20     predicate empty_range(struct Range range) =
21       range.lob == range.upb + 1;
22   */
23 </pre>