/* include/g/i.h ** ** This file is in the public domain. */ /* General constructors. */ /* u3i_words(): ** ** Copy [a] words from [b] into an atom. */ u3_noun u3i_words(c3_w a_w, const c3_w* b_w); /* u3i_bytes(): ** ** Copy `a` bytes from `b` to an LSB first atom. */ u3_noun u3i_bytes(c3_w a_w, const c3_y* b_y); /* u3i_mp(): ** ** Copy the GMP integer `a` into an atom, and clear it. */ u3_noun u3i_mp(mpz_t a_mp); /* u3i_vint(): ** ** Create `a + 1`. */ u3_noun u3i_vint(u3_noun a); /* u3i_cell(): ** ** Produce the cell `[a b]`. */ u3_noun u3i_cell(u3_noun a, u3_noun b); /* u3i_trel(): ** ** Produce the triple `[a b c]`. */ u3_noun u3i_trel(u3_noun a, u3_noun b, u3_noun c); /* u3i_qual(): ** ** Produce the cell `[a b c d]`. */ u3_noun u3i_qual(u3_noun a, u3_noun b, u3_noun c, u3_noun d); /* u3i_string(): ** ** Produce an LSB-first atom from the C string `a`. */ u3_noun u3i_string(const c3_c* a_c); /* u3i_molt(): ** ** Mutate `som` with a 0-terminated list of axis, noun pairs. ** Axes must be cats (31 bit). */ u3_noun u3i_molt(u3_noun som, ...); /* u3i_chubs(): ** ** Construct `a` double-words from `b`, LSD first, as an atom. */ u3_atom u3i_chubs(c3_w a_w, const c3_d* b_d); /* u3i_tape(): from a C string, to a list of bytes. */ u3_atom u3i_tape(const c3_c* txt_c);