dynamic operation: dynamic index call by custom name works
This commit is contained in:
parent
fca75bbf79
commit
4601061934
2 changed files with 11 additions and 3 deletions
|
@ -175,12 +175,17 @@ namespace MultiArrayTools
|
|||
assert(mIVec.size() == inames.size());
|
||||
for(size_t i = 0; i != mIVec.size(); ++i){
|
||||
const std::string& iname = inames[i];
|
||||
const std::string smeta = (iname.find_first_of("=") != std::string::npos) ? iname.substr(iname.find_first_of("=")+1) : "";
|
||||
if(sIMap.count(iname) != 0){
|
||||
assert(this->range()->sub(i) == sIMap.at(iname)->range());
|
||||
}
|
||||
else {
|
||||
sIMap[iname] = this->range()->sub(i)->aindex();
|
||||
}
|
||||
if(smeta != ""){
|
||||
sIMap.at(iname)->at(smeta);
|
||||
assert(sIMap.at(iname)->pos() != sIMap.at(iname)->max());
|
||||
}
|
||||
mIVec[i].first = sIMap.at(iname);
|
||||
}
|
||||
sync();
|
||||
|
|
|
@ -214,9 +214,12 @@ namespace
|
|||
auto di2 = getIndex(dr2);
|
||||
auto di4 = getIndex(dr4);
|
||||
|
||||
(*di1)({imap["i2_1"],imap["i2_2"],imap["i3_1"],imap["i4_1"]});
|
||||
(*di2)({imap["i3_1"],imap["i3_1"],imap["i4_2"]});
|
||||
(*di4)({imap["i2_1"],imap["i3_1"],imap["i4_1"],imap["i4_2"]});
|
||||
//(*di1)({imap["i2_1"],imap["i2_2"],imap["i3_1"],imap["i4_1"]});
|
||||
//(*di2)({imap["i3_1"],imap["i3_1"],imap["i4_2"]});
|
||||
//(*di4)({imap["i2_1"],imap["i3_1"],imap["i4_1"],imap["i4_2"]});
|
||||
(*di1)({"ia_1","ia_2","ib_1","ic_1"});
|
||||
(*di2)({"ib_1","ib_1","ic_2"});
|
||||
(*di4)({"ia_1","ib_1","ic_1","ic_2"});
|
||||
|
||||
auto resx1 = res1;
|
||||
auto resx2 = res1;
|
||||
|
|
Loading…
Reference in a new issue