From fbd45915cb13ba958533181052cf5e99836f0c5a Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Thu, 13 Feb 2025 08:38:45 +1000 Subject: [PATCH] Add `Log10(int)` helper --- .../tools/TAStudio/TAStudio.ListView.cs | 2 +- src/BizHawk.Common/Extensions/NumberExtensions.cs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs index 02fbd23fb9..3c3bad05f9 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs @@ -296,7 +296,7 @@ namespace BizHawk.Client.EmuHawk /// with leading zeroes such that every frame in the movie will be printed with the same number of digits private string FrameToStringPadded(int index) - => index.ToString(_formatCache[(int)Math.Log10(Math.Max(CurrentTasMovie.InputLogLength, 1))]); + => index.ToString(_formatCache[NumberExtensions.Log10(Math.Max(CurrentTasMovie.InputLogLength, 1))]); private void TasView_QueryItemText(int index, RollColumn column, out string text, ref int offsetX, ref int offsetY) { diff --git a/src/BizHawk.Common/Extensions/NumberExtensions.cs b/src/BizHawk.Common/Extensions/NumberExtensions.cs index b7f0f0bb6f..8dad23a325 100644 --- a/src/BizHawk.Common/Extensions/NumberExtensions.cs +++ b/src/BizHawk.Common/Extensions/NumberExtensions.cs @@ -127,6 +127,17 @@ namespace BizHawk.Common.NumberExtensions } } + public static int Log10(int i) + { + var toReturn = 0; + while (i > 100) + { + i /= 100; + toReturn += 2; + } + return i > 10 ? toReturn + 1 : toReturn; + } + /// /// Receives a number and returns the number of hexadecimal digits it is /// Note: currently only returns 2, 4, 6, or 8