/* uz_a_mp(): ** ** Copy [b] into (a). */ void uz_a_mp(uz_machine mac, mpz_t a, uz_noun b) { u3_lr_mp(mac->zen, a, b); }
/* u3_zx_gt_c(): */ u3_fox u3_zx_gt_c(u3_z z, u3_fox a, u3_fox b) { mpz_t mp_a, mp_b; u3_flag c; u3_lr_mp(z, mp_a, a); u3_lr_mp(z, mp_b, b); c = (mpz_cmp(mp_a, mp_b) > 0) ? u3_yes : u3_no; mpz_clear(mp_a); mpz_clear(mp_b); return c; }
/* u3_zx_mod_c(): */ u3_fox u3_zx_mod_c(u3_z z, u3_fox a, u3_fox b) { if ( 0 == b ) { return u3_zc_tank(z, c3__exit); } else { mpz_t mp_a, mp_b; u3_lr_mp(z, mp_a, a); u3_lr_mp(z, mp_b, b); mpz_tdiv_r(mp_a, mp_a, mp_b); mpz_clear(mp_b); return u3_zc_mp(z, mp_a); } }
/* _bi_export(): export a noun from u3 to u4. */ static u4_noun _bi_export(u3_l l, u4_lane lane, u3_fox tam) { if ( u3_yes == u3_lr_stud(l, tam) ) { mpz_t mp_tam; u3_lr_mp(l, mp_tam, tam); return u4_k_atom_gmp(lane, mp_tam); } else { return u4_k_cell(lane, _bi_export(l, lane, u3_h(l, tam)), _bi_export(l, lane, u3_t(l, tam))); } }