クラス sc_dt::scfx_ieee_float

#include <scfx_ieee.h>

すべてのメンバ一覧

Public メソッド

 scfx_ieee_float ()
 scfx_ieee_float (float)
 scfx_ieee_float (const scfx_ieee_float &)
scfx_ieee_float & operator= (float)
scfx_ieee_float & operator= (const scfx_ieee_float &)
 operator float () const
unsigned int negative () const
void negative (unsigned int)
int exponent () const
void exponent (int)
unsigned int mantissa () const
void mantissa (unsigned int)
bool is_zero () const
bool is_subnormal () const
bool is_normal () const
bool is_inf () const
bool is_nan () const
void set_inf ()
void set_nan ()

Private 変数

ieee_float m_if


説明

scfx_ieee.h の 443 行で定義されています。


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

sc_dt::scfx_ieee_float::scfx_ieee_float (  )  [inline]

scfx_ieee.h の 481 行で定義されています。

00482 {
00483     m_if.f = 0.0;
00484 }

sc_dt::scfx_ieee_float::scfx_ieee_float ( float  f  )  [inline]

scfx_ieee.h の 487 行で定義されています。

00488 {
00489     m_if.f = f;
00490 }

sc_dt::scfx_ieee_float::scfx_ieee_float ( const scfx_ieee_float &  a  )  [inline]

scfx_ieee.h の 493 行で定義されています。

00494 {
00495     m_if.f = a.m_if.f;
00496 }


関数

scfx_ieee_float & sc_dt::scfx_ieee_float::operator= ( float  f  )  [inline]

scfx_ieee.h の 501 行で定義されています。

00502 {
00503     m_if.f = f;
00504     return *this;
00505 }

scfx_ieee_float & sc_dt::scfx_ieee_float::operator= ( const scfx_ieee_float &  a  )  [inline]

scfx_ieee.h の 509 行で定義されています。

00510 {
00511     m_if.f = a.m_if.f;
00512     return *this;
00513 }

sc_dt::scfx_ieee_float::operator float (  )  const [inline]

scfx_ieee.h の 517 行で定義されています。

00518 {
00519     return m_if.f;
00520 }

unsigned int sc_dt::scfx_ieee_float::negative (  )  const [inline]

scfx_ieee.h の 525 行で定義されています。

00526 {
00527     return m_if.s.negative;
00528 }

void sc_dt::scfx_ieee_float::negative ( unsigned int  a  )  [inline]

scfx_ieee.h の 532 行で定義されています。

00533 {
00534     m_if.s.negative = a;
00535 }

int sc_dt::scfx_ieee_float::exponent (  )  const [inline]

scfx_ieee.h の 539 行で定義されています。

00540 {
00541     return m_if.s.exponent - SCFX_IEEE_FLOAT_BIAS;
00542 }

void sc_dt::scfx_ieee_float::exponent ( int  a  )  [inline]

scfx_ieee.h の 546 行で定義されています。

00547 {
00548     m_if.s.exponent = SCFX_IEEE_FLOAT_BIAS + a;
00549 }

unsigned int sc_dt::scfx_ieee_float::mantissa (  )  const [inline]

scfx_ieee.h の 553 行で定義されています。

00554 {
00555     return m_if.s.mantissa;
00556 }

void sc_dt::scfx_ieee_float::mantissa ( unsigned int  a  )  [inline]

scfx_ieee.h の 560 行で定義されています。

00561 {
00562     m_if.s.mantissa = a;
00563 }

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

scfx_ieee.h の 568 行で定義されています。

00569 {
00570     return ( exponent() == SCFX_IEEE_FLOAT_E_MIN - 1 && mantissa() == 0U );
00571 }

bool sc_dt::scfx_ieee_float::is_subnormal (  )  const [inline]

scfx_ieee.h の 575 行で定義されています。

00576 {
00577     return ( exponent() == SCFX_IEEE_FLOAT_E_MIN - 1 && mantissa() != 0U );
00578 }

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

scfx_ieee.h の 582 行で定義されています。

00583 {
00584     return ( exponent() >= SCFX_IEEE_FLOAT_E_MIN &&
00585              exponent() <= SCFX_IEEE_FLOAT_E_MAX );
00586 }

bool sc_dt::scfx_ieee_float::is_inf (  )  const [inline]

scfx_ieee.h の 590 行で定義されています。

00591 {
00592     return ( exponent() == SCFX_IEEE_FLOAT_E_MAX + 1 && mantissa() == 0U );
00593 }

bool sc_dt::scfx_ieee_float::is_nan (  )  const [inline]

scfx_ieee.h の 597 行で定義されています。

00598 {
00599     return ( exponent() == SCFX_IEEE_FLOAT_E_MAX + 1 && mantissa() != 0U );
00600 }

void sc_dt::scfx_ieee_float::set_inf (  )  [inline]

scfx_ieee.h の 605 行で定義されています。

00606 {
00607     exponent( SCFX_IEEE_FLOAT_E_MAX + 1 );
00608     mantissa( 0U );
00609 }

void sc_dt::scfx_ieee_float::set_nan (  )  [inline]

scfx_ieee.h の 613 行で定義されています。

00614 {
00615     exponent( SCFX_IEEE_FLOAT_E_MAX + 1 );
00616     mantissa( (unsigned int) -1 );
00617 }


変数

scfx_ieee.h の 446 行で定義されています。


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

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