#include <scfx_rep.h>
Public メソッド | |
scfx_rep () | |
scfx_rep (int) | |
scfx_rep (unsigned int) | |
scfx_rep (long) | |
scfx_rep (unsigned long) | |
scfx_rep (double) | |
scfx_rep (const char *) | |
scfx_rep (int64) | |
scfx_rep (uint64) | |
scfx_rep (const sc_signed &) | |
scfx_rep (const sc_unsigned &) | |
scfx_rep (const scfx_rep &) | |
~scfx_rep () | |
void * | operator new (size_t) |
void | operator delete (void *, size_t) |
void | from_string (const char *, int) |
double | to_double () const |
const char * | to_string (sc_numrep, int, sc_fmt, const scfx_params *=0) const |
void | operator= (const scfx_rep &) |
void | lshift (int) |
void | rshift (int) |
void | cast (const scfx_params &, bool &, bool &) |
bool | is_neg () const |
bool | is_zero () const |
bool | is_nan () const |
bool | is_inf () const |
bool | is_normal () const |
void | set_zero (int=1) |
void | set_nan () |
void | set_inf (int) |
bool | get_bit (int) const |
bool | set (int, const scfx_params &) |
bool | clear (int, const scfx_params &) |
bool | get_slice (int, int, const scfx_params &, sc_bv_base &) const |
bool | set_slice (int, int, const scfx_params &, const sc_bv_base &) |
void | print (::std::ostream &) const |
void | dump (::std::ostream &) const |
void | get_type (int &, int &, sc_enc &) const |
bool | rounding_flag () const |
Private 型 | |
enum | state { normal, infinity, not_a_number } |
Private メソッド | |
unsigned int | divide_by_ten () |
int | find_lsw () const |
int | find_msw () const |
void | find_sw () |
void | multiply_by_ten () |
void | normalize (int) |
scfx_mant * | resize (int, int) const |
void | set_bin (int) |
void | set_oct (int, int) |
void | set_hex (int, int) |
void | shift_left (int) |
void | shift_right (int) |
const scfx_index | calc_indices (int) const |
void | o_extend (const scfx_index &, sc_enc) |
bool | o_bit_at (const scfx_index &) const |
bool | o_zero_left (const scfx_index &) const |
bool | o_zero_right (const scfx_index &) const |
void | o_set_low (const scfx_index &, sc_enc) |
void | o_set_high (const scfx_index &, const scfx_index &, sc_enc, int=1) |
void | o_set (const scfx_index &, const scfx_index &, sc_enc, bool) |
void | o_invert (const scfx_index &) |
bool | q_bit (const scfx_index &) const |
void | q_clear (const scfx_index &) |
void | q_incr (const scfx_index &) |
bool | q_odd (const scfx_index &) const |
bool | q_zero (const scfx_index &) const |
void | resize_to (int, int=0) |
int | size () const |
void | toggle_tc () |
void | quantization (const scfx_params &, bool &) |
void | overflow (const scfx_params &, bool &) |
void | round (int) |
Private 変数 | |
scfx_mant | m_mant |
int | m_wp |
int | m_sign |
state | m_state |
int | m_msw |
int | m_lsw |
bool | m_r_flag |
フレンド | |
void | multiply (scfx_rep &, const scfx_rep &, const scfx_rep &, int=SC_DEFAULT_MAX_WL_) |
scfx_rep * | neg_scfx_rep (const scfx_rep &) |
scfx_rep * | mult_scfx_rep (const scfx_rep &, const scfx_rep &, int=SC_DEFAULT_MAX_WL_) |
scfx_rep * | div_scfx_rep (const scfx_rep &, const scfx_rep &, int=SC_DEFAULT_DIV_WL_) |
scfx_rep * | add_scfx_rep (const scfx_rep &, const scfx_rep &, int=SC_DEFAULT_MAX_WL_) |
scfx_rep * | sub_scfx_rep (const scfx_rep &, const scfx_rep &, int=SC_DEFAULT_MAX_WL_) |
scfx_rep * | lsh_scfx_rep (const scfx_rep &, int) |
scfx_rep * | rsh_scfx_rep (const scfx_rep &, int) |
int | cmp_scfx_rep (const scfx_rep &, const scfx_rep &) |
scfx_rep * | quantization_scfx_rep (const scfx_rep &, const scfx_params &, bool &) |
scfx_rep * | overflow_scfx_rep (const scfx_rep &, const scfx_params &, bool &) |
void | align (const scfx_rep &, const scfx_rep &, int &, int &, scfx_mant_ref &, scfx_mant_ref &) |
int | compare_msw (const scfx_rep &, const scfx_rep &) |
int | compare_msw_ff (const scfx_rep &lhs, const scfx_rep &rhs) |
void | print_dec (scfx_string &, const scfx_rep &, int, sc_fmt) |
void | print_other (scfx_string &, const scfx_rep &, sc_numrep, int, sc_fmt, const scfx_params *) |
int | compare_abs (const scfx_rep &, const scfx_rep &) |
enum sc_dt::scfx_rep::state [private] |
sc_dt::scfx_rep::scfx_rep | ( | ) |
sc_dt::scfx_rep::scfx_rep | ( | int | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | unsigned int | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | long | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | unsigned long | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | double | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | const char * | s | ) | [inline, explicit] |
sc_dt::scfx_rep::scfx_rep | ( | int64 | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | uint64 | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | const sc_signed & | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | const sc_unsigned & | a | ) | [explicit] |
sc_dt::scfx_rep::scfx_rep | ( | const scfx_rep & | a | ) |
sc_dt::scfx_rep::~scfx_rep | ( | ) | [inline] |
void * sc_dt::scfx_rep::operator new | ( | size_t | size | ) |
void sc_dt::scfx_rep::operator delete | ( | void * | ptr, | |
size_t | size | |||
) |
void sc_dt::scfx_rep::from_string | ( | const char * | s, | |
int | cte_wl | |||
) |
double sc_dt::scfx_rep::to_double | ( | ) | const |
const char * sc_dt::scfx_rep::to_string | ( | sc_numrep | numrep, | |
int | w_prefix, | |||
sc_fmt | fmt, | |||
const scfx_params * | params = 0 | |||
) | const |
void sc_dt::scfx_rep::operator= | ( | const scfx_rep & | f | ) | [inline] |
void sc_dt::scfx_rep::lshift | ( | int | n | ) |
void sc_dt::scfx_rep::rshift | ( | int | n | ) |
void sc_dt::scfx_rep::cast | ( | const scfx_params & | params, | |
bool & | q_flag, | |||
bool & | o_flag | |||
) |
bool sc_dt::scfx_rep::is_neg | ( | ) | const [inline] |
bool sc_dt::scfx_rep::is_zero | ( | ) | const [inline] |
bool sc_dt::scfx_rep::is_nan | ( | ) | const [inline] |
bool sc_dt::scfx_rep::is_inf | ( | ) | const [inline] |
bool sc_dt::scfx_rep::is_normal | ( | ) | const [inline] |
void sc_dt::scfx_rep::set_zero | ( | int | sign = 1 |
) | [inline] |
void sc_dt::scfx_rep::set_nan | ( | ) | [inline] |
void sc_dt::scfx_rep::set_inf | ( | int | sign | ) | [inline] |
bool sc_dt::scfx_rep::get_bit | ( | int | i | ) | const |
bool sc_dt::scfx_rep::set | ( | int | i, | |
const scfx_params & | params | |||
) |
bool sc_dt::scfx_rep::clear | ( | int | i, | |
const scfx_params & | params | |||
) |
bool sc_dt::scfx_rep::get_slice | ( | int | i, | |
int | j, | |||
const scfx_params & | , | |||
sc_bv_base & | bv | |||
) | const |
bool sc_dt::scfx_rep::set_slice | ( | int | i, | |
int | j, | |||
const scfx_params & | params, | |||
const sc_bv_base & | bv | |||
) |
void sc_dt::scfx_rep::print | ( | ::std::ostream & | os | ) | const |
void sc_dt::scfx_rep::dump | ( | ::std::ostream & | os | ) | const |
void sc_dt::scfx_rep::get_type | ( | int & | wl, | |
int & | iwl, | |||
sc_enc & | enc | |||
) | const |
bool sc_dt::scfx_rep::rounding_flag | ( | ) | const [inline] |
unsigned int sc_dt::scfx_rep::divide_by_ten | ( | ) | [private] |
int sc_dt::scfx_rep::find_lsw | ( | ) | const [inline, private] |
int sc_dt::scfx_rep::find_msw | ( | ) | const [inline, private] |
void sc_dt::scfx_rep::find_sw | ( | ) | [inline, private] |
void sc_dt::scfx_rep::multiply_by_ten | ( | ) | [private] |
void sc_dt::scfx_rep::normalize | ( | int | exponent | ) | [private] |
scfx_mant * sc_dt::scfx_rep::resize | ( | int | new_size, | |
int | new_wp | |||
) | const [private] |
void sc_dt::scfx_rep::set_bin | ( | int | i | ) | [private] |
void sc_dt::scfx_rep::set_oct | ( | int | i, | |
int | n | |||
) | [private] |
void sc_dt::scfx_rep::set_hex | ( | int | i, | |
int | n | |||
) | [private] |
void sc_dt::scfx_rep::shift_left | ( | int | n | ) | [private] |
void sc_dt::scfx_rep::shift_right | ( | int | n | ) | [private] |
const scfx_index sc_dt::scfx_rep::calc_indices | ( | int | n | ) | const [inline, private] |
void sc_dt::scfx_rep::o_extend | ( | const scfx_index & | x, | |
sc_enc | enc | |||
) | [inline, private] |
bool sc_dt::scfx_rep::o_bit_at | ( | const scfx_index & | x | ) | const [inline, private] |
bool sc_dt::scfx_rep::o_zero_left | ( | const scfx_index & | x | ) | const [inline, private] |
bool sc_dt::scfx_rep::o_zero_right | ( | const scfx_index & | x | ) | const [inline, private] |
void sc_dt::scfx_rep::o_set_low | ( | const scfx_index & | x, | |
sc_enc | enc | |||
) | [inline, private] |
void sc_dt::scfx_rep::o_set_high | ( | const scfx_index & | x, | |
const scfx_index & | x2, | |||
sc_enc | enc, | |||
int | sign = 1 | |||
) | [inline, private] |
void sc_dt::scfx_rep::o_set | ( | const scfx_index & | x, | |
const scfx_index & | x3, | |||
sc_enc | enc, | |||
bool | under | |||
) | [inline, private] |
void sc_dt::scfx_rep::o_invert | ( | const scfx_index & | x2 | ) | [inline, private] |
bool sc_dt::scfx_rep::q_bit | ( | const scfx_index & | x | ) | const [inline, private] |
void sc_dt::scfx_rep::q_clear | ( | const scfx_index & | x | ) | [inline, private] |
void sc_dt::scfx_rep::q_incr | ( | const scfx_index & | x | ) | [inline, private] |
bool sc_dt::scfx_rep::q_odd | ( | const scfx_index & | x | ) | const [inline, private] |
bool sc_dt::scfx_rep::q_zero | ( | const scfx_index & | x | ) | const [inline, private] |
void sc_dt::scfx_rep::resize_to | ( | int | new_size, | |
int | restore = 0 | |||
) | [inline, private] |
int sc_dt::scfx_rep::size | ( | ) | const [inline, private] |
void sc_dt::scfx_rep::toggle_tc | ( | ) | [inline, private] |
void sc_dt::scfx_rep::quantization | ( | const scfx_params & | params, | |
bool & | q_flag | |||
) | [private] |
void sc_dt::scfx_rep::overflow | ( | const scfx_params & | params, | |
bool & | o_flag | |||
) | [private] |
void sc_dt::scfx_rep::round | ( | int | wl | ) | [private] |
void multiply | ( | scfx_rep & | result, | |
const scfx_rep & | lhs, | |||
const scfx_rep & | rhs, | |||
int | max_wl = SC_DEFAULT_MAX_WL_ | |||
) | [friend] |
scfx_rep* mult_scfx_rep | ( | const scfx_rep & | a, | |
const scfx_rep & | b, | |||
int | max_wl = SC_DEFAULT_MAX_WL_ | |||
) | [friend] |
scfx_rep* div_scfx_rep | ( | const scfx_rep & | lhs, | |
const scfx_rep & | rhs, | |||
int | div_wl = SC_DEFAULT_DIV_WL_ | |||
) | [friend] |
scfx_rep* add_scfx_rep | ( | const scfx_rep & | lhs, | |
const scfx_rep & | rhs, | |||
int | max_wl = SC_DEFAULT_MAX_WL_ | |||
) | [friend] |
scfx_rep* sub_scfx_rep | ( | const scfx_rep & | lhs, | |
const scfx_rep & | rhs, | |||
int | max_wl = SC_DEFAULT_MAX_WL_ | |||
) | [friend] |
scfx_rep* quantization_scfx_rep | ( | const scfx_rep & | a, | |
const scfx_params & | params, | |||
bool & | q_flag | |||
) | [friend] |
scfx_rep* overflow_scfx_rep | ( | const scfx_rep & | a, | |
const scfx_params & | params, | |||
bool & | o_flag | |||
) | [friend] |
void align | ( | const scfx_rep & | lhs, | |
const scfx_rep & | rhs, | |||
int & | new_wp, | |||
int & | len_mant, | |||
scfx_mant_ref & | lhs_mant, | |||
scfx_mant_ref & | rhs_mant | |||
) | [friend] |
void print_dec | ( | scfx_string & | s, | |
const scfx_rep & | num, | |||
int | w_prefix, | |||
sc_fmt | fmt | |||
) | [friend] |
void print_other | ( | scfx_string & | s, | |
const scfx_rep & | a, | |||
sc_numrep | numrep, | |||
int | w_prefix, | |||
sc_fmt | fmt, | |||
const scfx_params * | params | |||
) | [friend] |
scfx_mant sc_dt::scfx_rep::m_mant [private] |
int sc_dt::scfx_rep::m_wp [private] |
int sc_dt::scfx_rep::m_sign [private] |
state sc_dt::scfx_rep::m_state [private] |
int sc_dt::scfx_rep::m_msw [private] |
int sc_dt::scfx_rep::m_lsw [private] |
bool sc_dt::scfx_rep::m_r_flag [private] |