All pastes #489176 Raw Edit

Untitled

public text v1 · immutable
·published 2007-05-15 11:45 UTC
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 */