private static bool CompareValues(ComparisonOperator op, XPathItem left, XPathItem right, TypeCode compType)
{
if (compType == TypeCode.Double)
{
return(CompareNumbers(op, XsltConvert.ToDouble(left), XsltConvert.ToDouble(right)));
}
else
{
Debug.Assert(op == ComparisonOperator.Eq || op == ComparisonOperator.Ne);
if (compType == TypeCode.String)
{
return((XsltConvert.ToString(left) == XsltConvert.ToString(right)) == (op == ComparisonOperator.Eq));
}
else
{
Debug.Assert(compType == TypeCode.Boolean);
return((XsltConvert.ToBoolean(left) == XsltConvert.ToBoolean(right)) == (op == ComparisonOperator.Eq));
}
}
}