gem5 v24.0.0.0
Loading...
Searching...
No Matches
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 NetDest.cc.

References resize().

◆ NetDest() [2/2]

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

◆ ~NetDest()

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

Definition at line 55 of file NetDest.hh.

Member Function Documentation

◆ add()

◆ addNetDest()

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

Definition at line 52 of file NetDest.cc.

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

◆ AND()

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

Definition at line 210 of file NetDest.cc.

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

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

◆ bitIndex()

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

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 NetDest.cc.

References broadcast().

Referenced by broadcast().

◆ broadcast() [2/2]

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

Definition at line 102 of file NetDest.cc.

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

◆ clear()

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

Definition at line 85 of file NetDest.cc.

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

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

◆ count()

◆ elementAt()

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

Definition at line 138 of file NetDest.cc.

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

◆ getAllDest()

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

Definition at line 112 of file NetDest.cc.

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

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

◆ getSize()

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

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 NetDest.cc.

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

Referenced by isBroadcast(), and gem5::ruby::network_message_to_size().

◆ isElement()

◆ isEmpty()

◆ isEqual()

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

Definition at line 278 of file NetDest.cc.

References gem5::ArmISA::i, isEqual(), m_bits, and gem5::ArmISA::n.

Referenced by isEqual().

◆ isSubset()

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

◆ isSuperset()

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

Definition at line 234 of file NetDest.cc.

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

Referenced by isSuperset().

◆ 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 NetDest.cc.

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

◆ print()

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

Definition at line 264 of file NetDest.cc.

References gem5::ArmISA::i, isElement(), 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 NetDest.cc.

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 NetDest.cc.

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 NetDest.cc.

References isElement(), m_bits, and panic.

◆ vecIndex()

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

Definition at line 105 of file NetDest.hh.

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

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

Member Data Documentation

◆ m_bits


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

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