gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::ruby::NetDest Class Reference

#include <NetDest.hh>

Public Member Functions

 NetDest ()
 
 NetDest (RubySystem *ruby_system)
 
 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
 
void setRubySystem (RubySystem *rs)
 

Private Member Functions

int vecIndex (MachineID m) const
 
NodeID bitIndex (NodeID index) const
 
int MachineType_base_count (const MachineType &obj)
 
int MachineType_base_number (const MachineType &obj)
 

Private Attributes

std::vector< Setm_bits
 
RubySystemm_ruby_system = nullptr
 

Detailed Description

Definition at line 47 of file NetDest.hh.

Constructor & Destructor Documentation

◆ NetDest() [1/3]

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

◆ NetDest() [2/3]

gem5::ruby::NetDest::NetDest ( RubySystem * ruby_system)

Definition at line 45 of file NetDest.cc.

References m_ruby_system, and resize().

◆ NetDest() [3/3]

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

◆ ~NetDest()

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

Definition at line 58 of file NetDest.hh.

Member Function Documentation

◆ add()

◆ addNetDest()

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

Definition at line 60 of file NetDest.cc.

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

◆ AND()

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

Definition at line 239 of file NetDest.cc.

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

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

◆ bitIndex()

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

Definition at line 117 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 107 of file NetDest.cc.

References broadcast().

Referenced by broadcast().

◆ broadcast() [2/2]

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

Definition at line 116 of file NetDest.cc.

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

◆ clear()

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

Definition at line 98 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 159 of file NetDest.cc.

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

◆ getAllDest()

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

◆ getSize()

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

Definition at line 97 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

References NetDest().

Referenced by intersectionIsNotEmpty().

◆ intersectionIsNotEmpty()

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

◆ isBroadcast()

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

Definition at line 200 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 314 of file NetDest.cc.

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

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 265 of file NetDest.cc.

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

Referenced by isSuperset().

◆ MachineType_base_count()

int gem5::ruby::NetDest::MachineType_base_count ( const MachineType & obj)
private

Definition at line 326 of file NetDest.cc.

References m_ruby_system.

Referenced by broadcast(), and resize().

◆ MachineType_base_number()

int gem5::ruby::NetDest::MachineType_base_number ( const MachineType & obj)
private

Definition at line 333 of file NetDest.cc.

References m_ruby_system.

Referenced by getAllDest().

◆ operator=()

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

References NetDest().

◆ OR()

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

Definition at line 226 of file NetDest.cc.

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

◆ print()

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

Definition at line 299 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 286 of file NetDest.cc.

References gem5::ArmISA::i, m_bits, m_ruby_system, and MachineType_base_count().

Referenced by NetDest(), and setRubySystem().

◆ setNetDest()

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

Definition at line 70 of file NetDest.cc.

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

◆ setRubySystem()

void gem5::ruby::NetDest::setRubySystem ( RubySystem * rs)
inline

Definition at line 104 of file NetDest.hh.

References m_ruby_system, resize(), and gem5::ArmISA::rs.

◆ smallestElement() [1/2]

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

◆ smallestElement() [2/2]

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

Definition at line 182 of file NetDest.cc.

References isElement(), m_bits, m_ruby_system, and panic.

◆ vecIndex()

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

Definition at line 110 of file NetDest.hh.

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

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

Member Data Documentation

◆ m_bits

◆ m_ruby_system

RubySystem* gem5::ruby::NetDest::m_ruby_system = nullptr
private

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

Generated on Mon May 26 2025 09:19:36 for gem5 by doxygen 1.13.2