private string PortionsIPXML(int LinePerCPU, string[] statement, List<string> calculationComputers, Hashtable IPtoCPU)
{
int nextComputer = 0;
string Portions = "";
if (LinePerCPU < 1)
{
Portions += "<IPPort_Portion>";
for (int i = 0; i < statement.Length; i++)
{
Portions += "<Computer><IPPort>" + calculationComputers[nextComputer].ToString() + "</IPPort>";
for (int k = i; k < i + int.Parse(IPtoCPU[calculationComputers[nextComputer].ToString()].ToString()); k++)
{
Portions += "<Statement>" + statement[k].ToString() + "</Statement>";
}
Portions += "</Computer>";
i = i + int.Parse(IPtoCPU[calculationComputers[i].ToString()].ToString());
nextComputer++;
}
Portions += "</IPPort_Portion>";
}
else
{
Portions += "<IPPort_Portion>";
for (int i = 0; i < statement.Length; i++)
{
Portions += "<Computer><IPPort>" + calculationComputers[nextComputer].ToString() + "</IPPort>";
for (int k = i; k < i + (int.Parse(IPtoCPU[calculationComputers[nextComputer].ToString()].ToString())) * LinePerCPU; k++)
{
Portions += "<Statement>" + statement[k].ToString() + "</Statement>";
}
i = i + int.Parse(IPtoCPU[calculationComputers[i].ToString()].ToString());
nextComputer++;
if (nextComputer > calculationComputers.Count && i < statement.Length)
{
while (i < statement.Length)
{
Portions += "<Statement>" + statement[i].ToString() + "</Statement>";
i++;
}
}
Portions += "</Computer>";
}
Portions += "<Pid>"+Pid+"</Pid></IPPort_Portion>";
}
return Portions;
}
public void distributeParallelCode(string[] statement)