public override void VisitVectorSingleElement(VectorElement element) { try { VectorElement temp = element; if (inParallelFor == 1) { if (parallelVars.Contains(element.getVar().getText())) { } else { vectorData(element.getVar().getText()); } parallelString.Append(temp.getVar().getText()); parallelString.Append("["); if (temp.getRange() is VariableElement) parallelString.Append(((VariableElement)temp.getRange()).getText()); else if (temp.getRange() is IntegerElement) parallelString.Append(((IntegerElement)temp.getRange()).getText()); parallelString.Append("]"); } else { PerformVectorSingleElementOperation(element); } } catch (Exception e) { sendres(112, "Error in vector element\n"); e.GetType(); } }
public void PerformVectorSingleElementOperation(VectorElement temp) { if (map_contains_matrix(temp.getVar().getText())) { VectorVariableDeclaration matTemp = null; if (temp != null) { matTemp = (VectorVariableDeclaration)mVariableMap[temp.getVar().getText()]; int loc = getIndex(temp); if (matTemp != null) { if (loc < int.Parse(matTemp.getRange().getText())) { if (matTemp.getType() == "int") { int val = matTemp.getintValueat(loc); IntegerElement elem = new IntegerElement(); elem.setText(val.ToString()); mat_stack.Push(elem); } else if (matTemp.getType() == "double") { double val = matTemp.getdoubleValueat(loc); DoubleElement elem = new DoubleElement(); elem.setText(val.ToString()); mat_stack.Push(elem); } } else { Console.Write("Range out of bound\n"); sendres(112, "Range out of bound\n"); } } } } }