gem5  v22.1.0.0
Namespaces | Macros | Functions
sc_unsigned.cc File Reference
#include <cctype>
#include <cmath>
#include <sstream>
#include "systemc/ext/dt/bit/sc_bv_base.hh"
#include "systemc/ext/dt/bit/sc_lv_base.hh"
#include "systemc/ext/dt/fx/sc_ufix.hh"
#include "systemc/ext/dt/fx/scfx_other_defs.hh"
#include "systemc/ext/dt/int/messages.hh"
#include "systemc/ext/dt/int/sc_int_base.hh"
#include "systemc/ext/dt/int/sc_signed.hh"
#include "systemc/ext/dt/int/sc_uint_base.hh"
#include "systemc/ext/dt/int/sc_unsigned.hh"
#include "systemc/ext/dt/misc/sc_concatref.hh"
#include "systemc/ext/utils/messages.hh"
#include "sc_nbfriends.inc"
#include "sc_nbcommon.inc"
#include "sc_unsigned_bitref.inc"
#include "sc_unsigned_subref.inc"

Go to the source code of this file.

Namespaces

 sc_core
 
 sc_dt
 

Macros

#define CONVERT_LONG(u)
 
#define CONVERT_LONG_2(u)
 
#define CONVERT_INT(u)
 
#define CONVERT_INT_2(u)
 
#define CONVERT_INT64(u)
 
#define CONVERT_INT64_2(u)
 
#define CLASS_TYPE   sc_unsigned
 
#define CLASS_TYPE_STR   "sc_unsigned"
 
#define ADD_HELPER   add_unsigned_friend
 
#define SUB_HELPER   sub_unsigned_friend
 
#define MUL_HELPER   mul_unsigned_friend
 
#define DIV_HELPER   div_unsigned_friend
 
#define MOD_HELPER   mod_unsigned_friend
 
#define AND_HELPER   and_unsigned_friend
 
#define OR_HELPER   or_unsigned_friend
 
#define XOR_HELPER   xor_unsigned_friend
 
#define SC_UNSIGNED
 
#define IF_SC_SIGNED   0
 
#define CLASS_TYPE_SUBREF   sc_unsigned_subref_r
 
#define OTHER_CLASS_TYPE   sc_signed
 
#define OTHER_CLASS_TYPE_SUBREF   sc_signed_subref_r
 
#define MUL_ON_HELPER   mul_on_help_unsigned
 
#define DIV_ON_HELPER   div_on_help_unsigned
 
#define MOD_ON_HELPER   mod_on_help_unsigned
 

Functions

sc_unsigned sc_dt::operator<< (const sc_unsigned &u, const sc_int_base &v)
 
sc_unsigned sc_dt::operator>> (const sc_unsigned &u, const sc_int_base &v)
 
bool sc_dt::operator== (const sc_unsigned &u, const sc_int_base &v)
 
bool sc_dt::operator== (const sc_int_base &u, const sc_unsigned &v)
 
bool sc_dt::operator!= (const sc_unsigned &u, const sc_int_base &v)
 
bool sc_dt::operator!= (const sc_int_base &u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, const sc_int_base &v)
 
bool sc_dt::operator< (const sc_int_base &u, const sc_unsigned &v)
 
bool sc_dt::operator<= (const sc_unsigned &u, const sc_int_base &v)
 
bool sc_dt::operator<= (const sc_int_base &u, const sc_unsigned &v)
 
bool sc_dt::operator> (const sc_unsigned &u, const sc_int_base &v)
 
bool sc_dt::operator> (const sc_int_base &u, const sc_unsigned &v)
 
bool sc_dt::operator>= (const sc_unsigned &u, const sc_int_base &v)
 
bool sc_dt::operator>= (const sc_int_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator+ (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator+ (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator* (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator* (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator/ (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator/ (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator% (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator% (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator& (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator& (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator| (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator| (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator^ (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator^ (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator<< (const sc_unsigned &u, const sc_uint_base &v)
 
sc_unsigned sc_dt::operator>> (const sc_unsigned &u, const sc_uint_base &v)
 
bool sc_dt::operator== (const sc_unsigned &u, const sc_uint_base &v)
 
bool sc_dt::operator== (const sc_uint_base &u, const sc_unsigned &v)
 
bool sc_dt::operator!= (const sc_unsigned &u, const sc_uint_base &v)
 
bool sc_dt::operator!= (const sc_uint_base &u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, const sc_uint_base &v)
 
bool sc_dt::operator< (const sc_uint_base &u, const sc_unsigned &v)
 
bool sc_dt::operator<= (const sc_unsigned &u, const sc_uint_base &v)
 
bool sc_dt::operator<= (const sc_uint_base &u, const sc_unsigned &v)
 
bool sc_dt::operator> (const sc_unsigned &u, const sc_uint_base &v)
 
bool sc_dt::operator> (const sc_uint_base &u, const sc_unsigned &v)
 
bool sc_dt::operator>= (const sc_unsigned &u, const sc_uint_base &v)
 
bool sc_dt::operator>= (const sc_uint_base &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator+ (const sc_unsigned &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator+ (const sc_unsigned &u, uint64 v)
 
sc_unsigned sc_dt::operator+ (uint64 u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator+ (const sc_unsigned &u, unsigned long v)
 
sc_unsigned sc_dt::operator+ (unsigned long u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator* (const sc_unsigned &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator* (const sc_unsigned &u, uint64 v)
 
sc_unsigned sc_dt::operator* (uint64 u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator* (const sc_unsigned &u, unsigned long v)
 
sc_unsigned sc_dt::operator* (unsigned long u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator/ (const sc_unsigned &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator/ (const sc_unsigned &u, uint64 v)
 
sc_unsigned sc_dt::operator/ (uint64 u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator/ (const sc_unsigned &u, unsigned long v)
 
sc_unsigned sc_dt::operator/ (unsigned long u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator% (const sc_unsigned &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator% (const sc_unsigned &u, uint64 v)
 
sc_unsigned sc_dt::operator% (uint64 u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator% (const sc_unsigned &u, unsigned long v)
 
sc_unsigned sc_dt::operator% (unsigned long u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator& (const sc_unsigned &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator& (const sc_unsigned &u, uint64 v)
 
sc_unsigned sc_dt::operator& (uint64 u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator& (const sc_unsigned &u, unsigned long v)
 
sc_unsigned sc_dt::operator& (unsigned long u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator| (const sc_unsigned &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator| (const sc_unsigned &u, uint64 v)
 
sc_unsigned sc_dt::operator| (uint64 u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator| (const sc_unsigned &u, unsigned long v)
 
sc_unsigned sc_dt::operator| (unsigned long u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator^ (const sc_unsigned &u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator^ (const sc_unsigned &u, uint64 v)
 
sc_unsigned sc_dt::operator^ (uint64 u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator^ (const sc_unsigned &u, unsigned long v)
 
sc_unsigned sc_dt::operator^ (unsigned long u, const sc_unsigned &v)
 
sc_unsigned sc_dt::operator<< (const sc_unsigned &u, const sc_signed &v)
 
sc_unsigned sc_dt::operator>> (const sc_unsigned &u, const sc_signed &v)
 
sc_unsigned sc_dt::operator+ (const sc_unsigned &u)
 
bool sc_dt::operator== (const sc_unsigned &u, const sc_unsigned &v)
 
bool sc_dt::operator== (const sc_unsigned &u, const sc_signed &v)
 
bool sc_dt::operator== (const sc_signed &u, const sc_unsigned &v)
 
bool sc_dt::operator== (const sc_unsigned &u, int64 v)
 
bool sc_dt::operator== (int64 u, const sc_unsigned &v)
 
bool sc_dt::operator== (const sc_unsigned &u, uint64 v)
 
bool sc_dt::operator== (uint64 u, const sc_unsigned &v)
 
bool sc_dt::operator== (const sc_unsigned &u, long v)
 
bool sc_dt::operator== (long u, const sc_unsigned &v)
 
bool sc_dt::operator== (const sc_unsigned &u, unsigned long v)
 
bool sc_dt::operator== (unsigned long u, const sc_unsigned &v)
 
bool sc_dt::operator!= (const sc_unsigned &u, const sc_signed &v)
 
bool sc_dt::operator!= (const sc_signed &u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, const sc_signed &v)
 
bool sc_dt::operator< (const sc_signed &u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, int64 v)
 
bool sc_dt::operator< (int64 u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, uint64 v)
 
bool sc_dt::operator< (uint64 u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, long v)
 
bool sc_dt::operator< (long u, const sc_unsigned &v)
 
bool sc_dt::operator< (const sc_unsigned &u, unsigned long v)
 
bool sc_dt::operator< (unsigned long u, const sc_unsigned &v)
 
bool sc_dt::operator<= (const sc_unsigned &u, const sc_signed &v)
 
bool sc_dt::operator<= (const sc_signed &u, const sc_unsigned &v)
 
bool sc_dt::operator> (const sc_unsigned &u, const sc_signed &v)
 
bool sc_dt::operator> (const sc_signed &u, const sc_unsigned &v)
 
bool sc_dt::operator>= (const sc_unsigned &u, const sc_signed &v)
 
bool sc_dt::operator>= (const sc_signed &u, const sc_unsigned &v)
 
int sc_dt::compare_unsigned (small_type us, int unb, int und, const sc_digit *ud, small_type vs, int vnb, int vnd, const sc_digit *vd, small_type if_u_signed, small_type if_v_signed)
 

Macro Definition Documentation

◆ ADD_HELPER

#define ADD_HELPER   add_unsigned_friend

Definition at line 2207 of file sc_unsigned.cc.

◆ AND_HELPER

#define AND_HELPER   and_unsigned_friend

Definition at line 2212 of file sc_unsigned.cc.

◆ CLASS_TYPE

#define CLASS_TYPE   sc_unsigned

Definition at line 2204 of file sc_unsigned.cc.

◆ CLASS_TYPE_STR

#define CLASS_TYPE_STR   "sc_unsigned"

Definition at line 2205 of file sc_unsigned.cc.

◆ CLASS_TYPE_SUBREF

#define CLASS_TYPE_SUBREF   sc_unsigned_subref_r

Definition at line 2221 of file sc_unsigned.cc.

◆ CONVERT_INT

#define CONVERT_INT (   u)
Value:
sc_digit u ## d[DIGITS_PER_UINT]; \
from_uint(DIGITS_PER_UINT, u ## d, (unsigned int) u);
Bitfield< 22 > u
Definition: misc_types.hh:359
Bitfield< 9 > d
Definition: misc_types.hh:64
Bitfield< 1 > s
Definition: pagetable.hh:64
int small_type
Definition: sc_nbdefs.hh:108
small_type get_sign(Type &u)
Definition: sc_nbutils.hh:465
#define DIGITS_PER_UINT
Definition: sc_nbdefs.hh:195

Definition at line 965 of file sc_unsigned.cc.

◆ CONVERT_INT64

#define CONVERT_INT64 (   u)
Value:
sc_digit u ## d[DIGITS_PER_UINT64]; \
from_uint(DIGITS_PER_UINT64, u ## d, (uint64) u);
uint64_t uint64
Definition: sc_nbdefs.hh:172
#define DIGITS_PER_UINT64
Definition: sc_nbdefs.hh:197

Definition at line 974 of file sc_unsigned.cc.

◆ CONVERT_INT64_2

#define CONVERT_INT64_2 (   u)
Value:
from_uint(DIGITS_PER_UINT64, u ## d, (uint64) u);
unsigned int sc_digit
Definition: sc_nbdefs.hh:163

Definition at line 979 of file sc_unsigned.cc.

◆ CONVERT_INT_2

#define CONVERT_INT_2 (   u)
Value:
from_uint(DIGITS_PER_UINT, u ## d, (unsigned int) u);

Definition at line 970 of file sc_unsigned.cc.

◆ CONVERT_LONG

#define CONVERT_LONG (   u)
Value:
sc_digit u ## d[DIGITS_PER_ULONG]; \
from_uint(DIGITS_PER_ULONG, u ## d, (unsigned long) u);
#define DIGITS_PER_ULONG
Definition: sc_nbdefs.hh:196

Definition at line 956 of file sc_unsigned.cc.

◆ CONVERT_LONG_2

#define CONVERT_LONG_2 (   u)
Value:
from_uint(DIGITS_PER_ULONG, u ## d, (unsigned long) u);

Definition at line 961 of file sc_unsigned.cc.

◆ DIV_HELPER

#define DIV_HELPER   div_unsigned_friend

Definition at line 2210 of file sc_unsigned.cc.

◆ DIV_ON_HELPER

#define DIV_ON_HELPER   div_on_help_unsigned

Definition at line 2226 of file sc_unsigned.cc.

◆ IF_SC_SIGNED

#define IF_SC_SIGNED   0

Definition at line 2220 of file sc_unsigned.cc.

◆ MOD_HELPER

#define MOD_HELPER   mod_unsigned_friend

Definition at line 2211 of file sc_unsigned.cc.

◆ MOD_ON_HELPER

#define MOD_ON_HELPER   mod_on_help_unsigned

Definition at line 2227 of file sc_unsigned.cc.

◆ MUL_HELPER

#define MUL_HELPER   mul_unsigned_friend

Definition at line 2209 of file sc_unsigned.cc.

◆ MUL_ON_HELPER

#define MUL_ON_HELPER   mul_on_help_unsigned

Definition at line 2225 of file sc_unsigned.cc.

◆ OR_HELPER

#define OR_HELPER   or_unsigned_friend

Definition at line 2213 of file sc_unsigned.cc.

◆ OTHER_CLASS_TYPE

#define OTHER_CLASS_TYPE   sc_signed

Definition at line 2222 of file sc_unsigned.cc.

◆ OTHER_CLASS_TYPE_SUBREF

#define OTHER_CLASS_TYPE_SUBREF   sc_signed_subref_r

Definition at line 2223 of file sc_unsigned.cc.

◆ SC_UNSIGNED

#define SC_UNSIGNED

Definition at line 2219 of file sc_unsigned.cc.

◆ SUB_HELPER

#define SUB_HELPER   sub_unsigned_friend

Definition at line 2208 of file sc_unsigned.cc.

◆ XOR_HELPER

#define XOR_HELPER   xor_unsigned_friend

Definition at line 2214 of file sc_unsigned.cc.


Generated on Wed Dec 21 2022 10:22:59 for gem5 by doxygen 1.9.1