summaryrefslogtreecommitdiff
blob: bd77cb4b1af5b2fc6eeacbfae31ff6a765dc6007 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef _ZoO_CORE_INDEX_H_
#define _ZoO_CORE_INDEX_H_

#include "index_types.h"

/*
 * Returns a random ZoO_index.
 */
/*@
   ensures (\result <= ZoO_INDEX_MAX);
   assigns \result;
@*/
ZoO_index ZoO_index_random (void);

/*
 * Returns a random ZoO_index, included in [0, limit]
 */
/*@
   ensures (\result <= limit);
   assigns \result;
@*/
ZoO_index ZoO_index_random_up_to (const ZoO_index limit);

int ZoO_index_cmp (const ZoO_index a, const ZoO_index b);

#endif