Import Upstream version 20180207
[hcoop/debian/mlton.git] / runtime / basis / cpointer.h
1
2 MLTON_CODEGEN_STATIC_INLINE
3 Pointer CPointer_add (Pointer p, C_Size_t s);
4 MLTON_CODEGEN_STATIC_INLINE
5 C_Size_t CPointer_diff (Pointer p1, Pointer p2);
6 MLTON_CODEGEN_STATIC_INLINE
7 Bool CPointer_equal (Pointer p1, Pointer p2);
8 MLTON_CODEGEN_STATIC_INLINE
9 Pointer CPointer_fromWord (C_Pointer_t x);
10 MLTON_CODEGEN_STATIC_INLINE
11 Bool CPointer_lt (Pointer p1, Pointer p2);
12 MLTON_CODEGEN_STATIC_INLINE
13 Pointer CPointer_sub (Pointer p, C_Size_t s);
14 MLTON_CODEGEN_STATIC_INLINE
15 C_Pointer_t CPointer_toWord (Pointer p);
16
17 MLTON_CODEGEN_STATIC_INLINE
18 Pointer CPointer_add (Pointer p, C_Size_t s) {
19 return (p + s);
20 }
21 MLTON_CODEGEN_STATIC_INLINE
22 C_Size_t CPointer_diff (Pointer p1, Pointer p2) {
23 return (size_t)(p1 - p2);
24 }
25 MLTON_CODEGEN_STATIC_INLINE
26 Bool CPointer_equal (Pointer p1, Pointer p2) {
27 return (p1 == p2);
28 }
29 MLTON_CODEGEN_STATIC_INLINE
30 Pointer CPointer_fromWord (C_Pointer_t x) {
31 return (Pointer)x;
32 }
33 MLTON_CODEGEN_STATIC_INLINE
34 Bool CPointer_lt (Pointer p1, Pointer p2) {
35 return (p1 < p2);
36 }
37 MLTON_CODEGEN_STATIC_INLINE
38 Pointer CPointer_sub (Pointer p, C_Size_t s) {
39 return (p - s);
40 }
41 MLTON_CODEGEN_STATIC_INLINE
42 C_Pointer_t CPointer_toWord (Pointer p) {
43 return (C_Pointer_t)p;
44 }