Some fixes + improvements (Vector) + code reformatting
[cgds.git] / src / types.h
CommitLineData
a7868768
BA
1/**
2 * @file types.h
3 * @brief A few useful data types.
4 */
5
6#ifndef CGDS_TYPES_H
7#define CGDS_TYPES_H
8
9#include <stdlib.h>
10#include <stdint.h>
1ff641f9 11#include <stdbool.h>
a7868768
BA
12
13/**
14 * @brief Signed integer type.
15 */
16typedef int64_t Int;
17
18/**
19 * @brief Unsigned integer type.
20 */
21typedef uint64_t UInt;
22
23/**
24 * @brief Data type for a real number.
25 */
26typedef double Real;
27
a7868768
BA
28/**
29 * @brief Enumeration for the type of buffer or heap.
30 */
31typedef enum {
e45132ac
BA
32 MIN_T = 0, ///< Minimum element first.
33 MAX_T = 1 ///< Maximum element first.
a7868768
BA
34} OrderType;
35
36/**
37 * @brief Generic item-value type; 'value' may correspond e.g. to distance.
38 */
39typedef struct ItemValue {
e45132ac
BA
40 void* item; ///< Pointer to an item of any type.
41 Real value; ///< Value associated with the item.
a7868768
BA
42} ItemValue;
43
44#endif