gem5 v24.0.0.0
Loading...
Searching...
No Matches
sc_nbutils.hh File Reference
#include <cmath>
#include <ios>
#include <limits>
#include <ostream>
#include "../../utils/sc_report_handler.hh"
#include "../bit/messages.hh"
#include "messages.hh"
#include "sc_nbdefs.hh"

Go to the source code of this file.

Namespaces

namespace  sc_dt
 

Macros

#define SC_LIKELY_(x)   !!(x)
 

Functions

sc_numrep sc_dt::sc_io_base (::std::ostream &os, sc_numrep def_base)
 
bool sc_dt::sc_io_show_base (::std::ostream &os)
 
const std::string sc_dt::to_string (sc_numrep numrep)
 
inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, sc_numrep numrep)
 
small_type sc_dt::fsm_move (char c, small_type &b, small_type &s, small_type &state)
 
void sc_dt::parse_binary_bits (const char *src_p, int dst_n, sc_digit *data_p, sc_digit *ctrl_p)
 
void sc_dt::parse_hex_bits (const char *src_p, int dst_n, sc_digit *data_p, sc_digit *ctrl_p)
 
const char * sc_dt::get_base_and_sign (const char *v, small_type &b, small_type &s)
 
small_type sc_dt::vec_from_str (int unb, int und, sc_digit *u, const char *v, sc_numrep base)
 
void sc_dt::vec_add (int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
 
void sc_dt::vec_add_on (int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
 
void sc_dt::vec_add_on2 (int ulen, sc_digit *ubegin, int, const sc_digit *v)
 
void sc_dt::vec_add_small (int ulen, const sc_digit *u, sc_digit v, sc_digit *w)
 
void sc_dt::vec_add_small_on (int ulen, sc_digit *u, sc_digit v)
 
void sc_dt::vec_sub (int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
 
void sc_dt::vec_sub_on (int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
 
void sc_dt::vec_sub_on2 (int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
 
void sc_dt::vec_sub_small (int ulen, const sc_digit *u, sc_digit v, sc_digit *w)
 
void sc_dt::vec_sub_small_on (int ulen, sc_digit *u, sc_digit v)
 
void sc_dt::vec_mul (int ulen, const sc_digit *u, int vlen, const sc_digit *vbegin, sc_digit *wbegin)
 
void sc_dt::vec_mul_small (int ulen, const sc_digit *u, sc_digit v, sc_digit *w)
 
void sc_dt::vec_mul_small_on (int ulen, sc_digit *u, sc_digit v)
 
void sc_dt::vec_div_large (int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
 
void sc_dt::vec_div_small (int ulen, const sc_digit *u, sc_digit v, sc_digit *q)
 
void sc_dt::vec_rem_large (int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
 
sc_digit sc_dt::vec_rem_small (int ulen, const sc_digit *u, sc_digit v)
 
sc_digit sc_dt::vec_rem_on_small (int ulen, sc_digit *u, sc_digit v)
 
int sc_dt::vec_to_char (int ulen, const sc_digit *u, int vlen, uchar *v)
 
void sc_dt::vec_from_char (int ulen, const uchar *u, int vlen, sc_digit *v)
 
void sc_dt::vec_shift_left (int ulen, sc_digit *u, int nsl)
 
void sc_dt::vec_shift_right (int ulen, sc_digit *u, int nsr, sc_digit fill)
 
void sc_dt::vec_reverse (int unb, int und, sc_digit *ud, int l, int r)
 
sc_digit sc_dt::low_half (sc_digit d)
 
sc_digit sc_dt::high_half (sc_digit d)
 
sc_digit sc_dt::high_half_masked (sc_digit d)
 
sc_digit sc_dt::concat (sc_digit h, sc_digit l)
 
sc_digit sc_dt::one_and_ones (int n)
 
sc_digit sc_dt::one_and_zeros (int n)
 
int sc_dt::digit_ord (int i)
 
int sc_dt::bit_ord (int i)
 
int sc_dt::vec_cmp (int ulen, const sc_digit *u, int vlen, const sc_digit *v)
 
int sc_dt::vec_find_first_nonzero (int ulen, const sc_digit *u)
 
int sc_dt::vec_skip_leading_zeros (int ulen, const sc_digit *u)
 
int sc_dt::vec_skip_and_cmp (int ulen, const sc_digit *u, int vlen, const sc_digit *v)
 
void sc_dt::vec_zero (int from, int ulen, sc_digit *u)
 
void sc_dt::vec_zero (int ulen, sc_digit *u)
 
void sc_dt::vec_copy (int n, sc_digit *u, const sc_digit *v)
 
void sc_dt::vec_copy_and_zero (int ulen, sc_digit *u, int vlen, const sc_digit *v)
 
void sc_dt::vec_complement (int ulen, sc_digit *u)
 
template<class Type >
void sc_dt::from_uint (int ulen, sc_digit *u, Type v)
 
template<class Type >
small_type sc_dt::get_sign (Type &u)
 
small_type sc_dt::mul_signs (small_type us, small_type vs)
 
template<class Type >
void sc_dt::div_by_zero (Type s)
 
small_type sc_dt::check_for_zero (small_type s, int ulen, const sc_digit *u)
 
bool sc_dt::check_for_zero (int ulen, const sc_digit *u)
 
small_type sc_dt::make_zero (int nd, sc_digit *d)
 
void sc_dt::trim (small_type added, int nb, int nd, sc_digit *d)
 
void sc_dt::convert_SM_to_2C_trimmed (small_type added, small_type s, int nb, int nd, sc_digit *d)
 
void sc_dt::convert_SM_to_2C (small_type s, int nd, sc_digit *d)
 
void sc_dt::trim_signed (int nb, int nd, sc_digit *d)
 
small_type sc_dt::convert_signed_2C_to_SM (int nb, int nd, sc_digit *d)
 
small_type sc_dt::convert_signed_SM_to_2C_to_SM (small_type s, int nb, int nd, sc_digit *d)
 
void sc_dt::convert_signed_SM_to_2C_trimmed (small_type s, int nb, int nd, sc_digit *d)
 
void sc_dt::convert_signed_SM_to_2C (small_type s, int nd, sc_digit *d)
 
void sc_dt::trim_unsigned (int nb, int nd, sc_digit *d)
 
small_type sc_dt::convert_unsigned_2C_to_SM (int nb, int nd, sc_digit *d)
 
small_type sc_dt::convert_unsigned_SM_to_2C_to_SM (small_type s, int nb, int nd, sc_digit *d)
 
void sc_dt::convert_unsigned_SM_to_2C_trimmed (small_type s, int nb, int nd, sc_digit *d)
 
void sc_dt::convert_unsigned_SM_to_2C (small_type s, int nd, sc_digit *d)
 
void sc_dt::copy_digits_signed (small_type &us, int unb, int und, sc_digit *ud, int vnb, int vnd, const sc_digit *vd)
 
void sc_dt::copy_digits_unsigned (small_type &us, int unb, int und, sc_digit *ud, int, int vnd, const sc_digit *vd)
 
void sc_dt::safe_set (int i, bool v, sc_digit *d)
 
bool sc_dt::is_nan (double v)
 
bool sc_dt::is_inf (double v)
 
void sc_dt::is_bad_double (double v)
 

Macro Definition Documentation

◆ SC_LIKELY_

#define SC_LIKELY_ ( x)    !!(x)

Definition at line 456 of file sc_nbutils.hh.

Referenced by sc_dt::get_sign().


Generated on Tue Jun 18 2024 16:24:08 for gem5 by doxygen 1.11.0