gem5  v22.0.0.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
gem5::ruby::NetDest Class Reference

#include <NetDest.hh>

Public Member Functions

 NetDest ()
 NetDest (int bit_size)
NetDestoperator= (const Set &obj)
 ~NetDest ()
void add (MachineID newElement)
void addNetDest (const NetDest &netDest)
void setNetDest (MachineType machine, const Set &set)
void remove (MachineID oldElement)
void removeNetDest (const NetDest &netDest)
void clear ()
void broadcast ()
void broadcast (MachineType machine)
int count () const
bool isEqual (const NetDest &netDest) const
NetDest OR (const NetDest &orNetDest) const
NetDest AND (const NetDest &andNetDest) const
bool intersectionIsNotEmpty (const NetDest &other_netDest) const
bool intersectionIsEmpty (const NetDest &other_netDest) const
bool isSuperset (const NetDest &test) const
bool isSubset (const NetDest &test) const
bool isElement (MachineID element) const
bool isBroadcast () const
bool isEmpty () const
std::vector< NodeIDgetAllDest ()
MachineID smallestElement () const
MachineID smallestElement (MachineType machine) const
void resize ()
int getSize () const
NodeID elementAt (MachineID index)
void print (std::ostream &out) const

Private Member Functions

int vecIndex (MachineID m) const
NodeID bitIndex (NodeID index) const

Private Attributes

std::vector< Setm_bits

Detailed Description

Definition at line 45 of file NetDest.hh.

Constructor & Destructor Documentation

◆ NetDest() [1/2]

gem5::ruby::NetDest::NetDest ( )

Definition at line 39 of file

References resize().

◆ NetDest() [2/2]

gem5::ruby::NetDest::NetDest ( int  bit_size)

◆ ~NetDest()

gem5::ruby::NetDest::~NetDest ( )

Definition at line 55 of file NetDest.hh.

Member Function Documentation

◆ add()

void gem5::ruby::NetDest::add ( MachineID  newElement)

◆ addNetDest()

void gem5::ruby::NetDest::addNetDest ( const NetDest netDest)

Definition at line 52 of file

References getSize(), gem5::ArmISA::i, and m_bits.

◆ AND()

NetDest gem5::ruby::NetDest::AND ( const NetDest andNetDest) const

Definition at line 210 of file

References getSize(), gem5::ArmISA::i, and m_bits.

Referenced by gem5::ruby::WeightBased::findRoute().

◆ bitIndex()

NodeID gem5::ruby::NetDest::bitIndex ( NodeID  index) const

Definition at line 112 of file NetDest.hh.

References gem5::MipsISA::index.

Referenced by add(), elementAt(), isElement(), and remove().

◆ broadcast() [1/2]

void gem5::ruby::NetDest::broadcast ( )

Definition at line 93 of file

◆ broadcast() [2/2]

void gem5::ruby::NetDest::broadcast ( MachineType  machine)

Definition at line 102 of file

References add(), and gem5::ArmISA::i.

◆ clear()

void gem5::ruby::NetDest::clear ( )

Definition at line 85 of file

References gem5::ArmISA::i, and m_bits.

Referenced by gem5::ruby::garnet::NetworkInterface::flitisizeMessage().

◆ count()

int gem5::ruby::NetDest::count ( ) const

◆ elementAt()

NodeID gem5::ruby::NetDest::elementAt ( MachineID  index)

Definition at line 138 of file

References bitIndex(), gem5::MipsISA::index, m_bits, and vecIndex().

◆ getAllDest()

std::vector< NodeID > gem5::ruby::NetDest::getAllDest ( )

◆ getSize()

int gem5::ruby::NetDest::getSize ( ) const

Definition at line 94 of file NetDest.hh.

References m_bits.

Referenced by add(), addNetDest(), AND(), intersectionIsNotEmpty(), OR(), and removeNetDest().

◆ intersectionIsEmpty()

bool gem5::ruby::NetDest::intersectionIsEmpty ( const NetDest other_netDest) const

Referenced by intersectionIsNotEmpty().

◆ intersectionIsNotEmpty()

bool gem5::ruby::NetDest::intersectionIsNotEmpty ( const NetDest other_netDest) const

◆ isBroadcast()

bool gem5::ruby::NetDest::isBroadcast ( ) const

Definition at line 174 of file

References gem5::ArmISA::i, and m_bits.

Referenced by gem5::ruby::network_message_to_size().

◆ isElement()

bool gem5::ruby::NetDest::isElement ( MachineID  element) const

◆ isEmpty()

bool gem5::ruby::NetDest::isEmpty ( ) const

◆ isEqual()

bool gem5::ruby::NetDest::isEqual ( const NetDest netDest) const

Definition at line 278 of file

References gem5::ArmISA::i, m_bits, and gem5::ArmISA::n.

◆ isSubset()

bool gem5::ruby::NetDest::isSubset ( const NetDest test) const

◆ isSuperset()

bool gem5::ruby::NetDest::isSuperset ( const NetDest test) const

Definition at line 234 of file

References gem5::ArmISA::i, and m_bits.

◆ operator=()

NetDest& gem5::ruby::NetDest::operator= ( const Set obj)

◆ OR()

NetDest gem5::ruby::NetDest::OR ( const NetDest orNetDest) const

Definition at line 198 of file

References getSize(), gem5::ArmISA::i, and m_bits.

◆ print()

void gem5::ruby::NetDest::print ( std::ostream &  out) const

Definition at line 264 of file

References gem5::ArmISA::i, isElement(), gem5::ArmISA::j, and m_bits.

Referenced by gem5::ruby::operator<<().

◆ remove()

void gem5::ruby::NetDest::remove ( MachineID  oldElement)

◆ removeNetDest()

void gem5::ruby::NetDest::removeNetDest ( const NetDest netDest)

◆ resize()

void gem5::ruby::NetDest::resize ( )

Definition at line 253 of file

References gem5::ArmISA::i, and m_bits.

Referenced by gem5::ruby::AbstractController::init(), and NetDest().

◆ setNetDest()

void gem5::ruby::NetDest::setNetDest ( MachineType  machine,
const Set set 

Definition at line 61 of file

References m_bits, and gem5::ArmISA::set.

◆ smallestElement() [1/2]

MachineID gem5::ruby::NetDest::smallestElement ( ) const

◆ smallestElement() [2/2]

MachineID gem5::ruby::NetDest::smallestElement ( MachineType  machine) const

Definition at line 159 of file

References isElement(), gem5::ArmISA::j, m_bits, and panic.

◆ vecIndex()

int gem5::ruby::NetDest::vecIndex ( MachineID  m) const

Definition at line 105 of file NetDest.hh.

References gem5::VegaISA::m, and m_bits.

Referenced by add(), elementAt(), isElement(), and remove().

Member Data Documentation

◆ m_bits

std::vector<Set> gem5::ruby::NetDest::m_bits

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

Generated on Thu Jul 28 2022 13:34:15 for gem5 by doxygen 1.8.17