|
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) |