クラス sc_dt::sc_unsigned_subref_r

#include <sc_unsigned.h>

sc_dt::sc_unsigned_subref_rに対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

virtual ~sc_unsigned_subref_r ()
 sc_unsigned_subref_r (const sc_unsigned_subref_r &a)
int length () const
 operator sc_unsigned () 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
const std::string to_string (sc_numrep numrep=SC_DEC) const
const std::string to_string (sc_numrep numrep, bool w_prefix) const
virtual int concat_length (bool *xz_present_p) const
virtual uint64 concat_get_uint64 () 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
bool and_reduce () const
bool nand_reduce () const
bool or_reduce () const
bool nor_reduce () const
bool xor_reduce () const
bool xnor_reduce () const
void print (::std::ostream &os=::std::cout) const

Protected メソッド

 sc_unsigned_subref_r ()
void initialize (const sc_unsigned *obj_p, int left_, int right_)

Protected 変数

int m_left
sc_unsignedm_obj_p
int m_right

Private メソッド

const sc_unsigned_subref_roperator= (const sc_unsigned_subref_r &)

フレンド

class sc_signed
class sc_unsigned
class sc_unsigned_signal


説明

sc_unsigned.h782 行で定義されています。


コンストラクタとデストラクタ

sc_dt::sc_unsigned_subref_r::sc_unsigned_subref_r (  )  [inline, protected]

sc_unsigned.h792 行で定義されています。

00793         {}

virtual sc_dt::sc_unsigned_subref_r::~sc_unsigned_subref_r (  )  [inline, virtual]

sc_unsigned.h806 行で定義されています。

00807         {}

sc_dt::sc_unsigned_subref_r::sc_unsigned_subref_r ( const sc_unsigned_subref_r a  )  [inline]

sc_unsigned.h812 行で定義されています。

00813         : m_left( a.m_left ), m_obj_p( a.m_obj_p ), m_right( a.m_right )
00814         {}


関数

void sc_dt::sc_unsigned_subref_r::initialize ( const sc_unsigned obj_p,
int  left_,
int  right_ 
) [inline, protected]

sc_unsigned.h795 行で定義されています。

00796         {
00797             m_obj_p = CCAST<sc_unsigned*>( obj_p );
00798             m_left = left_;
00799             m_right = right_;
00800         }

int sc_dt::sc_unsigned_subref_r::length (  )  const [inline]

sc_unsigned.h819 行で定義されています。

00820         { return m_left >= m_right ? (m_left-m_right+1) : (m_right-m_left+1 ); }

sc_dt::sc_unsigned_subref_r::operator sc_unsigned (  )  const

sc_unsigned.cpp6097 行で定義されています。

int sc_dt::sc_unsigned_subref_r::to_int (  )  const

sc_unsigned.cpp6106 行で定義されています。

unsigned int sc_dt::sc_unsigned_subref_r::to_uint (  )  const

sc_unsigned.cpp6113 行で定義されています。

long sc_dt::sc_unsigned_subref_r::to_long (  )  const

sc_unsigned.cpp6120 行で定義されています。

unsigned long sc_dt::sc_unsigned_subref_r::to_ulong (  )  const

sc_unsigned.cpp6127 行で定義されています。

int64 sc_dt::sc_unsigned_subref_r::to_int64 (  )  const

sc_unsigned.cpp6134 行で定義されています。

uint64 sc_dt::sc_unsigned_subref_r::to_uint64 (  )  const

sc_unsigned.cpp6141 行で定義されています。

double sc_dt::sc_unsigned_subref_r::to_double (  )  const

sc_unsigned.cpp6148 行で定義されています。

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

sc_unsigned.cpp6158 行で定義されています。

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

sc_unsigned.cpp6166 行で定義されています。

virtual int sc_dt::sc_unsigned_subref_r::concat_length ( bool *  xz_present_p  )  const [inline, virtual]

sc_dt::sc_value_baseを再定義しています。

sc_unsigned.h847 行で定義されています。

00848         {
00849             if ( xz_present_p ) *xz_present_p = false;
00850             return m_left - m_right + 1;
00851         }

uint64 sc_dt::sc_unsigned_subref_r::concat_get_uint64 (  )  const [virtual]

sc_dt::sc_value_baseを再定義しています。

sc_unsigned.cpp6073 行で定義されています。

bool sc_dt::sc_unsigned_subref_r::concat_get_ctrl ( sc_digit dst_p,
int  low_i 
) const [virtual]

sc_dt::sc_value_baseを再定義しています。

sc_unsigned.cpp6080 行で定義されています。

bool sc_dt::sc_unsigned_subref_r::concat_get_data ( sc_digit dst_p,
int  low_i 
) const [virtual]

sc_dt::sc_value_baseを再定義しています。

sc_unsigned.cpp6087 行で定義されています。

bool sc_dt::sc_unsigned_subref_r::and_reduce (  )  const [inline]

sc_unsigned.h2047 行で定義されています。

02048 {
02049    const sc_unsigned* target_p = m_obj_p;
02050    for ( int i = m_right; i <= m_left; i++ )
02051         if ( !target_p->test(i) ) return false;
02052    return true;
02053 }

bool sc_dt::sc_unsigned_subref_r::nand_reduce (  )  const [inline]

sc_unsigned.h2055 行で定義されています。

02056 {
02057     return !and_reduce();
02058 }

bool sc_dt::sc_unsigned_subref_r::or_reduce (  )  const [inline]

sc_unsigned.h2060 行で定義されています。

02061 {
02062    const sc_unsigned* target_p = m_obj_p;
02063    for ( int i = m_right; i <= m_left; i++ )
02064         if ( target_p->test(i) ) return true;
02065    return false;
02066 }

bool sc_dt::sc_unsigned_subref_r::nor_reduce (  )  const [inline]

sc_unsigned.h2068 行で定義されています。

02069 {
02070     return !or_reduce();
02071 }

bool sc_dt::sc_unsigned_subref_r::xor_reduce (  )  const [inline]

sc_unsigned.h2073 行で定義されています。

02074 {
02075    int                odd;
02076    const sc_unsigned* target_p = m_obj_p;
02077    odd = 0;
02078    for ( int i = m_right; i <= m_left; i++ )
02079         if ( target_p->test(i) ) odd = ~odd;
02080    return odd ? true : false;
02081 }

bool sc_dt::sc_unsigned_subref_r::xnor_reduce (  )  const [inline]

sc_unsigned.h2083 行で定義されています。

02084 {
02085     return !xor_reduce();
02086 }

void sc_dt::sc_unsigned_subref_r::print ( ::std::ostream &  os = ::std::cout  )  const [inline]

sc_unsigned.h867 行で定義されています。

00868         { os << to_string(sc_io_base(os,SC_DEC),sc_io_show_base(os)); }

const sc_unsigned_subref_r& sc_dt::sc_unsigned_subref_r::operator= ( const sc_unsigned_subref_r  )  [private]

sc_dt::sc_unsigned_subrefで再定義されています。


フレンドと関連する関数

friend class sc_signed [friend]

sc_unsigned.h784 行で定義されています。

friend class sc_unsigned [friend]

sc_dt::sc_unsigned_subrefで再定義されています。

sc_unsigned.h785 行で定義されています。

friend class sc_unsigned_signal [friend]

sc_unsigned.h786 行で定義されています。


変数

sc_unsigned.h872 行で定義されています。

sc_unsigned.h873 行で定義されています。

sc_unsigned.h874 行で定義されています。


このクラスの説明は次のファイルから生成されました:

SystemCに対してFri Jun 6 20:13:03 2008に生成されました。  doxygen 1.5.6