Cleanup NumberFormater

This commit is contained in:
Isaac Marovitz 2024-06-21 13:55:59 +01:00
commit 7ba110252d
No known key found for this signature in database
GPG key ID: 97250B2B09A132E1

View file

@ -10,24 +10,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
public static bool TryFormat(int value, AggregateType dstType, out string formatted) public static bool TryFormat(int value, AggregateType dstType, out string formatted)
{ {
if (dstType == AggregateType.FP32) switch (dstType)
{ {
case AggregateType.FP32:
return TryFormatFloat(BitConverter.Int32BitsToSingle(value), out formatted); return TryFormatFloat(BitConverter.Int32BitsToSingle(value), out formatted);
} case AggregateType.S32:
else if (dstType == AggregateType.S32)
{
formatted = FormatInt(value); formatted = FormatInt(value);
} break;
else if (dstType == AggregateType.U32) case AggregateType.U32:
{
formatted = FormatUint((uint)value); formatted = FormatUint((uint)value);
} break;
else if (dstType == AggregateType.Bool) case AggregateType.Bool:
{
formatted = value != 0 ? "true" : "false"; formatted = value != 0 ? "true" : "false";
} break;
else default:
{
throw new ArgumentException($"Invalid variable type \"{dstType}\"."); throw new ArgumentException($"Invalid variable type \"{dstType}\".");
} }
@ -65,18 +61,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
public static string FormatInt(int value, AggregateType dstType) public static string FormatInt(int value, AggregateType dstType)
{ {
if (dstType == AggregateType.S32) return dstType switch
{ {
return FormatInt(value); AggregateType.S32 => FormatInt(value),
} AggregateType.U32 => FormatUint((uint)value),
else if (dstType == AggregateType.U32) _ => throw new ArgumentException($"Invalid variable type \"{dstType}\".")
{ };
return FormatUint((uint)value);
}
else
{
throw new ArgumentException($"Invalid variable type \"{dstType}\".");
}
} }
public static string FormatInt(int value) public static string FormatInt(int value)