Пример #1
0
 def walk_bv_constant(self, formula, **kwargs):
     width = formula.bv_width()
     res = None
     if width <= 64:
         # we can use the numberical representation
         value = formula.constant_value()
         res = yicespy.yices_bvconst_uint64(width, value)
     else:
         # we must resort to strings to communicate the result to yices
         res = yicespy.yices_parse_bvbin(formula.bv_bin_str())
     self._check_term_result(res)
     return res
Пример #2
0
 def walk_bv_constant(self, formula, **kwargs):
     width = formula.bv_width()
     res = None
     if width <= 64:
         # we can use the numberical representation
         value = formula.constant_value()
         res = yicespy.yices_bvconst_uint64(width, value)
     else:
         # we must resort to strings to communicate the result to yices
         res = yicespy.yices_parse_bvbin(formula.bv_bin_str())
     self._check_term_result(res)
     return res
Пример #3
0
 def walk_bv_constant(self, formula, **kwargs):
     width = formula.bv_width()
     res = None
     value = formula.constant_value()
     if value <= ((2**63) - 1):
         # we can use the numerical representation
         # Note: yicespy uses *signed* longs in the API, so the maximal
         # representable number is 2^63 - 1
         res = yicespy.yices_bvconst_uint64(width, value)
     else:
         # we must resort to strings to communicate the result to yices
         res = yicespy.yices_parse_bvbin(formula.bv_bin_str())
     self._check_term_result(res)
     return res