SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_dt::sc_int< W > Class Template Reference

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

Inheritance diagram for sc_dt::sc_int< W >:
Collaboration diagram for sc_dt::sc_int< W >:

Public Member Functions

 sc_int ()
 
 sc_int (int_type v)
 
 sc_int (const sc_int< W > &a)
 
 sc_int (const sc_int_base &a)
 
 sc_int (const sc_int_subref_r &a)
 
template<class T >
 sc_int (const sc_generic_base< T > &a)
 
 sc_int (const sc_signed &a)
 
 sc_int (const sc_unsigned &a)
 
 sc_int (const sc_bv_base &a)
 
 sc_int (const sc_lv_base &a)
 
 sc_int (const char *a)
 
 sc_int (unsigned long a)
 
 sc_int (long a)
 
 sc_int (unsigned int a)
 
 sc_int (int a)
 
 sc_int (uint64 a)
 
 sc_int (double a)
 
sc_int< W > & operator= (int_type v)
 
sc_int< W > & operator= (const sc_int_base &a)
 
sc_int< W > & operator= (const sc_int_subref_r &a)
 
sc_int< W > & operator= (const sc_int< W > &a)
 
template<class T >
sc_int< W > & operator= (const sc_generic_base< T > &a)
 
sc_int< W > & operator= (const sc_signed &a)
 
sc_int< W > & operator= (const sc_unsigned &a)
 
sc_int< W > & operator= (const sc_bv_base &a)
 
sc_int< W > & operator= (const sc_lv_base &a)
 
sc_int< W > & operator= (const char *a)
 
sc_int< W > & operator= (unsigned long a)
 
sc_int< W > & operator= (long a)
 
sc_int< W > & operator= (unsigned int a)
 
sc_int< W > & operator= (int a)
 
sc_int< W > & operator= (uint64 a)
 
sc_int< W > & operator= (double a)
 
sc_int< W > & operator+= (int_type v)
 
sc_int< W > & operator-= (int_type v)
 
sc_int< W > & operator*= (int_type v)
 
sc_int< W > & operator/= (int_type v)
 
sc_int< W > & operator%= (int_type v)
 
sc_int< W > & operator&= (int_type v)
 
sc_int< W > & operator|= (int_type v)
 
sc_int< W > & operator^= (int_type v)
 
sc_int< W > & operator<<= (int_type v)
 
sc_int< W > & operator>>= (int_type v)
 
sc_int< W > & operator++ ()
 
const sc_int< W > operator++ (int)
 
sc_int< W > & operator-- ()
 
const sc_int< W > operator-- (int)
 
sc_int_bitrefoperator[] (int i)
 
const sc_int_bitref_roperator[] (int i) const
 
sc_int_bitrefbit (int i)
 
const sc_int_bitref_rbit (int i) const
 
sc_int_subrefoperator() (int left, int right)
 
const sc_int_subref_roperator() (int left, int right) const
 
sc_int_subrefrange (int left, int right)
 
const sc_int_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 int_type () const
 
int_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

int_type m_val
 
int m_len
 
int m_ulen
 

Detailed Description

template<int W>
class sc_dt::sc_int< W >

Definition at line 77 of file sc_int.h.

Constructor & Destructor Documentation

◆ sc_int() [1/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( )
inline

Definition at line 98 of file sc_int.h.

◆ sc_int() [2/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( int_type  v)
inline

Definition at line 102 of file sc_int.h.

◆ sc_int() [3/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const sc_int< W > &  a)
inline

Definition at line 106 of file sc_int.h.

◆ sc_int() [4/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const sc_int_base a)
inline

Definition at line 110 of file sc_int.h.

◆ sc_int() [5/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const sc_int_subref_r a)
inline

Definition at line 114 of file sc_int.h.

◆ sc_int() [6/17]

template<int W>
template<class T >
sc_dt::sc_int< W >::sc_int ( const sc_generic_base< T > &  a)
inline

Definition at line 119 of file sc_int.h.

◆ sc_int() [7/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const sc_signed a)
inline

Definition at line 123 of file sc_int.h.

◆ sc_int() [8/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const sc_unsigned a)
inline

Definition at line 127 of file sc_int.h.

◆ sc_int() [9/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const sc_bv_base a)
inline

Definition at line 151 of file sc_int.h.

◆ sc_int() [10/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const sc_lv_base a)
inline

Definition at line 155 of file sc_int.h.

◆ sc_int() [11/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( const char *  a)
inline

Definition at line 159 of file sc_int.h.

◆ sc_int() [12/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( unsigned long  a)
inline

Definition at line 163 of file sc_int.h.

◆ sc_int() [13/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( long  a)
inline

Definition at line 167 of file sc_int.h.

◆ sc_int() [14/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( unsigned int  a)
inline

Definition at line 171 of file sc_int.h.

◆ sc_int() [15/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( int  a)
inline

Definition at line 175 of file sc_int.h.

◆ sc_int() [16/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( uint64  a)
inline

Definition at line 179 of file sc_int.h.

◆ sc_int() [17/17]

template<int W>
sc_dt::sc_int< W >::sc_int ( double  a)
inline

Definition at line 183 of file sc_int.h.

Member Function Documentation

◆ and_reduce()

bool sc_dt::sc_int_base::and_reduce ( ) const
inherited

◆ bit() [1/2]

sc_int_bitref & sc_dt::sc_int_base::bit ( int  i)
inlineinherited

Definition at line 1259 of file sc_int_base.h.

◆ bit() [2/2]

const sc_int_bitref_r & sc_dt::sc_int_base::bit ( int  i) const
inlineinherited

Definition at line 1269 of file sc_int_base.h.

◆ concat_get_ctrl()

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

Reimplemented from sc_dt::sc_value_base.

◆ concat_get_data()

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

Reimplemented from sc_dt::sc_value_base.

◆ concat_get_uint64()

virtual uint64 sc_dt::sc_int_base::concat_get_uint64 ( ) const
inlinevirtualinherited

Reimplemented from sc_dt::sc_value_base.

Definition at line 791 of file sc_int_base.h.

◆ concat_length()

virtual int sc_dt::sc_int_base::concat_length ( bool *  xz_present_p) const
inlinevirtualinherited

Reimplemented from sc_dt::sc_value_base.

Definition at line 787 of file sc_int_base.h.

◆ concat_set() [1/4]

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

Reimplemented from sc_dt::sc_value_base.

◆ concat_set() [2/4]

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

Reimplemented from sc_dt::sc_value_base.

◆ concat_set() [3/4]

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

Reimplemented from sc_dt::sc_value_base.

◆ concat_set() [4/4]

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

Reimplemented from sc_dt::sc_value_base.

◆ length()

int sc_dt::sc_int_base::length ( ) const
inlineinherited

Definition at line 777 of file sc_int_base.h.

◆ long_high()

long sc_dt::sc_int_base::long_high ( ) const
inlineinherited

Definition at line 859 of file sc_int_base.h.

◆ long_low()

long sc_dt::sc_int_base::long_low ( ) const
inlineinherited

Definition at line 856 of file sc_int_base.h.

◆ nand_reduce()

bool sc_dt::sc_int_base::nand_reduce ( ) const
inlineinherited

Definition at line 808 of file sc_int_base.h.

◆ nor_reduce()

bool sc_dt::sc_int_base::nor_reduce ( ) const
inlineinherited

Definition at line 813 of file sc_int_base.h.

◆ operator int_type()

sc_dt::sc_int_base::operator int_type ( ) const
inlineinherited

Definition at line 824 of file sc_int_base.h.

◆ operator%=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator%= ( int_type  v)
inline

Definition at line 270 of file sc_int.h.

◆ operator&=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator &= ( int_type  v)
inline

Definition at line 276 of file sc_int.h.

◆ operator()() [1/2]

sc_int_subref & sc_dt::sc_int_base::operator() ( int  left,
int  right 
)
inlineinherited

Definition at line 1282 of file sc_int_base.h.

◆ operator()() [2/2]

const sc_int_subref_r & sc_dt::sc_int_base::operator() ( int  left,
int  right 
) const
inlineinherited

Definition at line 1292 of file sc_int_base.h.

◆ operator*=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator*= ( int_type  v)
inline

Definition at line 264 of file sc_int.h.

◆ operator++() [1/2]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator++ ( )
inline

Definition at line 295 of file sc_int.h.

◆ operator++() [2/2]

template<int W>
const sc_int<W> sc_dt::sc_int< W >::operator++ ( int  )
inline

Definition at line 298 of file sc_int.h.

◆ operator+=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator+= ( int_type  v)
inline

Definition at line 258 of file sc_int.h.

◆ operator--() [1/2]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator-- ( )
inline

Definition at line 301 of file sc_int.h.

◆ operator--() [2/2]

template<int W>
const sc_int<W> sc_dt::sc_int< W >::operator-- ( int  )
inline

Definition at line 304 of file sc_int.h.

◆ operator-=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator-= ( int_type  v)
inline

Definition at line 261 of file sc_int.h.

◆ operator/=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator/= ( int_type  v)
inline

Definition at line 267 of file sc_int.h.

◆ operator<<=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator<<= ( int_type  v)
inline

Definition at line 286 of file sc_int.h.

◆ operator=() [1/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( int_type  v)
inline

Definition at line 190 of file sc_int.h.

◆ operator=() [2/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const sc_int_base a)
inline

Definition at line 193 of file sc_int.h.

◆ operator=() [3/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const sc_int_subref_r a)
inline

Definition at line 196 of file sc_int.h.

◆ operator=() [4/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const sc_int< W > &  a)
inline

Definition at line 199 of file sc_int.h.

◆ operator=() [5/16]

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

Definition at line 203 of file sc_int.h.

◆ operator=() [6/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const sc_signed a)
inline

Definition at line 206 of file sc_int.h.

◆ operator=() [7/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const sc_unsigned a)
inline

Definition at line 209 of file sc_int.h.

◆ operator=() [8/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const sc_bv_base a)
inline

Definition at line 228 of file sc_int.h.

◆ operator=() [9/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const sc_lv_base a)
inline

Definition at line 231 of file sc_int.h.

◆ operator=() [10/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( const char *  a)
inline

Definition at line 234 of file sc_int.h.

◆ operator=() [11/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( unsigned long  a)
inline

Definition at line 237 of file sc_int.h.

◆ operator=() [12/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( long  a)
inline

Definition at line 240 of file sc_int.h.

◆ operator=() [13/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( unsigned int  a)
inline

Definition at line 243 of file sc_int.h.

◆ operator=() [14/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( int  a)
inline

Definition at line 246 of file sc_int.h.

◆ operator=() [15/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( uint64  a)
inline

Definition at line 249 of file sc_int.h.

◆ operator=() [16/16]

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator= ( double  a)
inline

Definition at line 252 of file sc_int.h.

◆ operator>>=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator>>= ( int_type  v)
inline

Definition at line 289 of file sc_int.h.

◆ operator[]() [1/2]

sc_int_bitref & sc_dt::sc_int_base::operator[] ( int  i)
inlineinherited

Definition at line 1238 of file sc_int_base.h.

◆ operator[]() [2/2]

const sc_int_bitref_r & sc_dt::sc_int_base::operator[] ( int  i) const
inlineinherited

Definition at line 1248 of file sc_int_base.h.

◆ operator^=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator^= ( int_type  v)
inline

Definition at line 282 of file sc_int.h.

◆ operator|=()

template<int W>
sc_int<W>& sc_dt::sc_int< W >::operator|= ( int_type  v)
inline

Definition at line 279 of file sc_int.h.

◆ or_reduce()

bool sc_dt::sc_int_base::or_reduce ( ) const
inherited

◆ print()

void sc_dt::sc_int_base::print ( ::std::ostream &  os = ::std::cout) const
inlineinherited

Definition at line 871 of file sc_int_base.h.

◆ range() [1/2]

sc_int_subref & sc_dt::sc_int_base::range ( int  left,
int  right 
)
inlineinherited

Definition at line 1303 of file sc_int_base.h.

◆ range() [2/2]

const sc_int_subref_r & sc_dt::sc_int_base::range ( int  left,
int  right 
) const
inlineinherited

Definition at line 1313 of file sc_int_base.h.

◆ scan()

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

◆ set() [1/2]

void sc_dt::sc_int_base::set ( int  i)
inlineinherited

Definition at line 768 of file sc_int_base.h.

◆ set() [2/2]

void sc_dt::sc_int_base::set ( int  i,
bool  v 
)
inlineinherited

Definition at line 771 of file sc_int_base.h.

◆ test()

bool sc_dt::sc_int_base::test ( int  i) const
inlineinherited

Definition at line 765 of file sc_int_base.h.

◆ to_double()

double sc_dt::sc_int_base::to_double ( ) const
inlineinherited

Definition at line 852 of file sc_int_base.h.

◆ to_int()

int sc_dt::sc_int_base::to_int ( ) const
inlineinherited

Definition at line 834 of file sc_int_base.h.

◆ to_int64()

int64 sc_dt::sc_int_base::to_int64 ( ) const
inlineinherited

Definition at line 846 of file sc_int_base.h.

◆ to_long()

long sc_dt::sc_int_base::to_long ( ) const
inlineinherited

Definition at line 840 of file sc_int_base.h.

◆ to_string() [1/2]

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

◆ to_string() [2/2]

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

◆ to_uint()

unsigned int sc_dt::sc_int_base::to_uint ( ) const
inlineinherited

Definition at line 837 of file sc_int_base.h.

◆ to_uint64()

uint64 sc_dt::sc_int_base::to_uint64 ( ) const
inlineinherited

Definition at line 849 of file sc_int_base.h.

◆ to_ulong()

unsigned long sc_dt::sc_int_base::to_ulong ( ) const
inlineinherited

Definition at line 843 of file sc_int_base.h.

◆ value()

int_type sc_dt::sc_int_base::value ( ) const
inlineinherited

Definition at line 830 of file sc_int_base.h.

◆ xnor_reduce()

bool sc_dt::sc_int_base::xnor_reduce ( ) const
inlineinherited

Definition at line 818 of file sc_int_base.h.

◆ xor_reduce()

bool sc_dt::sc_int_base::xor_reduce ( ) const
inherited

Member Data Documentation

◆ m_len

int sc_dt::sc_int_base::m_len
protectedinherited

Definition at line 879 of file sc_int_base.h.

◆ m_ulen

int sc_dt::sc_int_base::m_ulen
protectedinherited

Definition at line 880 of file sc_int_base.h.

◆ m_val

int_type sc_dt::sc_int_base::m_val
protectedinherited

Definition at line 878 of file sc_int_base.h.


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