public override void VisitMatScalAssignElement(MatScalAssignment element)
    {
        VisitElement(element.getLhs());
        VisitElement(element.getRhs());
        Thread[] threads = new Thread[endloopvar - startloopvar+1];
        for (int i = startloopvar; i <= endloopvar; i++)
        {
            ParameterizedThreadStart ps = new ParameterizedThreadStart(MixedAddAssign);
            threads[i] = new Thread(ps);
            threads[i].Start(new ThrScAndInd(i,(int)mVariableMap[scalar],loopmatvar));
        }

        for (int i = 0; i < threads.Length; i++)
            if (!threads[i].IsAlive)
                continue;
    }
 public override void VisitMatScalAssignElement(MatScalAssignment element)
 {
     VisitElement(element.getRhs());
     VisitElement(element.getLhs());
 }
 public abstract void VisitMatScalAssignElement(MatScalAssignment element);