クラス 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_floatoperator= (float)
scfx_ieee_floatoperator= (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.h443 行で定義されています。


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

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

scfx_ieee.h481 行で定義されています。

00482 {
00483     m_if.f = 0.0;
00484 }

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

scfx_ieee.h487 行で定義されています。

00488 {
00489     m_if.f = f;
00490 }

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

scfx_ieee.h493 行で定義されています。

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


関数

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

scfx_ieee.h501 行で定義されています。

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.h509 行で定義されています。

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

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

scfx_ieee.h517 行で定義されています。

00518 {
00519     return m_if.f;
00520 }

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

scfx_ieee.h525 行で定義されています。

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

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

scfx_ieee.h532 行で定義されています。

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

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

scfx_ieee.h539 行で定義されています。

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

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

scfx_ieee.h546 行で定義されています。

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

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

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

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

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

scfx_ieee.h560 行で定義されています。

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

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

scfx_ieee.h568 行で定義されています。

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.h575 行で定義されています。

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.h582 行で定義されています。

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.h590 行で定義されています。

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.h597 行で定義されています。

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

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

scfx_ieee.h605 行で定義されています。

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

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

scfx_ieee.h613 行で定義されています。

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


変数

scfx_ieee.h446 行で定義されています。


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

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