sml_intinf_t * prim_IntInf_fromWord(unsigned int x) { sml_intinf_t *n = sml_intinf_new(); sml_intinf_set_ui(n, x); return n; }
sml_intinf_t * prim_IntInf_fromInt(int x) { sml_intinf_t *n = sml_intinf_new(); sml_intinf_set_si(n, x); return n; }
SML_PRIMITIVE void * sml_load_intinf(const char *hexsrc) { sml_intinf_t *obj; obj = sml_intinf_new(); sml_intinf_set_str(obj, hexsrc, 16); return obj; }
sml_intinf_t * prim_IntInf_notb(sml_intinf_t *x) { sml_intinf_t xv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); xv = *x; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_com(z, &xv); return z; }
sml_intinf_t * prim_IntInf_pow(sml_intinf_t *x, int e) { sml_intinf_t xv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(e >= 0); xv = *x; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_pow(z, &xv, e); return z; }
sml_intinf_t * prim_IntInf_andb(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_and(z, &xv, &yv); return z; }