|
Defines |
#define | cell(cptr) *(cptr) |
#define | follow(cell) (*(CPtr)(cell)) |
#define | FLOAT_MASK 0xfffffff8 |
#define | isref(cell) (!((word)(cell)&0x3)) |
#define | isnonvar(cell) ((word)(cell)&0x3) |
#define | cell_tag(cell) ((word)(cell)&0x7) |
#define | enc_int(val) (((Integer)(val) << 3)) |
#define | dec_int(val) ((Integer)(val) >> 3) |
#define | enc_addr(addr) ((Cell)(addr) << 1) |
#define | dec_addr(dcell) (((Cell)(dcell) >> 1) & 0x7ffffffc) |
#define | int_val(dcell) (Integer)dec_int(dcell) |
#define | makeint(val) (Cell)((enc_int(val)) | XSB_INT) |
#define | string_val(dcell) (char *)dec_addr(dcell) |
#define | makestring(str) (Cell)(enc_addr(str) | XSB_STRING) |
#define | makenil makestring(nil_string) |
#define | cs_val(dcell) (Pair)dec_addr(dcell) |
#define | makecs(str) (Cell)(enc_addr(str) | XSB_STRUCT) |
#define | clref_val(dcell) (CPtr)dec_addr(dcell) |
#define | makelist(list) (Cell)(enc_addr(list) | XSB_LIST) |
#define | makeattv(attv) (Cell)(enc_addr(attv) | XSB_ATTV) |
#define | trievar_val(dcell) (Integer)dec_int(dcell) |
#define | maketrievar(val) (Cell)(enc_int(val) | XSB_TrieVar) |
#define | get_str_psc(dcell) (*((Psc *)dec_addr(dcell))) |
#define | addr_val(dcell) string_val(dcell) |
#define | makeaddr(val) makestring(val) |
#define | vptr(dcell) (CPtr)(dcell) |
#define | float_val(dcell) getfloatval(dcell) |
#define | ref_val(dcell) (CPtr)(dcell) |
#define | bld_nil(addr) cell(addr) = makenil |
#define | bld_string(addr, str) cell(addr) = makestring(str) |
#define | bld_int_tagged(addr, val) cell(addr) = val |
#define | bld_int(addr, val) cell(addr) = makeint(val) |
#define | bld_float_tagged(addr, val) cell(addr) = val |
#define | bld_float(addr, val) cell(addr) = makefloat(val) |
#define | bld_ref(addr, val) cell(addr) = (Cell)(val) |
#define | bld_cs(addr, str) cell(addr) = makecs(str) |
#define | bld_list(addr, list) cell(addr) = makelist(list) |
#define | bld_attv(addr, attv) cell(addr) = makeattv(attv) |
#define | bld_functor(addr, psc) cell(addr) = (word)psc |
#define | bld_copy0(addr, val) cell(addr) = val |
#define | bld_copy(addr, val) cell(addr) = val |
#define | bld_free(addr) cell(addr) = (Cell)(addr) |
#define | isinteger(dcell) (cell_tag(dcell)==XSB_INT) |
#define | isfloat(dcell) (cell_tag(dcell)==XSB_FLOAT) |
#define | isconstr(dcell) (cell_tag(dcell)==XSB_STRUCT) |
#define | islist(dcell) (cell_tag(dcell)==XSB_LIST) |
#define | isattv(dcell) (cell_tag(dcell)==XSB_ATTV) |
#define | isstring(dcell) (cell_tag(dcell)==XSB_STRING) |
#define | numequal(num1, num2) num1 == num2 |
#define | isnumber(dcell) ((isinteger(dcell)) || (isfloat(dcell))) |
#define | isconstant(dcell) ( isstring(dcell) || isnumber(dcell) ) |
#define | isatom(dcell) |
#define | isatomic(dcell) |
#define | isnil(dcell) (isstring(dcell) && (char *)string_val(dcell) == nil_string) |
#define | isboxed(term) (isconstr(term) && get_str_psc(term) == box_psc ) |
#define | box_has_id(dcell, box_identifier) (int_val(cell(clref_val(dcell)+1))>>16 == box_identifier) |
#define | MAX_ARITY 255 |
#define | CELL_DEFS_INCLUDED |
#define | arity_integer(dcell) |
#define | isboxedinteger(dcell) (isboxed(dcell) && box_has_id(dcell, ID_BOXED_INT)) |
#define | isboxedfloat(dcell) (isboxed(dcell) && box_has_id(dcell, ID_BOXED_FLOAT)) |
#define | boxedint_val(dcell) |
#define | EXTRACT_FLOAT_FROM_16_24_24(highInt, middleInt, lowInt) |
#define | boxedfloat_val(dcell) |
#define | oint_val(dcell) |
#define | ofloat_val(dcell) |
#define | isofloat(val) ( (isboxedfloat(val)) || (isfloat(val)) ) |
#define | int_overflow(value) (int_val(makeint(value)) != (value)) |
#define | bld_boxedint(addr, value) |
#define | bld_oint(addr, value) |
Functions |
float | getfloatval (Cell) |
Cell | makefloat (float) |
int | sign (Float) |
Float | make_float_from_ints (UInteger, UInteger) |
void | bld_boxedfloat (CTXTdeclc CPtr, Float) |