gem5  v22.1.0.0
Classes | Namespaces | Macros | Functions
sc_concatref.hh File Reference
#include <iostream>
#include "../bit/sc_bv.hh"
#include "../bit/sc_lv.hh"
#include "../int/sc_int_base.hh"
#include "../int/sc_signed.hh"
#include "../int/sc_uint_base.hh"
#include "../int/sc_unsigned.hh"
#include "../sc_temporary.hh"
#include "sc_value_base.hh"

Go to the source code of this file.

Classes

class  sc_dt::sc_concatref
 
class  sc_dt::sc_concat_bool
 

Namespaces

 sc_dt
 
 sc_core
 

Macros

#define SC_CONCAT_OP_TYPE(RESULT, OP, OTHER_TYPE)
 
#define SC_CONCAT_OP(RESULT, OP)
 
#define SC_CONCAT_BOOL_OP(OP)
 

Functions

bool sc_dt::and_reduce (const sc_concatref &a)
 
bool sc_dt::nand_reduce (const sc_concatref &a)
 
bool sc_dt::or_reduce (const sc_concatref &a)
 
bool sc_dt::nor_reduce (const sc_concatref &a)
 
bool sc_dt::xor_reduce (const sc_concatref &a)
 
bool sc_dt::xnor_reduce (const sc_concatref &a)
 
const sc_unsigned sc_dt::operator<< (const sc_concatref &target, uint64 shift)
 
const sc_unsigned sc_dt::operator<< (const sc_concatref &target, int64 shift)
 
const sc_unsigned sc_dt::operator<< (const sc_concatref &target, unsigned long shift)
 
const sc_unsigned sc_dt::operator<< (const sc_concatref &target, int shift)
 
const sc_unsigned sc_dt::operator<< (const sc_concatref &target, unsigned int shift)
 
const sc_unsigned sc_dt::operator<< (const sc_concatref &target, long shift)
 
const sc_unsigned sc_dt::operator>> (const sc_concatref &target, uint64 shift)
 
const sc_unsigned sc_dt::operator>> (const sc_concatref &target, int64 shift)
 
const sc_unsigned sc_dt::operator>> (const sc_concatref &target, unsigned long shift)
 
const sc_unsigned sc_dt::operator>> (const sc_concatref &target, int shift)
 
const sc_unsigned sc_dt::operator>> (const sc_concatref &target, unsigned int shift)
 
const sc_unsigned sc_dt::operator>> (const sc_concatref &target, long shift)
 
inline ::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_concatref &v)
 
inline ::std::istream & sc_dt::operator>> (::std::istream &is, sc_concatref &a)
 
sc_dt::sc_concatrefsc_dt::concat (sc_dt::sc_value_base &a, sc_dt::sc_value_base &b)
 
const sc_dt::sc_concatrefsc_dt::concat (const sc_dt::sc_value_base &a, const sc_dt::sc_value_base &b)
 
const sc_dt::sc_concatrefsc_dt::concat (const sc_dt::sc_value_base &a, bool b)
 
const sc_dt::sc_concatrefsc_dt::concat (bool a, const sc_dt::sc_value_base &b)
 
sc_dt::sc_concatrefsc_dt::operator, (sc_dt::sc_value_base &a, sc_dt::sc_value_base &b)
 
const sc_dt::sc_concatrefsc_dt::operator, (const sc_dt::sc_value_base &a, const sc_dt::sc_value_base &b)
 
const sc_dt::sc_concatrefsc_dt::operator, (const sc_dt::sc_value_base &a, bool b)
 
const sc_dt::sc_concatrefsc_dt::operator, (bool a, const sc_dt::sc_value_base &b)
 

Macro Definition Documentation

◆ SC_CONCAT_BOOL_OP

#define SC_CONCAT_BOOL_OP (   OP)
Value:
inline bool \
operator OP (const sc_concatref &a, const sc_concatref &b) \
{ \
return a.value() OP b.value(); \
} \
SC_CONCAT_OP_TYPE(bool, OP, int) \
SC_CONCAT_OP_TYPE(bool, OP, long) \
SC_CONCAT_OP_TYPE(bool, OP, int64) \
SC_CONCAT_OP_TYPE(bool, OP, unsigned int) \
SC_CONCAT_OP_TYPE(bool, OP, unsigned long) \
SC_CONCAT_OP_TYPE(bool, OP, uint64) \
SC_CONCAT_OP_TYPE(bool, OP, const sc_int_base &) \
SC_CONCAT_OP_TYPE(bool, OP, const sc_uint_base &) \
SC_CONCAT_OP_TYPE(bool, OP, const sc_signed &) \
SC_CONCAT_OP_TYPE(bool, OP, const sc_unsigned &) \
inline bool \
operator OP (const sc_concatref &a, bool b) \
{ \
return a.value() OP (int)b; \
} \
inline bool \
operator OP (bool a, const sc_concatref &b) \
{ \
return (int)a OP b.value(); \
}
Bitfield< 7 > b
Definition: misc_types.hh:388
Bitfield< 8 > a
Definition: misc_types.hh:66
uint64_t uint64
Definition: sc_nbdefs.hh:172
int64_t int64
Definition: sc_nbdefs.hh:171

Definition at line 666 of file sc_concatref.hh.

◆ SC_CONCAT_OP

#define SC_CONCAT_OP (   RESULT,
  OP 
)
Value:
inline RESULT \
operator OP (const sc_concatref &a, const sc_concatref &b) \
{ \
return a.value() OP b.value(); \
} \
SC_CONCAT_OP_TYPE(const sc_signed, OP, int) \
SC_CONCAT_OP_TYPE(const sc_signed, OP, long) \
SC_CONCAT_OP_TYPE(const sc_signed, OP, int64) \
SC_CONCAT_OP_TYPE(RESULT, OP, unsigned int) \
SC_CONCAT_OP_TYPE(RESULT, OP, unsigned long) \
SC_CONCAT_OP_TYPE(RESULT, OP, uint64) \
SC_CONCAT_OP_TYPE(const sc_signed, OP, const sc_int_base &) \
SC_CONCAT_OP_TYPE(RESULT, OP, const sc_uint_base &) \
SC_CONCAT_OP_TYPE(const sc_signed, OP, const sc_signed &) \
SC_CONCAT_OP_TYPE(RESULT, OP, const sc_unsigned &) \
inline RESULT \
operator OP (const sc_concatref &a, bool b) \
{ \
return a.value() OP (int)b; \
} \
inline RESULT \
operator OP (bool a, const sc_concatref &b) \
{ \
return (int)a OP b.value(); \
}

Definition at line 639 of file sc_concatref.hh.

◆ SC_CONCAT_OP_TYPE

#define SC_CONCAT_OP_TYPE (   RESULT,
  OP,
  OTHER_TYPE 
)
Value:
inline RESULT \
operator OP (const sc_concatref &a, OTHER_TYPE b) \
{ \
return a.value() OP b; \
} \
inline RESULT \
operator OP (OTHER_TYPE a, const sc_concatref &b) \
{ \
return a OP b.value(); \
}

Definition at line 626 of file sc_concatref.hh.


Generated on Wed Dec 21 2022 10:23:00 for gem5 by doxygen 1.9.1