rendered paste body 1 /*****************************************************************************/
2 /* */
3 /* INCLUDE FILE FOR RUN TIME DATA TYPES */
4 /* */
5 /*****************************************************************************/
6
7 /* Euphoria object format v1.2 and later */
8
9 /* an object is represented as a 32-bit value as follows:
10
11 unused : 011xxxxx xxxxxxxx xxxxxxxx xxxxxxxx
12 unused : 010xxxxx xxxxxxxx xxxxxxxx xxxxxxxx
13
14 TOO_BIG: 01000000 00000000 00000000 00000000 (just too big for INT)
15
16 +ATOM-INT: 001vvvvv vvvvvvvv vvvvvvvv vvvvvvvv (31-bit integer value)
17 +ATOM-INT: 000vvvvv vvvvvvvv vvvvvvvv vvvvvvvv (31-bit integer value)
18 -ATOM-INT: 111vvvvv vvvvvvvv vvvvvvvv vvvvvvvv (31-bit integer value)
19 -ATOM-INT: 110vvvvv vvvvvvvv vvvvvvvv vvvvvvvv (31-bit integer value)
20
21 NO VALUE: 10111111 11111111 11111111 11111111 (undefined object)
22
23 ATOM-DBL: 101ppppp pppppppp pppppppp pppppppp (29-bit pointer)
24
25 SEQUENCE: 100ppppp pppppppp pppppppp pppppppp (29-bit pointer)
26
27 We ensure 8-byte alignment for s1 and dbl blocks - lower 3 bits
28 aren't needed - only 29 bits are stored.
29 */