namespace TIASshot {
/// <summary>
/// ゲイン更新比率の計算ロジック(ピュアロジック層).
/// ハードウェアに依存しない純粋な計算のみを担う.
/// </summary>
internal static class GainCalc {
/// <summary>
/// ゲイン値の更新比率を計算する.
/// value が 255.0f のときは updateRate によらず係数を 1.0 として比率を求める.
/// </summary>
/// <param name="value">現在の計測値</param>
/// <param name="target">目標値</param>
/// <param name="updateRate">更新レート(0 より大きい値を想定)</param>
/// <returns>更新比率</returns>
internal static float CalcRatio(float value, float target, float updateRate) {
float ratio = target / value;
ratio = (ratio - 1.0f) * (value == 255.0f ? 1.0f : updateRate) + 1.0f;
return ratio;
}
}
}