cprover
Loading...
Searching...
No Matches
fixedbv_typet Class Reference

Fixed-width bit-vector with signed fixed-point interpretation. More...

#include <bitvector_types.h>

Inheritance diagram for fixedbv_typet:
Collaboration diagram for fixedbv_typet:

Public Member Functions

 fixedbv_typet ()
std::size_t get_fraction_bits () const
std::size_t get_integer_bits () const
void set_integer_bits (std::size_t b)
Public Member Functions inherited from bitvector_typet
 bitvector_typet (const irep_idt &_id)
 bitvector_typet (const irep_idt &_id, std::size_t width)
 bitvector_typet (const irep_idt &_id, mp_integer _width)
std::size_t get_width () const
std::size_t width () const
void set_width (std::size_t width)
void width (const mp_integer &)
Public Member Functions inherited from typet
 typet ()
 typet (const irep_idt &_id)
 typet (irep_idt _id, typet _subtype)
typetadd_subtype ()
bool has_subtypes () const
bool has_subtype () const
void remove_subtype ()
const source_locationtsource_location () const
source_locationtadd_source_location ()
typet && with_source_location (source_locationt location) &&
 This is a 'fluent style' method for creating a new type with an added-on source location.
typetwith_source_location (source_locationt location) &
 This is a 'fluent style' method for adding a source location.
typet && with_source_location (const typet &type) &&
 This is a 'fluent style' method for creating a new type with an added-on source location.
typetwith_source_location (const typet &type) &
 This is a 'fluent style' method for adding a source location.
typetadd_type (const irep_idt &name)
const typetfind_type (const irep_idt &name) const
Public Member Functions inherited from irept
bool is_nil () const
bool is_not_nil () const
 irept (const irep_idt &_id)
 irept (const irep_idt &_id, const named_subt &_named_sub, const subt &_sub)
 irept ()=default
const irep_idtid () const
const std::string & id_string () const
void id (const irep_idt &_data)
const ireptfind (const irep_idt &name) const
ireptadd (const irep_idt &name)
ireptadd (const irep_idt &name, irept irep)
const std::string & get_string (const irep_idt &name) const
const irep_idtget (const irep_idt &name) const
bool get_bool (const irep_idt &name) const
signed int get_int (const irep_idt &name) const
std::size_t get_size_t (const irep_idt &name) const
long long get_long_long (const irep_idt &name) const
void set (const irep_idt &name, const irep_idt &value)
void set (const irep_idt &name, irept irep)
void set (const irep_idt &name, const long long value)
void set_size_t (const irep_idt &name, const std::size_t value)
void remove (const irep_idt &name)
void move_to_sub (irept &irep)
void move_to_named_sub (const irep_idt &name, irept &irep)
bool operator== (const irept &other) const
bool operator!= (const irept &other) const
void swap (irept &irep)
bool operator< (const irept &other) const
 defines ordering on the internal representation
bool ordering (const irept &other) const
 defines ordering on the internal representation
int compare (const irept &i) const
 defines ordering on the internal representation comments are ignored
void clear ()
void make_nil ()
subtget_sub ()
const subtget_sub () const
named_subtget_named_sub ()
const named_subtget_named_sub () const
std::size_t hash () const
std::size_t full_hash () const
bool full_eq (const irept &other) const
std::string pretty (unsigned indent=0, unsigned max_indent=0) const
Public Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
 sharing_treet (irep_idt _id)
sharing_treetoperator= (const sharing_treet &irep)
 ~sharing_treet ()
const dtread () const
dtwrite ()

Static Public Member Functions

static void check (const typet &type, const validation_modet vm=validation_modet::INVARIANT)
Static Public Member Functions inherited from bitvector_typet
static void check (const typet &type, const validation_modet vm=validation_modet::INVARIANT)
Static Public Member Functions inherited from typet
static void check (const typet &, const validation_modet=validation_modet::INVARIANT)
 Check that the type is well-formed (shallow checks only, i.e., subtypes are not checked)
static void validate (const typet &type, const namespacet &, const validation_modet vm=validation_modet::INVARIANT)
 Check that the type is well-formed, assuming that its subtypes have already been checked for well-formedness.
static void validate_full (const typet &type, const namespacet &ns, const validation_modet vm=validation_modet::INVARIANT)
 Check that the type is well-formed (full check, including checks of subtypes)
Static Public Member Functions inherited from irept
static bool is_comment (const irep_idt &name)
static std::size_t number_of_non_comments (const named_subt &)
 count the number of named_sub elements that are not comments

Additional Inherited Members

Public Types inherited from irept
using baset = tree_implementationt
Public Types inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
using dt
using subt
using named_subt
using tree_implementationt
 Used to refer to this class from derived classes.
Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
void detach ()
Static Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
static void remove_ref (dt *old_data)
static void nonrecursive_destructor (dt *old_data)
 Does the same as remove_ref, but using an explicit stack instead of recursion.
Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
dtdata
Static Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
static dt empty_d

Detailed Description

Fixed-width bit-vector with signed fixed-point interpretation.

Integer and fraction bits refer to the number of bits before and after the decimal point, respectively. The width is the sum of the two.

Definition at line 279 of file bitvector_types.h.

Constructor & Destructor Documentation

◆ fixedbv_typet()

fixedbv_typet::fixedbv_typet ( )
inline

Definition at line 282 of file bitvector_types.h.

Member Function Documentation

◆ check()

void fixedbv_typet::check ( const typet & type,
const validation_modet vm = validation_modet::INVARIANT )
inlinestatic

Definition at line 298 of file bitvector_types.h.

◆ get_fraction_bits()

std::size_t fixedbv_typet::get_fraction_bits ( ) const
inline

Definition at line 286 of file bitvector_types.h.

◆ get_integer_bits()

std::size_t fixedbv_typet::get_integer_bits ( ) const

Definition at line 31 of file bitvector_types.cpp.

◆ set_integer_bits()

void fixedbv_typet::set_integer_bits ( std::size_t b)
inline

Definition at line 293 of file bitvector_types.h.


The documentation for this class was generated from the following files: