// constant input static void test_sdiv_const(uint32_t n, literal_t *a, literal_t *b) { literal_t *q; literal_t *r; q = remap_table_fresh_array(&remap, n); r = remap_table_fresh_array(&remap, n); int_array_incref(q); int_array_incref(r); bit_blaster_make_sdivision(&blaster, a, b, q, r, n); printf("(bvsdiv "); print_litarray_as_int32(n, a); printf(" " ); print_litarray_as_int32(n, b); printf(") = "); print_pseudo_vector_as_int32(n, q); printf("\n"); printf("(bvsrem "); print_litarray_as_int32(n, a); printf(" " ); print_litarray_as_int32(n, b); printf(") = "); print_pseudo_vector_as_int32(n, r); printf("\n"); remap_table_free_array(q); remap_table_free_array(r); }
// constant input static void test_bvsub_const(uint32_t n, literal_t *a, literal_t *b) { literal_t *u; u = remap_table_fresh_array(&remap, n); int_array_incref(u); bit_blaster_make_bvsub(&blaster, a, b, u, n); printf("(bvsub "); print_litarray_as_int32(n, a); printf(" " ); print_litarray_as_int32(n, b); printf(") = "); print_pseudo_vector_as_uint32(n, u); printf("\n"); remap_table_free_array(u); }
// constant input static void test_smod_const(uint32_t n, literal_t *a, literal_t *b) { literal_t *r; r = remap_table_fresh_array(&remap, n); int_array_incref(r); bit_blaster_make_smod(&blaster, a, b, r, n); printf("(bvsmod "); print_litarray_as_int32(n, a); printf(" "); print_litarray_as_int32(n, b); printf(") = "); print_pseudo_vector_as_int32(n, r); printf("\n"); remap_table_free_array(r); }
/* * Print u[0 .. n-1] as a signed integer * - n must be no more than 32 */ static void print_pseudo_vector_as_int32(uint32_t n, literal_t *u) { literal_t a[n]; pseudo_convert(n, u, a); print_litarray_as_int32(n, a); }