ShaderTools.Hlsl.Symbols.TypeFacts.IsPromotion C# (CSharp) Method

IsPromotion() static private method

static private IsPromotion ( ScalarType left, ScalarType right ) : bool
left ScalarType
right ScalarType
return bool
        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;
        }