Beispiel #1
0
 static int CompareSqrtPart(Expr x, Expr y)
 {
     var sqrtLengthComparison = Comparer<int>.Default.Compare(y.ExprOrAddToAdd().Length, x.ExprOrAddToAdd().Length);
     if(sqrtLengthComparison != 0)
         return sqrtLengthComparison;
     var xSqrtList = x.ExprOrAddToAdd().Select(a => GetParamOrPowerArgsWithSqrt(a.ExprOrMultToMult()));
     var ySqrtList = y.ExprOrAddToAdd().Select(a => GetParamOrPowerArgsWithSqrt(a.ExprOrMultToMult()));
     return xSqrtList.Zip(ySqrtList, (a, b) => CompareMult(a, b)).FirstOrDefault(a => a != 0);
 }