クラス sc_dt::sc_fxnum

#include <sc_fxnum.h>

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

Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

const sc_fxval operator- () const
const sc_fxval operator+ () const
const sc_fxval operator++ (int)
const sc_fxval operator-- (int)
sc_fxnumoperator++ ()
sc_fxnumoperator-- ()
const sc_fxnum_bitref operator[] (int) const
sc_fxnum_bitref operator[] (int)
const sc_fxnum_bitref bit (int) const
sc_fxnum_bitref bit (int)
const sc_fxnum_subref operator() (int, int) const
sc_fxnum_subref operator() (int, int)
const sc_fxnum_subref range (int, int) const
sc_fxnum_subref range (int, int)
const sc_fxnum_subref operator() () const
sc_fxnum_subref operator() ()
const sc_fxnum_subref range () const
sc_fxnum_subref range ()
 operator double () const
short to_short () const
unsigned short to_ushort () 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
float to_float () const
double to_double () const
const std::string to_string () const
const std::string to_string (sc_numrep) const
const std::string to_string (sc_numrep, bool) const
const std::string to_string (sc_fmt) const
const std::string to_string (sc_numrep, sc_fmt) const
const std::string to_string (sc_numrep, bool, sc_fmt) const
const std::string to_dec () const
const std::string to_bin () const
const std::string to_oct () const
const std::string to_hex () const
bool is_neg () const
bool is_zero () const
bool is_normal () const
bool quantization_flag () const
bool overflow_flag () const
const sc_fxval value () const
int wl () const
int iwl () const
sc_q_mode q_mode () const
sc_o_mode o_mode () const
int n_bits () const
const sc_fxtype_paramstype_params () const
const sc_fxcast_switchcast_switch () const
void print (::std::ostream &=::std::cout) const
void scan (::std::istream &=::std::cin)
void dump (::std::ostream &=::std::cout) const
void observer_read () const
bool get_bit (int) const

Protected メソッド

sc_fxnum_observerobserver () const
void cast ()
 sc_fxnum (const sc_fxtype_params &, sc_enc, const sc_fxcast_switch &, sc_fxnum_observer *)
 ~sc_fxnum ()
const scfx_repget_rep () const
bool set_bit (int, bool)
bool get_slice (int, int, sc_bv_base &) const
bool set_slice (int, int, const sc_bv_base &)
sc_fxnum_observerlock_observer () const
void unlock_observer (sc_fxnum_observer *) const

Private メソッド

 sc_fxnum ()
 sc_fxnum (const sc_fxnum &)

Private 変数

scfx_repm_rep
scfx_params m_params
bool m_q_flag
bool m_o_flag
sc_fxnum_observerm_observer

フレンド

class sc_fxval
class sc_fxnum_bitref
class sc_fxnum_subref
class sc_fxnum_fast_bitref
class sc_fxnum_fast_subref
class sc_core::vcd_sc_fxnum_trace
class sc_core::wif_sc_fxnum_trace
void neg (sc_fxval &, const sc_fxnum &)
void neg (sc_fxnum &, const sc_fxnum &)
const sc_fxval operator/ (const sc_fxnum &, const sc_fxnum &)
const sc_fxval operator<< (const sc_fxnum &, int)
const sc_fxval operator>> (const sc_fxnum &, int)
void lshift (sc_fxval &, const sc_fxnum &, int)
void rshift (sc_fxval &, const sc_fxnum &, int)
void lshift (sc_fxnum &, const sc_fxnum &, int)
void rshift (sc_fxnum &, const sc_fxnum &, int)


説明

sc_fxnum.h549 行で定義されています。


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

sc_dt::sc_fxnum::sc_fxnum ( const sc_fxtype_params type_params_,
sc_enc  enc_,
const sc_fxcast_switch cast_sw,
sc_fxnum_observer observer_ 
) [inline, protected]

sc_fxnum.h2557 行で定義されています。

02561 : m_rep( new scfx_rep ),
02562   m_params( type_params_, enc_, cast_sw ),
02563   m_q_flag( false ),
02564   m_o_flag( false ),
02565   m_observer( observer_ )
02566 {
02567     SC_FXNUM_OBSERVER_DEFAULT_
02568     SC_FXNUM_OBSERVER_CONSTRUCT_( *this )
02569 }

sc_dt::sc_fxnum::~sc_fxnum (  )  [inline, protected]

sc_fxnum.h2622 行で定義されています。

02623 {
02624     SC_FXNUM_OBSERVER_DESTRUCT_( *this )
02625     delete m_rep;
02626 }

sc_dt::sc_fxnum::sc_fxnum (  )  [private]

sc_dt::sc_fxnum::sc_fxnum ( const sc_fxnum  )  [private]


関数

sc_fxnum_observer * sc_dt::sc_fxnum::observer (  )  const [inline, protected]

sc_fxnum.h2537 行で定義されています。

02538 {
02539     return m_observer;
02540 }

void sc_dt::sc_fxnum::cast (  )  [inline, protected]

sc_fxnum.h2545 行で定義されています。

02546 {
02547     SC_ERROR_IF_( ! m_rep->is_normal(), sc_core::SC_ID_INVALID_FX_VALUE_ );
02548 
02549     if( m_params.cast_switch() == SC_ON )
02550         m_rep->cast( m_params, m_q_flag, m_o_flag );
02551 }

const scfx_rep * sc_dt::sc_fxnum::get_rep (  )  const [inline, protected]

sc_fxnum.h2632 行で定義されています。

02633 {
02634     SC_FXNUM_OBSERVER_READ_( *this )
02635     return m_rep;
02636 }

const sc_fxval sc_dt::sc_fxnum::operator- (  )  const [inline]

sc_fxnum.h2643 行で定義されています。

02644 {
02645     SC_FXNUM_OBSERVER_READ_( *this )
02646     return sc_fxval( sc_dt::neg_scfx_rep( *m_rep ) );
02647 }

const sc_fxval sc_dt::sc_fxnum::operator+ (  )  const [inline]

sc_fxnum.h2651 行で定義されています。

02652 {
02653     SC_FXNUM_OBSERVER_READ_( *this )
02654     return sc_fxval( new scfx_rep( *m_rep ) );
02655 }

const sc_fxval sc_dt::sc_fxnum::operator++ ( int   )  [inline]

sc_dt::sc_fix, sc_dt::sc_fixed< W, I, Q, O, N >, sc_dt::sc_ufix, と sc_dt::sc_ufixed< W, I, Q, O, N >で再定義されています。

sc_fxnum.h3241 行で定義されています。

03242 {
03243     sc_fxval c( *this );
03244     (*this) += 1;
03245     return c;
03246 }

const sc_fxval sc_dt::sc_fxnum::operator-- ( int   )  [inline]

sc_dt::sc_fix, sc_dt::sc_fixed< W, I, Q, O, N >, sc_dt::sc_ufix, と sc_dt::sc_ufixed< W, I, Q, O, N >で再定義されています。

sc_fxnum.h3250 行で定義されています。

03251 {
03252     sc_fxval c( *this );
03253     (*this) -= 1;
03254     return c;
03255 }

sc_fxnum & sc_dt::sc_fxnum::operator++ (  )  [inline]

sc_dt::sc_fix, sc_dt::sc_fixed< W, I, Q, O, N >, sc_dt::sc_ufix, と sc_dt::sc_ufixed< W, I, Q, O, N >で再定義されています。

sc_fxnum.h3259 行で定義されています。

03260 {
03261     (*this) += 1;
03262     return *this;
03263 }

sc_fxnum & sc_dt::sc_fxnum::operator-- (  )  [inline]

sc_dt::sc_fix, sc_dt::sc_fixed< W, I, Q, O, N >, sc_dt::sc_ufix, と sc_dt::sc_ufixed< W, I, Q, O, N >で再定義されています。

sc_fxnum.h3267 行で定義されています。

03268 {
03269     (*this) -= 1;
03270     return *this;
03271 }

const sc_fxnum_bitref sc_dt::sc_fxnum::operator[] ( int  i  )  const [inline]

sc_fxnum.h3278 行で定義されています。

03279 {
03280     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03281     return sc_fxnum_bitref( const_cast<sc_fxnum&>( *this ),
03282                             i - m_params.fwl() );
03283 }

sc_fxnum_bitref sc_dt::sc_fxnum::operator[] ( int  i  )  [inline]

sc_fxnum.h3287 行で定義されています。

03288 {
03289     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03290     return sc_fxnum_bitref( *this, i - m_params.fwl() );
03291 }

const sc_fxnum_bitref sc_dt::sc_fxnum::bit ( int  i  )  const [inline]

sc_fxnum.h3295 行で定義されています。

03296 {
03297     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03298     return sc_fxnum_bitref( const_cast<sc_fxnum&>( *this ),
03299                             i - m_params.fwl() );
03300 }

sc_fxnum_bitref sc_dt::sc_fxnum::bit ( int  i  )  [inline]

sc_fxnum.h3304 行で定義されています。

03305 {
03306     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03307     return sc_fxnum_bitref( *this, i - m_params.fwl() );
03308 }

const sc_fxnum_subref sc_dt::sc_fxnum::operator() ( int  i,
int  j 
) const [inline]

sc_fxnum.h3315 行で定義されています。

03316 {
03317     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03318     SC_ERROR_IF_( j < 0 || j >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03319 
03320     return sc_fxnum_subref( const_cast<sc_fxnum&>( *this ),
03321                             i - m_params.fwl(), j - m_params.fwl() );
03322 }

sc_fxnum_subref sc_dt::sc_fxnum::operator() ( int  i,
int  j 
) [inline]

sc_fxnum.h3326 行で定義されています。

03327 {
03328     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03329     SC_ERROR_IF_( j < 0 || j >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03330 
03331     return sc_fxnum_subref( *this, i - m_params.fwl(), j - m_params.fwl() );
03332 }

const sc_fxnum_subref sc_dt::sc_fxnum::range ( int  i,
int  j 
) const [inline]

sc_fxnum.h3336 行で定義されています。

03337 {
03338     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03339     SC_ERROR_IF_( j < 0 || j >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03340 
03341     return sc_fxnum_subref( const_cast<sc_fxnum&>( *this ),
03342                             i - m_params.fwl(), j - m_params.fwl() );
03343 }

sc_fxnum_subref sc_dt::sc_fxnum::range ( int  i,
int  j 
) [inline]

sc_fxnum.h3347 行で定義されています。

03348 {
03349     SC_ERROR_IF_( i < 0 || i >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03350     SC_ERROR_IF_( j < 0 || j >= m_params.wl(), sc_core::SC_ID_OUT_OF_RANGE_ );
03351 
03352     return sc_fxnum_subref( *this, i - m_params.fwl(), j - m_params.fwl() );
03353 }

const sc_fxnum_subref sc_dt::sc_fxnum::operator() (  )  const [inline]

sc_fxnum.h3358 行で定義されています。

03359 {
03360     return this->operator () ( m_params.wl() - 1, 0 );
03361 }

sc_fxnum_subref sc_dt::sc_fxnum::operator() (  )  [inline]

sc_fxnum.h3365 行で定義されています。

03366 {
03367     return this->operator () ( m_params.wl() - 1, 0 );
03368 }

const sc_fxnum_subref sc_dt::sc_fxnum::range (  )  const [inline]

sc_fxnum.h3372 行で定義されています。

03373 {
03374     return this->range( m_params.wl() - 1, 0 );
03375 }

sc_fxnum_subref sc_dt::sc_fxnum::range (  )  [inline]

sc_fxnum.h3379 行で定義されています。

03380 {
03381     return this->range( m_params.wl() - 1, 0 );
03382 }

sc_dt::sc_fxnum::operator double (  )  const [inline]

sc_fxnum.h3388 行で定義されています。

03389 {
03390     SC_FXNUM_OBSERVER_READ_( *this )
03391     return m_rep->to_double();
03392 }

short sc_dt::sc_fxnum::to_short (  )  const [inline]

sc_fxnum.h3399 行で定義されています。

03400 {
03401     SC_FXNUM_OBSERVER_READ_( *this )
03402     return static_cast<short>( m_rep->to_double() );
03403 }

unsigned short sc_dt::sc_fxnum::to_ushort (  )  const [inline]

sc_fxnum.h3407 行で定義されています。

03408 {
03409     SC_FXNUM_OBSERVER_READ_( *this )
03410     return static_cast<unsigned short>( m_rep->to_double() );
03411 }

int sc_dt::sc_fxnum::to_int (  )  const [inline]

sc_fxnum.h3415 行で定義されています。

03416 {
03417     SC_FXNUM_OBSERVER_READ_( *this )
03418     return static_cast<int>( m_rep->to_double() );
03419 }

unsigned int sc_dt::sc_fxnum::to_uint (  )  const [inline]

sc_fxnum.h3431 行で定義されています。

03432 {
03433     SC_FXNUM_OBSERVER_READ_( *this )
03434     return static_cast<unsigned int>( m_rep->to_double() );
03435 }

long sc_dt::sc_fxnum::to_long (  )  const [inline]

sc_fxnum.h3447 行で定義されています。

03448 {
03449     SC_FXNUM_OBSERVER_READ_( *this )
03450     return static_cast<long>( m_rep->to_double() );
03451 }

unsigned long sc_dt::sc_fxnum::to_ulong (  )  const [inline]

sc_fxnum.h3455 行で定義されています。

03456 {
03457     SC_FXNUM_OBSERVER_READ_( *this )
03458     return static_cast<unsigned long>( m_rep->to_double() );
03459 }

int64 sc_dt::sc_fxnum::to_int64 (  )  const [inline]

sc_fxnum.h3423 行で定義されています。

03424 {
03425     SC_FXNUM_OBSERVER_READ_( *this )
03426     return static_cast<int64>( m_rep->to_double() );
03427 }

uint64 sc_dt::sc_fxnum::to_uint64 (  )  const [inline]

sc_fxnum.h3439 行で定義されています。

03440 {
03441     SC_FXNUM_OBSERVER_READ_( *this )
03442     return static_cast<uint64>( m_rep->to_double() );
03443 }

float sc_dt::sc_fxnum::to_float (  )  const [inline]

sc_fxnum.h3463 行で定義されています。

03464 {
03465     SC_FXNUM_OBSERVER_READ_( *this )
03466     return static_cast<float>( m_rep->to_double() );
03467 }

double sc_dt::sc_fxnum::to_double (  )  const [inline]

sc_fxnum.h3471 行で定義されています。

03472 {
03473     SC_FXNUM_OBSERVER_READ_( *this )
03474     return m_rep->to_double();
03475 }

const std::string sc_dt::sc_fxnum::to_string (  )  const

sc_fxnum.cpp255 行で定義されています。

00256 {
00257     return std::string( m_rep->to_string( SC_DEC, -1, SC_F, &m_params ) );
00258 }

const std::string sc_dt::sc_fxnum::to_string ( sc_numrep  numrep  )  const

sc_fxnum.cpp261 行で定義されています。

00262 {
00263     return std::string( m_rep->to_string( numrep, -1, SC_F, &m_params ) );
00264 }

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

sc_fxnum.cpp267 行で定義されています。

00268 {
00269     return std::string( m_rep->to_string( numrep, (w_prefix ? 1 : 0),
00270                                         SC_F, &m_params ) );
00271 }

const std::string sc_dt::sc_fxnum::to_string ( sc_fmt  fmt  )  const

sc_fxnum.cpp274 行で定義されています。

00275 {
00276     return std::string( m_rep->to_string( SC_DEC, -1, fmt, &m_params ) );
00277 }

const std::string sc_dt::sc_fxnum::to_string ( sc_numrep  numrep,
sc_fmt  fmt 
) const

sc_fxnum.cpp280 行で定義されています。

00281 {
00282     return std::string( m_rep->to_string( numrep, -1, fmt, &m_params ) );
00283 }

const std::string sc_dt::sc_fxnum::to_string ( sc_numrep  numrep,
bool  w_prefix,
sc_fmt  fmt 
) const

sc_fxnum.cpp286 行で定義されています。

00287 {
00288     return std::string( m_rep->to_string( numrep, (w_prefix ? 1 : 0),
00289                                         fmt, &m_params ) );
00290 }

const std::string sc_dt::sc_fxnum::to_dec (  )  const

sc_fxnum.cpp294 行で定義されています。

00295 {
00296     return std::string( m_rep->to_string( SC_DEC, -1, SC_F, &m_params ) );
00297 }

const std::string sc_dt::sc_fxnum::to_bin (  )  const

sc_fxnum.cpp300 行で定義されています。

00301 {
00302     return std::string( m_rep->to_string( SC_BIN, -1, SC_F, &m_params ) );
00303 }

const std::string sc_dt::sc_fxnum::to_oct (  )  const

sc_fxnum.cpp306 行で定義されています。

00307 {
00308     return std::string( m_rep->to_string( SC_OCT, -1, SC_F, &m_params ) );
00309 }

const std::string sc_dt::sc_fxnum::to_hex (  )  const

sc_fxnum.cpp312 行で定義されています。

00313 {
00314     return std::string( m_rep->to_string( SC_HEX, -1, SC_F, &m_params ) );
00315 }

bool sc_dt::sc_fxnum::is_neg (  )  const [inline]

sc_fxnum.h3482 行で定義されています。

03483 {
03484     SC_FXNUM_OBSERVER_READ_( *this )
03485     return m_rep->is_neg();
03486 }

bool sc_dt::sc_fxnum::is_zero (  )  const [inline]

sc_fxnum.h3490 行で定義されています。

03491 {
03492     SC_FXNUM_OBSERVER_READ_( *this )
03493     return m_rep->is_zero();
03494 }

bool sc_dt::sc_fxnum::is_normal (  )  const [inline]

sc_fxnum.h3499 行で定義されています。

03500 {
03501     SC_FXNUM_OBSERVER_READ_( *this )
03502     return m_rep->is_normal();
03503 }

bool sc_dt::sc_fxnum::quantization_flag (  )  const [inline]

sc_fxnum.h3507 行で定義されています。

03508 {
03509     return m_q_flag;
03510 }

bool sc_dt::sc_fxnum::overflow_flag (  )  const [inline]

sc_fxnum.h3514 行で定義されています。

03515 {
03516     return m_o_flag;
03517 }

const sc_fxval sc_dt::sc_fxnum::value (  )  const [inline]

sc_fxnum.h3522 行で定義されています。

03523 {
03524     SC_FXNUM_OBSERVER_READ_( *this )
03525     return sc_fxval( new scfx_rep( *m_rep ) );
03526 }

int sc_dt::sc_fxnum::wl (  )  const [inline]

sc_fxnum.h3533 行で定義されています。

03534 {
03535     return m_params.wl();
03536 }

int sc_dt::sc_fxnum::iwl (  )  const [inline]

sc_fxnum.h3540 行で定義されています。

03541 {
03542     return m_params.iwl();
03543 }

sc_q_mode sc_dt::sc_fxnum::q_mode (  )  const [inline]

sc_fxnum.h3547 行で定義されています。

03548 {
03549     return m_params.q_mode();
03550 }

sc_o_mode sc_dt::sc_fxnum::o_mode (  )  const [inline]

sc_fxnum.h3554 行で定義されています。

03555 {
03556     return m_params.o_mode();
03557 }

int sc_dt::sc_fxnum::n_bits (  )  const [inline]

sc_fxnum.h3561 行で定義されています。

03562 {
03563     return m_params.n_bits();
03564 }

const sc_fxtype_params & sc_dt::sc_fxnum::type_params (  )  const [inline]

sc_fxnum.h3569 行で定義されています。

03570 {
03571     return m_params.type_params();
03572 }

const sc_fxcast_switch & sc_dt::sc_fxnum::cast_switch (  )  const [inline]

sc_fxnum.h3577 行で定義されています。

03578 {
03579     return m_params.cast_switch();
03580 }

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

sc_fxnum.cpp321 行で定義されています。

00322 {
00323     os << m_rep->to_string( SC_DEC, -1, SC_F, &m_params );
00324 }

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

sc_fxnum.cpp327 行で定義されています。

00328 {
00329     std::string s;
00330     is >> s;
00331     *this = s.c_str();
00332 }

void sc_dt::sc_fxnum::dump ( ::std::ostream &  os = ::std::cout  )  const

sc_fxnum.cpp335 行で定義されています。

00336 {
00337     os << "sc_fxnum" << ::std::endl;
00338     os << "(" << ::std::endl;
00339     os << "rep      = ";
00340     m_rep->dump( os );
00341     os << "params   = ";
00342     m_params.dump( os );
00343     os << "q_flag   = " << m_q_flag << ::std::endl;
00344     os << "o_flag   = " << m_o_flag << ::std::endl;
00345     // TO BE COMPLETED
00346     // os << "observer = ";
00347     // if( m_observer != 0 )
00348     //     m_observer->dump( os );
00349     // else
00350     //     os << "0" << ::std::endl;
00351     os << ")" << ::std::endl;
00352 }

void sc_dt::sc_fxnum::observer_read (  )  const [inline]

sc_fxnum.h3586 行で定義されています。

03587 {
03588     SC_FXNUM_OBSERVER_READ_( *this );
03589 }

bool sc_dt::sc_fxnum::get_bit ( int  i  )  const [inline]

sc_fxnum.h3595 行で定義されています。

03596 {
03597     return m_rep->get_bit( i );
03598 }

bool sc_dt::sc_fxnum::set_bit ( int  i,
bool  high 
) [inline, protected]

sc_fxnum.h3605 行で定義されています。

03606 {
03607     if( high )
03608         return m_rep->set( i, m_params );
03609     else
03610         return m_rep->clear( i, m_params );
03611 }

bool sc_dt::sc_fxnum::get_slice ( int  i,
int  j,
sc_bv_base bv 
) const [inline, protected]

sc_fxnum.h3616 行で定義されています。

03617 {
03618     return m_rep->get_slice( i, j, m_params, bv );
03619 }

bool sc_dt::sc_fxnum::set_slice ( int  i,
int  j,
const sc_bv_base bv 
) [inline, protected]

sc_fxnum.h3623 行で定義されています。

03624 {
03625     return m_rep->set_slice( i, j, m_params, bv );
03626 }

sc_fxnum_observer * sc_dt::sc_fxnum::lock_observer (  )  const [protected]

sc_fxnum.cpp356 行で定義されています。

00357 {
00358     SC_ASSERT_( m_observer != 0, "lock observer failed" );
00359     sc_fxnum_observer* tmp = m_observer;
00360     m_observer = 0;
00361     return tmp;
00362 }

void sc_dt::sc_fxnum::unlock_observer ( sc_fxnum_observer observer_  )  const [protected]

sc_fxnum.cpp365 行で定義されています。

00366 {
00367     SC_ASSERT_( observer_ != 0, "unlock observer failed" );
00368     m_observer = observer_;
00369 }


フレンドと関連する関数

friend class sc_fxval [friend]

sc_fxnum.h551 行で定義されています。

friend class sc_fxnum_bitref [friend]

sc_fxnum.h553 行で定義されています。

friend class sc_fxnum_subref [friend]

sc_fxnum.h554 行で定義されています。

friend class sc_fxnum_fast_bitref [friend]

sc_fxnum.h555 行で定義されています。

friend class sc_fxnum_fast_subref [friend]

sc_fxnum.h556 行で定義されています。

friend class sc_core::vcd_sc_fxnum_trace [friend]

sc_fxnum.h558 行で定義されています。

friend class sc_core::wif_sc_fxnum_trace [friend]

sc_fxnum.h559 行で定義されています。

void neg ( sc_fxval c,
const sc_fxnum a 
) [friend]

sc_fxnum.h2662 行で定義されています。

02663 {
02664     SC_FXNUM_OBSERVER_READ_( a )
02665     c.set_rep( sc_dt::neg_scfx_rep( *a.m_rep ) );
02666 }

void neg ( sc_fxnum c,
const sc_fxnum a 
) [friend]

sc_fxnum.h2670 行で定義されています。

02671 {
02672     SC_FXNUM_OBSERVER_READ_( a )
02673     delete c.m_rep;
02674     c.m_rep = sc_dt::neg_scfx_rep( *a.m_rep );
02675     c.cast();
02676     SC_FXNUM_OBSERVER_WRITE_( c )
02677 }

const sc_fxval operator/ ( const sc_fxnum a,
const sc_fxnum b 
) [friend]

sc_fxnum.h2756 行で定義されています。

02757 {
02758     SC_FXNUM_OBSERVER_READ_( a )
02759     SC_FXNUM_OBSERVER_READ_( b )
02760     return sc_fxval( sc_dt::div_scfx_rep( *a.m_rep, *b.m_rep ) );
02761 }

const sc_fxval operator<< ( const sc_fxnum a,
int  b 
) [friend]

sc_fxnum.h2804 行で定義されています。

02805 {
02806     SC_FXNUM_OBSERVER_READ_( a )
02807     return sc_fxval( sc_dt::lsh_scfx_rep( *a.m_rep, b ) );
02808 }

const sc_fxval operator>> ( const sc_fxnum a,
int  b 
) [friend]

sc_fxnum.h2812 行で定義されています。

02813 {
02814     SC_FXNUM_OBSERVER_READ_( a )
02815     return sc_fxval( sc_dt::rsh_scfx_rep( *a.m_rep, b ) );
02816 }

void lshift ( sc_fxval c,
const sc_fxnum a,
int  b 
) [friend]

sc_fxnum.h2958 行で定義されています。

02959 {
02960     SC_FXNUM_OBSERVER_READ_( a )
02961     c.set_rep( sc_dt::lsh_scfx_rep( *a.m_rep, b ) );
02962 }

void rshift ( sc_fxval c,
const sc_fxnum a,
int  b 
) [friend]

sc_fxnum.h2966 行で定義されています。

02967 {
02968     SC_FXNUM_OBSERVER_READ_( a )
02969     c.set_rep( sc_dt::rsh_scfx_rep( *a.m_rep, b ) );
02970 }

void lshift ( sc_fxnum c,
const sc_fxnum a,
int  b 
) [friend]

sc_fxnum.h2974 行で定義されています。

02975 {
02976     SC_FXNUM_OBSERVER_READ_( a )
02977     delete c.m_rep;
02978     c.m_rep = sc_dt::lsh_scfx_rep( *a.m_rep, b );
02979     c.cast();
02980     SC_FXNUM_OBSERVER_WRITE_( c )
02981 }

void rshift ( sc_fxnum c,
const sc_fxnum a,
int  b 
) [friend]

sc_fxnum.h2985 行で定義されています。

02986 {
02987     SC_FXNUM_OBSERVER_READ_( a )
02988     delete c.m_rep;
02989     c.m_rep = sc_dt::rsh_scfx_rep( *a.m_rep, b );
02990     c.cast();
02991     SC_FXNUM_OBSERVER_WRITE_( c )
02992 }


変数

sc_fxnum.h948 行で定義されています。

sc_fxnum.h950 行で定義されています。

bool sc_dt::sc_fxnum::m_q_flag [private]

sc_fxnum.h951 行で定義されています。

bool sc_dt::sc_fxnum::m_o_flag [private]

sc_fxnum.h952 行で定義されています。

sc_fxnum.h954 行で定義されています。


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

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