public static FloatL LerpAngle(FloatL a, FloatL b, FloatL t)
    {
        FloatL num = FixPointMath.Repeat(b - a, 360f);

        if (num > 180f)
        {
            num -= 360f;
        }
        return(a + num * FixPointMath.Clamp01(t));
    }
    public static FloatL DeltaAngle(FloatL current, FloatL target)
    {
        FloatL num = FixPointMath.Repeat(target - current, 360f);

        if (num > 180f)
        {
            num -= 360f;
        }
        return(num);
    }
 public static FloatL PingPong(FloatL t, FloatL length)
 {
     t = FixPointMath.Repeat(t, length * 2f);
     return(length - FixPointMath.Abs(t - length));
 }