コード例 #1
0
ファイル: PrettyPrintVisitor.cs プロジェクト: zuzhu/SPINA
 //----< VisitParallelAssignmentOperationElement >------------------------------
 public override void VisitParallelAssignmentOperationElement(ParallelAssignmentOperationElement element)
 {
     Console.WriteLine("VisitParallelAssignment ...");
 }
コード例 #2
0
ファイル: Visitor.cs プロジェクト: zuzhu/SPINA
 public abstract void VisitParallelAssignmentOperationElement(ParallelAssignmentOperationElement element);
コード例 #3
0
ファイル: InterpreterVisitor.cs プロジェクト: zuzhu/SPINA
    //----< 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());
          }
    }