|
ESBMC
Efficient SMT-based Context-Bounded Model Checker
|
Complex number type. More...
#include <irep2_type.h>
Public Member Functions | |
| complex_type2t (const type2tc &st) | |
| complex_type2t (const complex_type2t &ref)=default | |
| unsigned int | get_width () const |
| Public Member Functions inherited from type2t | |
| virtual | ~type2t ()=default |
| unsigned int | get_width () const |
| Fetch bit width of this type. | |
| bool | operator== (const type2t &ref) const |
| bool | operator!= (const type2t &ref) const |
| bool | operator< (const type2t &ref) const |
| std::string | pretty (unsigned int indent=0) const |
| Produce a human-readable string representation of type. | |
| DUMP_METHOD void | dump () const |
| Dump object string representation to stdout. | |
| size_t | crc () const |
| Produce a checksum/hash of the current object. | |
| bool | cmp (const type2t &ref) const |
| Structural comparison. | |
| int | lt (const type2t &ref) const |
| Trinary structural ordering. | |
| list_of_memberst | tostring (unsigned int indent) const |
| Extract a list of members from type as strings. | |
| type2tc | clone () const |
| Clone method. | |
| template<typename T> | |
| void | foreach_subtype (T &&t) const |
| template<typename T> | |
| void | Foreach_subtype (T &&t) |
| Public Member Functions inherited from irep2t | |
| irep2t () noexcept | |
| irep2t (const irep2t &) noexcept | |
| irep2t & | operator= (const irep2t &)=delete |
| virtual | ~irep2t ()=default |
| void | mark_writer () const noexcept |
| void | clear_writer () const noexcept |
Public Attributes | |
| type2tc | subtype |
| Public Attributes inherited from type2t | |
| const type_ids | type_id |
| Instance of type_ids recording this types type. | |
| std::atomic< size_t > | crc_val |
| Public Attributes inherited from irep2t | |
| std::atomic< unsigned int > | refcount |
| std::atomic< std::uintptr_t > | writer_thread |
Static Public Attributes | |
| static constexpr auto | fields = std::make_tuple(&complex_type2t::subtype) |
| static std::string | field_names [esbmct::num_type_fields] |
Additional Inherited Members | |
| Public Types inherited from type2t | |
| enum | type_ids { end_type_id } |
| Enumeration identifying each sort of type. More... | |
| typedef esbmct::function_ref< void(const type2tc &)> | const_subtype_delegate |
| typedef esbmct::function_ref< void(type2tc &)> | subtype_delegate |
| typedef type2tc | container_type |
| typedef type2t | base_type |
| Static Public Member Functions inherited from irep2t | |
| static std::uintptr_t | current_thread_tag () noexcept |
| Protected Member Functions inherited from type2t | |
| type2t (type_ids id) | |
| Primary constructor. | |
| type2t (const type2t &ref) | |
| Copy constructor. | |
| void | foreach_subtype_impl_const (const_subtype_delegate &t) const |
| void | foreach_subtype_impl (subtype_delegate &t) |
Complex number type.
C's _Complex T is a pair (real, imag) of two values of the same scalar type T, so the kind carries only the element type. The SMT tuple lowering synthesises the 2-element view at the boundary via struct_union_members / struct_union_member_names.
|
inline |
|
default |
| unsigned int complex_type2t::get_width | ( | ) | const |
|
static |
|
staticconstexpr |
| type2tc complex_type2t::subtype |