コード例 #1
0
// constant input
static void test_udiv_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_udivision(&blaster, a, b, q, r, n);

  printf("(bvudiv ");
  print_litarray_as_uint32(n, a);
  printf(" " );
  print_litarray_as_uint32(n, b);
  printf(") = ");
  print_pseudo_vector_as_uint32(n, q);
  printf("\n");

  printf("(bvurem ");
  print_litarray_as_uint32(n, a);
  printf(" " );
  print_litarray_as_uint32(n, b);
  printf(") = ");
  print_pseudo_vector_as_uint32(n, r);
  printf("\n");

  remap_table_free_array(q);
  remap_table_free_array(r);
}
コード例 #2
0
// constant input
static void test_bvmul2_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_bvmul2(&blaster, a, b, u, n);
  printf("(bvmul ");
  print_litarray_as_uint32(n, a);
  printf(" " );
  print_litarray_as_uint32(n, b);
  printf(") = ");
  print_pseudo_vector_as_uint32(n, u);
  printf("\n");

  remap_table_free_array(u);
}