internal static bool IsPromotion(ScalarType left, ScalarType right)
{
if (left == right)
return false;
switch (right)
{
case ScalarType.Min10Float:
switch(left)
{
case ScalarType.Min16Float:
case ScalarType.Half:
case ScalarType.Float:
case ScalarType.Double:
return true;
}
break;
case ScalarType.Min16Float:
case ScalarType.Half:
switch (left)
{
case ScalarType.Float:
case ScalarType.Double:
return true;
}
break;
case ScalarType.Float:
switch (left)
{
case ScalarType.Double:
return true;
}
break;
}
return false;
}