(self)
Return the BV width of the formula.
Return the BV width of the formula.
Return the BV width of the formula .
def bv_width(self):
        """Return the BV width of the formula."""
        if self.is_bv_constant():
            return self._content.payload[1]
        elif self.is_symbol():
            assert self.symbol_type().is_bv_type()
            return self.symbol_type().width
        elif self.is_function_application():
            # Return width defined in the declaration
            return self.function_name().symbol_type().return_type.width
        elif self.is_ite():
            # Recursively call bv_width on the left child
            # (The right child has the same width if the node is well-formed)
            width_l = self.arg(1).bv_width()
            return width_l
        elif self.is_select():
            # This must be a select over an array with BV value type
            ty = self.arg(0).get_type()
            return ty.elem_type.width
        else:
            # BV Operator
            assert self.is_bv_op(), "Unsupported method bv_width on %s" % self
            return self._content.payload[0]
def bv_width ( self ) : if self . is_bv_constant ( ) : return self . _content . payload [ 1 ] elif self . is_symbol ( ) : assert self . symbol_type ( ) . is_bv_type ( ) return self . symbol_type ( ) . width elif self . is_function_application ( ) : # Return width defined in the declaration return self . function_name ( ) . symbol_type ( ) . return_type . width elif self . is_ite ( ) : # Recursively call bv_width on the left child # (The right child has the same width if the node is well-formed) width_l = self . arg ( 1 ) . bv_width ( ) return width_l elif self . is_select ( ) : # This must be a select over an array with BV value type ty = self . arg ( 0 ) . get_type ( ) return ty . elem_type . width else : # BV Operator assert self . is_bv_op ( ) , "Unsupported method bv_width on %s" % self return self . _content . payload [ 0 ]