<commit_before>﻿namespace Bakery.Security
{
	using System;

	public static class RandomExtensions
	{
		public static Byte[] GetBytes(this IRandom random, Int32 count)
		{
			if (count <= 0)
				throw new ArgumentOutOfRangeException(nameof(count));

			var buffer = new Byte[count];

			for (var i = 0; i < count; i++)
				buffer[i] = random.GetByte();

			return buffer;
		}

		public static Int64 GetInt64(this IRandom random)
		{
			return BitConverter.ToInt64(random.GetBytes(8), 0);
		}

		public static UInt64 GetUInt64(this IRandom random)
		{
			return BitConverter.ToUInt64(random.GetBytes(8), 0);
		}
	}
}<commit_msg>Add an IRandom.GetDigit() extension method, which returns a string between '0' and '9'.<commit_after>﻿namespace Bakery.Security
{
	using System;

	public static class RandomExtensions
	{
		public static Byte[] GetBytes(this IRandom random, Int32 count)
		{
			if (count <= 0)
				throw new ArgumentOutOfRangeException(nameof(count));

			var buffer = new Byte[count];

			for (var i = 0; i < count; i++)
				buffer[i] = random.GetByte();

			return buffer;
		}

		public static String GetDigit(this IRandom random)
		{
			return (random.GetUInt64() % 10).ToString();
		}

		public static Int64 GetInt64(this IRandom random)
		{
			return BitConverter.ToInt64(random.GetBytes(8), 0);
		}

		public static UInt64 GetUInt64(this IRandom random)
		{
			return BitConverter.ToUInt64(random.GetBytes(8), 0);
		}
	}
}
{'fraction_non_alphanumeric': 0.11350974930362116, 'fraction_numerical': 0.03203342618384401, 'mean_word_length': 3.8383838383838382, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3298734', 'n_tokens_mistral': 568, 'n_tokens_neox': 469, 'n_words': 131}