SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_dt::sc_uint_base Class Reference

Base class for sc_uint. More...

#include <sysc/datatypes/int/sc_uint_base.h>

Inheritance diagram for sc_dt::sc_uint_base:
Collaboration diagram for sc_dt::sc_uint_base:

Public Member Functions

 sc_uint_base (int w=sc_length_param().len())
 
 sc_uint_base (uint_type v, int w)
 
 sc_uint_base (const sc_uint_base &a)
 
 sc_uint_base (const sc_uint_subref_r &a)
 
template<class T >
 sc_uint_base (const sc_generic_base< T > &a)
 
 sc_uint_base (const sc_bv_base &v)
 
 sc_uint_base (const sc_lv_base &v)
 
 sc_uint_base (const sc_int_subref_r &v)
 
 sc_uint_base (const sc_signed_subref_r &v)
 
 sc_uint_base (const sc_unsigned_subref_r &v)
 
 sc_uint_base (const sc_signed &a)
 
 sc_uint_base (const sc_unsigned &a)
 
virtual ~sc_uint_base ()
 
sc_uint_baseoperator= (uint_type v)
 
sc_uint_baseoperator= (const sc_uint_base &a)
 
sc_uint_baseoperator= (const sc_uint_subref_r &a)
 
template<class T >
sc_uint_baseoperator= (const sc_generic_base< T > &a)
 
sc_uint_baseoperator= (const sc_signed &a)
 
sc_uint_baseoperator= (const sc_unsigned &a)
 
sc_uint_baseoperator= (const sc_bv_base &a)
 
sc_uint_baseoperator= (const sc_lv_base &a)
 
sc_uint_baseoperator= (const char *a)
 
sc_uint_baseoperator= (unsigned long a)
 
sc_uint_baseoperator= (long a)
 
sc_uint_baseoperator= (unsigned int a)
 
sc_uint_baseoperator= (int a)
 
sc_uint_baseoperator= (int64 a)
 
sc_uint_baseoperator= (double a)
 
sc_uint_baseoperator+= (uint_type v)
 
sc_uint_baseoperator-= (uint_type v)
 
sc_uint_baseoperator*= (uint_type v)
 
sc_uint_baseoperator/= (uint_type v)
 
sc_uint_baseoperator%= (uint_type v)
 
sc_uint_baseoperator&= (uint_type v)
 
sc_uint_baseoperator|= (uint_type v)
 
sc_uint_baseoperator^= (uint_type v)
 
sc_uint_baseoperator<<= (uint_type v)
 
sc_uint_baseoperator>>= (uint_type v)
 
sc_uint_baseoperator++ ()
 
const sc_uint_base operator++ (int)
 
sc_uint_baseoperator-- ()
 
const sc_uint_base operator-- (int)
 
sc_uint_bitrefoperator[] (int i)
 
const sc_uint_bitref_roperator[] (int i) const
 
sc_uint_bitrefbit (int i)
 
const sc_uint_bitref_rbit (int i) const
 
sc_uint_subrefoperator() (int left, int right)
 
const sc_uint_subref_roperator() (int left, int right) const
 
sc_uint_subrefrange (int left, int right)
 
const sc_uint_subref_rrange (int left, int right) const
 
bool test (int i) const
 
void set (int i)
 
void set (int i, bool v)
 
int length () const
 
virtual int concat_length (bool *xz_present_p) const
 
virtual bool concat_get_ctrl (sc_digit *dst_p, int low_i) const
 
virtual bool concat_get_data (sc_digit *dst_p, int low_i) const
 
virtual uint64 concat_get_uint64 () const
 
virtual void concat_set (int64 src, int low_i)
 
virtual void concat_set (const sc_signed &src, int low_i)
 
virtual void concat_set (const sc_unsigned &src, int low_i)
 
virtual void concat_set (uint64 src, int low_i)
 
bool and_reduce () const
 
bool nand_reduce () const
 
bool or_reduce () const
 
bool nor_reduce () const
 
bool xor_reduce () const
 
bool xnor_reduce () const
 
 operator uint_type () const
 
uint_type value () const
 
int to_int () const
 
unsigned int to_uint () const
 
long to_long () const
 
unsigned long to_ulong () const
 
int64 to_int64 () const
 
uint64 to_uint64 () const
 
double to_double () const
 
long long_low () const
 
long long_high () const
 
const std::string to_string (sc_numrep numrep=SC_DEC) const
 
const std::string to_string (sc_numrep numrep, bool w_prefix) const
 
void print (::std::ostream &os=::std::cout) const
 
void scan (::std::istream &is=::std::cin)
 

Protected Attributes

uint_type m_val
 
int m_len
 
int m_ulen
 

Friends

class sc_uint_bitref_r
 
class sc_uint_bitref
 
class sc_uint_subref_r
 
class sc_uint_subref
 
bool operator== (const sc_uint_base &a, const sc_uint_base &b)
 
bool operator!= (const sc_uint_base &a, const sc_uint_base &b)
 
bool operator< (const sc_uint_base &a, const sc_uint_base &b)
 
bool operator<= (const sc_uint_base &a, const sc_uint_base &b)
 
bool operator> (const sc_uint_base &a, const sc_uint_base &b)
 
bool operator>= (const sc_uint_base &a, const sc_uint_base &b)
 

Detailed Description

Base class for sc_uint.

Definition at line 534 of file sc_uint_base.h.

Constructor & Destructor Documentation

◆ sc_uint_base() [1/12]

sc_dt::sc_uint_base::sc_uint_base ( int  w = sc_length_param().len())
inlineexplicit

Definition at line 571 of file sc_uint_base.h.

◆ sc_uint_base() [2/12]

sc_dt::sc_uint_base::sc_uint_base ( uint_type  v,
int  w 
)
inline

Definition at line 575 of file sc_uint_base.h.

◆ sc_uint_base() [3/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_uint_base a)
inline

Definition at line 579 of file sc_uint_base.h.

◆ sc_uint_base() [4/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_uint_subref_r a)
inlineexplicit

Definition at line 583 of file sc_uint_base.h.

◆ sc_uint_base() [5/12]

template<class T >
sc_dt::sc_uint_base::sc_uint_base ( const sc_generic_base< T > &  a)
inlineexplicit

Definition at line 588 of file sc_uint_base.h.

◆ sc_uint_base() [6/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_bv_base v)
explicit

◆ sc_uint_base() [7/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_lv_base v)
explicit

◆ sc_uint_base() [8/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_int_subref_r v)
explicit

◆ sc_uint_base() [9/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_signed_subref_r v)
explicit

◆ sc_uint_base() [10/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_unsigned_subref_r v)
explicit

◆ sc_uint_base() [11/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_signed a)
explicit

◆ sc_uint_base() [12/12]

sc_dt::sc_uint_base::sc_uint_base ( const sc_unsigned a)
explicit

◆ ~sc_uint_base()

virtual sc_dt::sc_uint_base::~sc_uint_base ( )
inlinevirtual

Definition at line 604 of file sc_uint_base.h.

Member Function Documentation

◆ and_reduce()

bool sc_dt::sc_uint_base::and_reduce ( ) const

◆ bit() [1/2]

sc_uint_bitref & sc_dt::sc_uint_base::bit ( int  i)
inline

Definition at line 1230 of file sc_uint_base.h.

◆ bit() [2/2]

const sc_uint_bitref_r & sc_dt::sc_uint_base::bit ( int  i) const
inline

Definition at line 1240 of file sc_uint_base.h.

◆ concat_get_ctrl()

virtual bool sc_dt::sc_uint_base::concat_get_ctrl ( sc_digit dst_p,
int  low_i 
) const
virtual

Reimplemented from sc_dt::sc_value_base.

◆ concat_get_data()

virtual bool sc_dt::sc_uint_base::concat_get_data ( sc_digit dst_p,
int  low_i 
) const
virtual

Reimplemented from sc_dt::sc_value_base.

◆ concat_get_uint64()

virtual uint64 sc_dt::sc_uint_base::concat_get_uint64 ( ) const
inlinevirtual

Reimplemented from sc_dt::sc_value_base.

Definition at line 776 of file sc_uint_base.h.

◆ concat_length()

virtual int sc_dt::sc_uint_base::concat_length ( bool *  xz_present_p) const
inlinevirtual

Reimplemented from sc_dt::sc_value_base.

Definition at line 772 of file sc_uint_base.h.

◆ concat_set() [1/4]

virtual void sc_dt::sc_uint_base::concat_set ( int64  src,
int  low_i 
)
virtual

Reimplemented from sc_dt::sc_value_base.

◆ concat_set() [2/4]

virtual void sc_dt::sc_uint_base::concat_set ( const sc_signed src,
int  low_i 
)
virtual

Reimplemented from sc_dt::sc_value_base.

◆ concat_set() [3/4]

virtual void sc_dt::sc_uint_base::concat_set ( const sc_unsigned src,
int  low_i 
)
virtual

Reimplemented from sc_dt::sc_value_base.

◆ concat_set() [4/4]

virtual void sc_dt::sc_uint_base::concat_set ( uint64  src,
int  low_i 
)
virtual

Reimplemented from sc_dt::sc_value_base.

◆ length()

int sc_dt::sc_uint_base::length ( ) const
inline

Definition at line 762 of file sc_uint_base.h.

◆ long_high()

long sc_dt::sc_uint_base::long_high ( ) const
inline

Definition at line 839 of file sc_uint_base.h.

◆ long_low()

long sc_dt::sc_uint_base::long_low ( ) const
inline

Definition at line 836 of file sc_uint_base.h.

◆ nand_reduce()

bool sc_dt::sc_uint_base::nand_reduce ( ) const
inline

Definition at line 788 of file sc_uint_base.h.

◆ nor_reduce()

bool sc_dt::sc_uint_base::nor_reduce ( ) const
inline

Definition at line 793 of file sc_uint_base.h.

◆ operator uint_type()

sc_dt::sc_uint_base::operator uint_type ( ) const
inline

Definition at line 804 of file sc_uint_base.h.

◆ operator%=()

sc_uint_base& sc_dt::sc_uint_base::operator%= ( uint_type  v)
inline

Definition at line 671 of file sc_uint_base.h.

◆ operator&=()

sc_uint_base& sc_dt::sc_uint_base::operator &= ( uint_type  v)
inline

Definition at line 677 of file sc_uint_base.h.

◆ operator()() [1/2]

sc_uint_subref & sc_dt::sc_uint_base::operator() ( int  left,
int  right 
)
inline

Definition at line 1253 of file sc_uint_base.h.

◆ operator()() [2/2]

const sc_uint_subref_r & sc_dt::sc_uint_base::operator() ( int  left,
int  right 
) const
inline

Definition at line 1263 of file sc_uint_base.h.

◆ operator*=()

sc_uint_base& sc_dt::sc_uint_base::operator*= ( uint_type  v)
inline

Definition at line 665 of file sc_uint_base.h.

◆ operator++() [1/2]

sc_uint_base& sc_dt::sc_uint_base::operator++ ( )
inline

Definition at line 696 of file sc_uint_base.h.

◆ operator++() [2/2]

const sc_uint_base sc_dt::sc_uint_base::operator++ ( int  )
inline

Definition at line 699 of file sc_uint_base.h.

◆ operator+=()

sc_uint_base& sc_dt::sc_uint_base::operator+= ( uint_type  v)
inline

Definition at line 659 of file sc_uint_base.h.

◆ operator--() [1/2]

sc_uint_base& sc_dt::sc_uint_base::operator-- ( )
inline

Definition at line 702 of file sc_uint_base.h.

◆ operator--() [2/2]

const sc_uint_base sc_dt::sc_uint_base::operator-- ( int  )
inline

Definition at line 705 of file sc_uint_base.h.

◆ operator-=()

sc_uint_base& sc_dt::sc_uint_base::operator-= ( uint_type  v)
inline

Definition at line 662 of file sc_uint_base.h.

◆ operator/=()

sc_uint_base& sc_dt::sc_uint_base::operator/= ( uint_type  v)
inline

Definition at line 668 of file sc_uint_base.h.

◆ operator<<=()

sc_uint_base& sc_dt::sc_uint_base::operator<<= ( uint_type  v)
inline

Definition at line 687 of file sc_uint_base.h.

◆ operator=() [1/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( uint_type  v)
inline

Definition at line 610 of file sc_uint_base.h.

◆ operator=() [2/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( const sc_uint_base a)
inline

Definition at line 613 of file sc_uint_base.h.

◆ operator=() [3/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( const sc_uint_subref_r a)
inline

Definition at line 616 of file sc_uint_base.h.

◆ operator=() [4/15]

template<class T >
sc_uint_base& sc_dt::sc_uint_base::operator= ( const sc_generic_base< T > &  a)
inline

Definition at line 620 of file sc_uint_base.h.

◆ operator=() [5/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( const sc_signed a)

◆ operator=() [6/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( const sc_unsigned a)

◆ operator=() [7/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( const sc_bv_base a)

◆ operator=() [8/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( const sc_lv_base a)

◆ operator=() [9/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( const char *  a)

◆ operator=() [10/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( unsigned long  a)
inline

Definition at line 638 of file sc_uint_base.h.

◆ operator=() [11/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( long  a)
inline

Definition at line 641 of file sc_uint_base.h.

◆ operator=() [12/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( unsigned int  a)
inline

Definition at line 644 of file sc_uint_base.h.

◆ operator=() [13/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( int  a)
inline

Definition at line 647 of file sc_uint_base.h.

◆ operator=() [14/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( int64  a)
inline

Definition at line 650 of file sc_uint_base.h.

◆ operator=() [15/15]

sc_uint_base& sc_dt::sc_uint_base::operator= ( double  a)
inline

Definition at line 653 of file sc_uint_base.h.

◆ operator>>=()

sc_uint_base& sc_dt::sc_uint_base::operator>>= ( uint_type  v)
inline

Definition at line 690 of file sc_uint_base.h.

◆ operator[]() [1/2]

sc_uint_bitref & sc_dt::sc_uint_base::operator[] ( int  i)
inline

Definition at line 1209 of file sc_uint_base.h.

◆ operator[]() [2/2]

const sc_uint_bitref_r & sc_dt::sc_uint_base::operator[] ( int  i) const
inline

Definition at line 1219 of file sc_uint_base.h.

◆ operator^=()

sc_uint_base& sc_dt::sc_uint_base::operator^= ( uint_type  v)
inline

Definition at line 683 of file sc_uint_base.h.

◆ operator|=()

sc_uint_base& sc_dt::sc_uint_base::operator|= ( uint_type  v)
inline

Definition at line 680 of file sc_uint_base.h.

◆ or_reduce()

bool sc_dt::sc_uint_base::or_reduce ( ) const

◆ print()

void sc_dt::sc_uint_base::print ( ::std::ostream &  os = ::std::cout) const
inline

Definition at line 851 of file sc_uint_base.h.

◆ range() [1/2]

sc_uint_subref & sc_dt::sc_uint_base::range ( int  left,
int  right 
)
inline

Definition at line 1274 of file sc_uint_base.h.

◆ range() [2/2]

const sc_uint_subref_r & sc_dt::sc_uint_base::range ( int  left,
int  right 
) const
inline

Definition at line 1284 of file sc_uint_base.h.

◆ scan()

void sc_dt::sc_uint_base::scan ( ::std::istream &  is = ::std::cin)

◆ set() [1/2]

void sc_dt::sc_uint_base::set ( int  i)
inline

Definition at line 753 of file sc_uint_base.h.

◆ set() [2/2]

void sc_dt::sc_uint_base::set ( int  i,
bool  v 
)
inline

Definition at line 756 of file sc_uint_base.h.

◆ test()

bool sc_dt::sc_uint_base::test ( int  i) const
inline

Definition at line 750 of file sc_uint_base.h.

◆ to_double()

double sc_dt::sc_uint_base::to_double ( ) const
inline

Definition at line 832 of file sc_uint_base.h.

◆ to_int()

int sc_dt::sc_uint_base::to_int ( ) const
inline

Definition at line 814 of file sc_uint_base.h.

◆ to_int64()

int64 sc_dt::sc_uint_base::to_int64 ( ) const
inline

Definition at line 826 of file sc_uint_base.h.

◆ to_long()

long sc_dt::sc_uint_base::to_long ( ) const
inline

Definition at line 820 of file sc_uint_base.h.

◆ to_string() [1/2]

const std::string sc_dt::sc_uint_base::to_string ( sc_numrep  numrep = SC_DEC) const

◆ to_string() [2/2]

const std::string sc_dt::sc_uint_base::to_string ( sc_numrep  numrep,
bool  w_prefix 
) const

◆ to_uint()

unsigned int sc_dt::sc_uint_base::to_uint ( ) const
inline

Definition at line 817 of file sc_uint_base.h.

◆ to_uint64()

uint64 sc_dt::sc_uint_base::to_uint64 ( ) const
inline

Definition at line 829 of file sc_uint_base.h.

◆ to_ulong()

unsigned long sc_dt::sc_uint_base::to_ulong ( ) const
inline

Definition at line 823 of file sc_uint_base.h.

◆ value()

uint_type sc_dt::sc_uint_base::value ( ) const
inline

Definition at line 810 of file sc_uint_base.h.

◆ xnor_reduce()

bool sc_dt::sc_uint_base::xnor_reduce ( ) const
inline

Definition at line 798 of file sc_uint_base.h.

◆ xor_reduce()

bool sc_dt::sc_uint_base::xor_reduce ( ) const

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const sc_uint_base a,
const sc_uint_base b 
)
friend

Definition at line 714 of file sc_uint_base.h.

◆ operator<

bool operator< ( const sc_uint_base a,
const sc_uint_base b 
)
friend

Definition at line 717 of file sc_uint_base.h.

◆ operator<=

bool operator<= ( const sc_uint_base a,
const sc_uint_base b 
)
friend

Definition at line 720 of file sc_uint_base.h.

◆ operator==

bool operator== ( const sc_uint_base a,
const sc_uint_base b 
)
friend

Definition at line 711 of file sc_uint_base.h.

◆ operator>

bool operator> ( const sc_uint_base a,
const sc_uint_base b 
)
friend

Definition at line 723 of file sc_uint_base.h.

◆ operator>=

bool operator>= ( const sc_uint_base a,
const sc_uint_base b 
)
friend

Definition at line 726 of file sc_uint_base.h.

◆ sc_uint_bitref

friend class sc_uint_bitref
friend

Definition at line 537 of file sc_uint_base.h.

◆ sc_uint_bitref_r

friend class sc_uint_bitref_r
friend

Definition at line 536 of file sc_uint_base.h.

◆ sc_uint_subref

friend class sc_uint_subref
friend

Definition at line 539 of file sc_uint_base.h.

◆ sc_uint_subref_r

friend class sc_uint_subref_r
friend

Definition at line 538 of file sc_uint_base.h.

Member Data Documentation

◆ m_len

int sc_dt::sc_uint_base::m_len
protected

Definition at line 859 of file sc_uint_base.h.

◆ m_ulen

int sc_dt::sc_uint_base::m_ulen
protected

Definition at line 860 of file sc_uint_base.h.

◆ m_val

uint_type sc_dt::sc_uint_base::m_val
protected

Definition at line 858 of file sc_uint_base.h.


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