no message
This commit is contained in:
@@ -102,54 +102,6 @@ public class ProjectArray extends DBObject {
|
||||
return ArrayLocation.fromInt(location);
|
||||
}
|
||||
//------
|
||||
public ProjectArray(String[] infoF, Index idx, BigInteger address_in) {
|
||||
id = Integer.parseInt(infoF[idx.Inc()]); //+
|
||||
name = infoF[idx.Inc()]; //+
|
||||
shortName = infoF[idx.Inc()]; //+
|
||||
dimSize = Integer.parseInt(infoF[idx.Inc()]); //+
|
||||
typeSize = Integer.parseInt(infoF[idx.Inc()]); //+
|
||||
address = address_in;
|
||||
state = Integer.parseInt(infoF[idx.Inc()]); //+
|
||||
location = Integer.parseInt(infoF[idx.Inc()]); //+
|
||||
locName = infoF[idx.Inc()]; //+
|
||||
int sizes_size = Integer.parseInt(infoF[idx.Inc()]);
|
||||
for (int i = 0; i < sizes_size; ++i) {
|
||||
int first = Integer.parseInt(infoF[idx.Inc()]);
|
||||
int second = Integer.parseInt(infoF[idx.Inc()]);
|
||||
sizes.add(new IntegerPairJson(first, second)); //+
|
||||
}
|
||||
sizes_size = Integer.parseInt(infoF[idx.Inc()]);
|
||||
for (int i = 0; i < sizes_size; ++i)
|
||||
deprecateToDist.add(Integer.parseInt(infoF[idx.Inc()])); //+
|
||||
sizes_size = Integer.parseInt(infoF[idx.Inc()]);
|
||||
for (int i = 0; i < sizes_size; ++i)
|
||||
mappedDims.add(Integer.parseInt(infoF[idx.Inc()])); //+
|
||||
//todo удалить после перехода на json
|
||||
int templateInfo_size = Integer.parseInt(infoF[idx.Inc()]);
|
||||
for (int i = 0; i < templateInfo_size; ++i) {
|
||||
BigInteger key = new BigInteger(infoF[idx.Inc()]);
|
||||
TemplateLink templateLink = new TemplateLink(infoF, idx);
|
||||
// templateInfo.put(key, templateLink);
|
||||
}
|
||||
//todo
|
||||
String[] localSplited = infoF[idx.Inc()].split("\\|");
|
||||
isTemplFlag = Integer.parseInt(localSplited[0]); //+
|
||||
isLoopArrayFlag = Integer.parseInt(localSplited[1]); //+
|
||||
int numDeclPlaces = Integer.parseInt(localSplited[2]);
|
||||
int idxPl = 3;
|
||||
for (int i = 0; i < numDeclPlaces; ++i, idxPl += 2) {
|
||||
String declFile = Utils_.toW(localSplited[idxPl]);
|
||||
DBProjectFile file = Global.mainModule.getProject().db.files.Data.get(declFile);
|
||||
int declLine = Integer.parseInt(localSplited[idxPl + 1]);
|
||||
ArrayDecl decl = new ArrayDecl(shortName, location, file, declLine);
|
||||
declPlaces.add(decl);
|
||||
file.array_decls.add(decl); //++
|
||||
}
|
||||
int numRegs = Integer.parseInt(localSplited[idxPl++]);
|
||||
for (int i = 0; i < numRegs; ++i)
|
||||
regions.add(localSplited[idxPl++]); //++
|
||||
Init();
|
||||
}
|
||||
public void Init() {
|
||||
//короткое имя+ функция/модуль/комон+ размерность
|
||||
UniqKey = shortName + locName + dimSize;
|
||||
|
||||
@@ -63,64 +63,6 @@ public class ParallelRegion extends DBObject {
|
||||
public int arrays_count = 0;
|
||||
public int fd_count = 0;
|
||||
public int fc_count = 0;
|
||||
public ParallelRegion(String[] splited, Index idx) {
|
||||
regionId = new BigInteger(splited[idx.Inc()]);//+
|
||||
originalName = splited[idx.Inc()];//+
|
||||
String[] localSplited = splited[idx.Inc()].split("\\|");
|
||||
int lines_size = Integer.parseInt(localSplited[0]);
|
||||
lines = new LinkedHashMap<>(lines_size);
|
||||
fragments = new Vector<>();
|
||||
//распаковка Lines -ArrayALignmentBar-----------
|
||||
//---------------------------------------------------------------
|
||||
for (int i = 0; i < lines_size; ++i) {
|
||||
String line_file = Utils_.toW(localSplited[1]);
|
||||
int line_list_size = Integer.parseInt(localSplited[2]);
|
||||
Vector<IntegerPairJson> current_lines = new Vector<>(line_list_size);
|
||||
for (int k = 0; k < line_list_size; ++k) {
|
||||
int first = Integer.parseInt(splited[idx.Inc()]);
|
||||
if (first == 0) first++;
|
||||
localSplited = splited[idx.Inc()].split("\\|");
|
||||
int second = Integer.parseInt((localSplited[0]));
|
||||
current_lines.add(new IntegerPairJson(first, second));
|
||||
fragments.add(line_file + ": " + first + "-" + second);
|
||||
}
|
||||
lines.put(line_file, current_lines);
|
||||
}
|
||||
maxdim = 0;
|
||||
int arrays_size = Integer.parseInt(splited[idx.Inc()]);
|
||||
arraysMap = new LinkedHashMap<>(arrays_size);
|
||||
for (int i = 0; i < arrays_size; ++i) {
|
||||
BigInteger array_address = new BigInteger((splited[idx.Inc()]));
|
||||
ProjectArray new_array = new ProjectArray(splited, idx, array_address);
|
||||
arraysMap.put(array_address, new_array);
|
||||
//-------------------------------------------------------
|
||||
if (new_array.isTemplFlag == 1) {
|
||||
maxdim = Math.max(maxdim, new_array.dimSize);
|
||||
Global.mainModule.getProject().templates.add(new_array);
|
||||
new_array.regIDs.add(regionId);
|
||||
} else if (new_array.isLoopArrayFlag != 1) arrays_count++;
|
||||
}
|
||||
int dataDirectives_alignRules_size = Integer.parseInt(splited[idx.Inc()]);
|
||||
alignRules = new Vector<>(dataDirectives_alignRules_size);
|
||||
for (int i = 0; i < dataDirectives_alignRules_size; ++i)
|
||||
alignRules.add(new AlignRule(splited, idx));
|
||||
for (int i = 0; i < alignRules.size(); ++i)
|
||||
alignRules.get(i).parent_region = this;
|
||||
//--------------------------------------------------------------
|
||||
lines_count = 0;
|
||||
loops_count = 0;
|
||||
fd_count = 0;
|
||||
fc_count = 0;
|
||||
for (String FKey : lines.keySet()) {
|
||||
for (IntegerPairJson L : lines.get(FKey)) {
|
||||
lines_count += (L.getValue() - L.getKey());
|
||||
DBProjectFile f = Global.mainModule.getProject().db.files.Data.get(FKey);
|
||||
loops_count += f.FragmentLoopCount(L.getKey(), L.getValue());
|
||||
fc_count += f.FragmentFunctionCallsCount(L.getKey(), L.getValue());
|
||||
fd_count += f.FragmentFunctionDeclsCount(L.getKey(), L.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
public void Init() {
|
||||
arraysMap = new LinkedHashMap<>();
|
||||
lines = new LinkedHashMap<>();
|
||||
|
||||
Reference in New Issue
Block a user