forked from Mirror/Ryujinx
1825bd87b4
This is the first commit of a series of reformat around the codebase as discussed internally some weeks ago. This project being one that isn't touched that much, it shouldn't cause conflict with any opened PRs.
33 lines
No EOL
916 B
C#
33 lines
No EOL
916 B
C#
using System.Runtime.CompilerServices;
|
|
|
|
namespace Ryujinx.Audio.Renderer.Dsp
|
|
{
|
|
public static class FixedPointHelper
|
|
{
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static int ToInt(long value, int qBits)
|
|
{
|
|
return (int)(value >> qBits);
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static float ToFloat(long value, int qBits)
|
|
{
|
|
return (float)value / (1 << qBits);
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static int ToFixed(float value, int qBits)
|
|
{
|
|
return (int)(value * (1 << qBits));
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static int RoundUpAndToInt(long value, int qBits)
|
|
{
|
|
int half = 1 << (qBits - 1);
|
|
|
|
return ToInt(value + half, qBits);
|
|
}
|
|
}
|
|
} |