//----< VisitParallelAssignmentOperationElement >------------------------------ public override void VisitParallelAssignmentOperationElement(ParallelAssignmentOperationElement element) { Console.WriteLine("VisitParallelAssignment ..."); }
public abstract void VisitParallelAssignmentOperationElement(ParallelAssignmentOperationElement element);
//----< visit Parallel Assignment Operation >------------------------------ public override void VisitParallelAssignmentOperationElement(ParallelAssignmentOperationElement element) { // the rhs of ParallelForAssignment Element rhs = element.getRhs(); ParallelElement pe_rhs = (ParallelElement)element.getRhs(); if (element.getRhs() is ParallelElement) { pe_rhs.setValue(element.getValue()); pe_rhs.setVariable(element.getVariable()); } VisitElement(rhs); IntegerElement result = mIntStack.Pop(); int result_int = int.Parse(result.getText()); // the lhs of ParallelForAssignment VectorIndexElement vie = (VectorIndexElement)element.getLhs(); ParallelElement pe_lhs = (ParallelElement)element.getLhs(); if (element.getLhs() is ParallelElement) { pe_lhs.setValue(element.getValue()); pe_lhs.setVariable(element.getVariable()); } VariableElement vie_var = (vie.getVariableElement()) as VariableElement; string s = vie_var.getText(); Element result_first_index = vie.getFirstIndexElement(); Element result_second_index = vie.getSecondIndexElement(); int result_first_index_num = setVectorIndexValue(vie, result_first_index); int result_second_index_num = setVectorIndexValue(vie, result_second_index); if (mVariableMap.ContainsKey(s)) { MatrixElement m = (mVariableMap[s]) as MatrixElement; m.setValue(result_first_index_num, result_second_index_num, result_int); Console.WriteLine(m.ToString()); } }