// Token: 0x060068A5 RID: 26789 RVA: 0x001D8594 File Offset: 0x001D6794 private static string GetStringForLargestRomanMarker(int startIndex, int highestIndex, bool uppercase) { if (highestIndex <= 3999) { int indexForLargestRomanMarker = ListMarkerSourceInfo.GetIndexForLargestRomanMarker(startIndex, highestIndex); return(ListMarkerSourceInfo.ConvertNumberToRomanString(indexForLargestRomanMarker, uppercase)); } if (!uppercase) { return(ListMarkerSourceInfo.LargestRomanMarkerLower); } return(ListMarkerSourceInfo.LargestRomanMarkerUpper); }
// Token: 0x060068A6 RID: 26790 RVA: 0x001D85CC File Offset: 0x001D67CC private static int GetIndexForLargestRomanMarker(int startIndex, int highestIndex) { int num = 0; if (startIndex == 1) { int num2 = highestIndex / 1000; highestIndex %= 1000; for (int i = 0; i < ListMarkerSourceInfo.RomanNumericSizeIncrements.Length; i++) { Invariant.Assert(highestIndex >= ListMarkerSourceInfo.RomanNumericSizeIncrements[i]); if (highestIndex == ListMarkerSourceInfo.RomanNumericSizeIncrements[i]) { num = highestIndex; break; } Invariant.Assert(highestIndex > ListMarkerSourceInfo.RomanNumericSizeIncrements[i]); if (i >= ListMarkerSourceInfo.RomanNumericSizeIncrements.Length - 1 || highestIndex < ListMarkerSourceInfo.RomanNumericSizeIncrements[i + 1]) { num = ListMarkerSourceInfo.RomanNumericSizeIncrements[i]; break; } } if (num2 > 0) { num = num2 * 1000 + num; } } else { int num3 = 0; for (int j = startIndex; j <= highestIndex; j++) { string text = ListMarkerSourceInfo.ConvertNumberToRomanString(j, true); if (text.Length > num3) { num = j; num3 = text.Length; } } } Invariant.Assert(num > 0); return(num); }