28 bool orChannel)
const {
49 bool orChannel)
const {
50 if(orChannel)
return nullptr;
51 if(hpbin->
isValid()==
false)
return nullptr;
56 if(!hpb)
return nullptr;
61 if(!mapId)
return nullptr;
77 int port = blockInHPB*slbInBlock+nSlb;
87 if(!slb)
return nullptr;
90 int nInSlb = hpbin->
getChannel()/(numOfBlock*2);
91 int blockInSlb = nInSlb/2;
92 int nInBlock = nInSlb%2;
93 int channel = (chInBlock/2)*nInBlock;
109 bool orChannel)
const
111 if(orChannel)
return nullptr;
112 if(hpbin->
isValid()==
false)
return nullptr;
120 if(!hpb)
return nullptr;
125 if(!mapId)
return nullptr;
156 port = blockInHPB*slbInBlock+nSlb;
164 blockInSlb = (hpbin->
getChannel() - nSlb*(numOfBlock*2))/2;
165 posInHpb = (hpbin->
getChannel() - (numOfBlock*2)*nSlb)%2;
166 channel = (chInBlock/2)*posInHpb;
173 port = blockInHPB*slbInBlock+nSlb;
181 blockInSlb = (hpbin->
getChannel() - nSlb*(numOfBlock*2))/2;
182 posInHpb = (hpbin->
getChannel() - (numOfBlock*2)*nSlb)%2;
183 channel = (chInBlock/2)*posInHpb;
188 if(blockInHPB==0 && hpbin->
getChannel()<numOfBlock) port=1;
197 blockInSlb = (hpbin->
getChannel())%numOfBlock;
198 if(blockInHPB == 1 && hpbin->
getChannel() >= numOfBlock) blockInSlb = blockInSlb + numOfBlock/2;
207 delete mapId; mapId =
nullptr;
208 if(!slb)
return nullptr;
213 int SLBID = slb->
getId();
214 if((chInBlock*blockInSlb+
channel)>chInBlock*numOfBlock){
218 }
else if(
channel > chInBlock){
237 bool orChannel)
const {
238 if(orChannel)
return nullptr;
239 if(slbout->
isValid()==
false)
return nullptr;
245 if(!slb)
return nullptr;
250 if(!mapId)
return nullptr;
256 if(!hpb)
return nullptr;
267 int block = port/slbInBlock;
268 int hitId = (port%slbInBlock)*2+slbout->
getBlock();
285 if(hpb->
isValid()==
false)
return nullptr;
286 const int hpbId = hpb->
getId();
307 const int doubletMaxEntry = doubletP->
getMaxEntry();
308 for(
int i=0;
i<doubletMaxEntry;
i++){
322 const int tripletMaxEntry = tripletP->
getMaxEntry();
323 for(
int i=0;
i<tripletMaxEntry;
i++){
343 if(hpb->
isValid()==
false)
return nullptr;
345 const int hpbId = hpb->
getId();
351 for(
int i=0;
i<MaxEntry;
i++){
384 if(slb->
isValid()==
false)
return nullptr;
386 const int slbId = slb->
getId();
392 for(
int i=0;
i<MaxEntry;
i++){