gem5  v20.1.0.0
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
sc_dt::scfx_ieee_double Class Reference

#include <scfx_ieee.hh>

Public Member Functions

 scfx_ieee_double ()
 
 scfx_ieee_double (double)
 
 scfx_ieee_double (const scfx_ieee_double &)
 
scfx_ieee_doubleoperator= (double)
 
scfx_ieee_doubleoperator= (const scfx_ieee_double &)
 
 operator double () const
 
unsigned int negative () const
 
void negative (unsigned int)
 
int exponent () const
 
void exponent (int)
 
unsigned int mantissa0 () const
 
void mantissa0 (unsigned int)
 
unsigned int mantissa1 () const
 
void mantissa1 (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 ()
 
int msb () const
 
int lsb () const
 

Static Public Member Functions

static const scfx_ieee_double nan ()
 
static const scfx_ieee_double inf (int)
 

Private Attributes

ieee_double m_id
 

Detailed Description

Definition at line 146 of file scfx_ieee.hh.

Constructor & Destructor Documentation

◆ scfx_ieee_double() [1/3]

sc_dt::scfx_ieee_double::scfx_ieee_double ( )
inline

Definition at line 187 of file scfx_ieee.hh.

◆ scfx_ieee_double() [2/3]

sc_dt::scfx_ieee_double::scfx_ieee_double ( double  d)
inline

Definition at line 192 of file scfx_ieee.hh.

References m_id, and sc_dt::ieee_double::s.

◆ scfx_ieee_double() [3/3]

sc_dt::scfx_ieee_double::scfx_ieee_double ( const scfx_ieee_double a)
inline

Definition at line 197 of file scfx_ieee.hh.

References ArmISA::a, m_id, sc_dt::ieee_double::s, and SCFX_MASK_.

Member Function Documentation

◆ exponent() [1/2]

int sc_dt::scfx_ieee_double::exponent ( ) const
inline

Definition at line 235 of file scfx_ieee.hh.

References ArmISA::a, m_id, and sc_dt::ieee_double::s.

Referenced by exponent(), mantissa0(), and mantissa1().

◆ exponent() [2/2]

void sc_dt::scfx_ieee_double::exponent ( int  a)
inline

Definition at line 241 of file scfx_ieee.hh.

References exponent(), mantissa0(), mantissa1(), and sc_dt::SCFX_IEEE_DOUBLE_E_MIN.

◆ inf()

const scfx_ieee_double sc_dt::scfx_ieee_double::inf ( int  sign)
inlinestatic

Definition at line 391 of file scfx_ieee.hh.

◆ is_inf()

bool sc_dt::scfx_ieee_double::is_inf ( ) const
inline

Definition at line 293 of file scfx_ieee.hh.

References ArmISA::i, mantissa0(), and mantissa1().

◆ is_nan()

bool sc_dt::scfx_ieee_double::is_nan ( ) const
inline

Definition at line 300 of file scfx_ieee.hh.

◆ is_normal()

bool sc_dt::scfx_ieee_double::is_normal ( ) const
inline

Definition at line 286 of file scfx_ieee.hh.

◆ is_subnormal()

bool sc_dt::scfx_ieee_double::is_subnormal ( ) const
inline

Definition at line 279 of file scfx_ieee.hh.

◆ is_zero()

bool sc_dt::scfx_ieee_double::is_zero ( ) const
inline

Definition at line 272 of file scfx_ieee.hh.

◆ lsb()

int sc_dt::scfx_ieee_double::lsb ( ) const
inline

Definition at line 355 of file scfx_ieee.hh.

◆ mantissa0() [1/2]

unsigned int sc_dt::scfx_ieee_double::mantissa0 ( ) const
inline

Definition at line 248 of file scfx_ieee.hh.

References exponent(), mantissa1(), and sc_dt::SCFX_IEEE_DOUBLE_E_MIN.

Referenced by exponent(), is_inf(), mantissa1(), and msb().

◆ mantissa0() [2/2]

void sc_dt::scfx_ieee_double::mantissa0 ( unsigned int  a)
inline

◆ mantissa1() [1/2]

unsigned int sc_dt::scfx_ieee_double::mantissa1 ( ) const
inline

Definition at line 260 of file scfx_ieee.hh.

References exponent(), mantissa0(), and sc_dt::SCFX_IEEE_DOUBLE_E_MAX.

Referenced by exponent(), is_inf(), mantissa0(), and msb().

◆ mantissa1() [2/2]

void sc_dt::scfx_ieee_double::mantissa1 ( unsigned int  a)
inline

Definition at line 266 of file scfx_ieee.hh.

◆ msb()

int sc_dt::scfx_ieee_double::msb ( ) const
inline

Definition at line 325 of file scfx_ieee.hh.

References ArmISA::i, LSB_STATEMENT, mantissa0(), and mantissa1().

◆ nan()

const scfx_ieee_double sc_dt::scfx_ieee_double::nan ( )
inlinestatic

Definition at line 383 of file scfx_ieee.hh.

◆ negative() [1/2]

unsigned int sc_dt::scfx_ieee_double::negative ( ) const
inline

◆ negative() [2/2]

void sc_dt::scfx_ieee_double::negative ( unsigned int  a)
inline

Definition at line 229 of file scfx_ieee.hh.

References m_id, and sc_dt::ieee_double::s.

◆ operator double()

sc_dt::scfx_ieee_double::operator double ( ) const
inline

Definition at line 217 of file scfx_ieee.hh.

References m_id, and sc_dt::ieee_double::s.

◆ operator=() [1/2]

scfx_ieee_double & sc_dt::scfx_ieee_double::operator= ( const scfx_ieee_double a)
inline

◆ operator=() [2/2]

scfx_ieee_double & sc_dt::scfx_ieee_double::operator= ( double  d)
inline

Definition at line 204 of file scfx_ieee.hh.

References m_id, sc_dt::ieee_double::s, and sc_dt::SCFX_IEEE_DOUBLE_BIAS.

◆ set_inf()

void sc_dt::scfx_ieee_double::set_inf ( )
inline

Definition at line 307 of file scfx_ieee.hh.

◆ set_nan()

void sc_dt::scfx_ieee_double::set_nan ( )
inline

Definition at line 315 of file scfx_ieee.hh.

Member Data Documentation

◆ m_id

ieee_double sc_dt::scfx_ieee_double::m_id
private

Definition at line 148 of file scfx_ieee.hh.

Referenced by exponent(), negative(), operator double(), operator=(), and scfx_ieee_double().


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

Generated on Wed Sep 30 2020 14:03:10 for gem5 by doxygen 1.8.17