Go to the documentation of this file.
   13 #include "MemoryClustering.h" 
   38           mClusterAddress.HThread = 0,
 
   39           mClusterAddress.Reserved = 0, 
 
   40           mClusterAddress.Rack= 0,
 
   41           mClusterAddress.Topology= 0,
 
   42           mClusterAddress.Card= 0,
 
   43           mClusterAddress.Cluster = MAX_CLUSTERS_LIMIT,
 
   46           mClusterAddress.Status = CS;
 
   67     YPosition_Get(
void){ 
return Y*2 +moduloN(X,2); }
 
   79         if(!(GP)) 
return false; 
 
   81         if( (X == GP->
X) && (abs(YPosition_Get() - GP->YPosition_Get()) == 2)) 
return true;
 
   83         return( (abs(X - GP->
X) == 1) && (abs(YPosition_Get() - GP->YPosition_Get()) == 1) );
 
   95         if(!(GP)) 
return false; 
 
   98         if( (abs(X - GP->
X)== 0) && (abs(YPosition_Get() - GP->YPosition_Get()) == 4)) 
return true;
 
  100         if( (abs(X - GP->
X)== 2) && (abs(YPosition_Get() - GP->YPosition_Get()) == 0)) 
return true;
 
  102         if( (abs(X - GP->
X) == 1) && (abs(YPosition_Get() - GP->YPosition_Get()) == 3) ) 
return true;
 
  104         if( (abs(X - GP->
X) == 2) && (abs(YPosition_Get() - GP->YPosition_Get()) == 2) ) 
return true;
 
  116         if(!GP) 
return false;
 
  127         if(!GP) 
return false;
 
  137    StringOfProxy_Get(
void 
  141         if(CA.
Proxy) {oss << 
":" << ClusterMembers[CA.
Proxy].name;}
 
  169         oss << 
'{' << (int16_t)X << 
',' << (int16_t)YPosition_Get() << 
'}' << 
'=';
 
  173         if(CA.
Proxy) {oss << 
":" << ClusterMembers[CA.
Proxy].name;}
 
  175         if(CA.
HThread) oss << 
'/' << StringOfThread_Get();
 
  181 #endif // GRIDPOINT_H 
  
 
bool Is2ndNeighborOf(GridPoint *GP)
Return true if we are a second neighbor of GP.
Definition: GridPoint.h:93
int8_t Y
The Y index of the gridpont.
Definition: GridPoint.h:63
void ClusterAddressHThread_Set(int H)
Set the cluster address of the gridpoint.
Definition: GridPoint.h:57
This class handles the topological information for the modules. Provides a lot of math-only utility f...
Definition: GridPoint.h:33
string StringOfClusterAddressName_Get(void)
Return the string form of our cluster address.
Definition: GridPoint.h:166
The scHThread class.
Definition: scHThread.h:138
string StringOfThread_Get()
Return the string describing the actual thread.
Definition: GridPoint.h:150
ClusterStatus ClusterStatus_Get(void)
Return the status of the gridpoint.
Definition: GridPoint.h:59
ClusterAddress_t mClusterAddress
The ClusterAddress_t address of the gridpoint.
Definition: GridPoint.h:65
uint32_t Cluster
The sequence number of the cluster.
Definition: Clustering.h:62
A GridPoint can be addressed also by its cluster address of type ClusterAddress_t....
Definition: Clustering.h:58
@ cs_NONE
not specified (untouched)
Definition: Clustering.h:25
ClusterAddress_t ClusterAddress_Get(void)
< Return the cluster address of the gridpoint, stored in the matrix
Definition: GridPoint.h:53
uint32_t Proxy
Reachable through this neighbor (Relative to the core)
Definition: Clustering.h:61
bool IsNeighborOf(GridPoint *GP)
Return true if we are an immediate neighbor of GP.
Definition: GridPoint.h:77
void ClusterAddress_Set(ClusterAddress_t CA)
Set the cluster address of the gridpoint.
Definition: GridPoint.h:55
bool IsTheSameAs(GridPoint *GP)
Return true if GridPoint GP is identical with us.
Definition: GridPoint.h:114
bool IsInTheSameClusterAs(GridPoint *GP)
Return true if we and GridPoint GP are in the same cluster.
Definition: GridPoint.h:125
@ cm_Head
The central gridpoint.
Definition: Clustering.h:35
uint32_t HThread
The 'hardware thread' the module handles.
Definition: Clustering.h:59
int8_t X
The X index of the gridpont.
Definition: GridPoint.h:62
ClusterStatus
The gridpoints can be the head of the cluster, a member of a cluster, or neither (stand-alone)
Definition: Clustering.h:24
void ClusterStatus_Set(ClusterStatus CS)
Set the cstatus of the gridpoint.
Definition: GridPoint.h:61
uint32_t Member
Definition: Clustering.h:60