<commit_before>#ifndef LUCE_HEADER_RANDOM_WELL_HH
#define LUCE_HEADER_RANDOM_WELL_HH
#include <Luce/Configuration.hh>

#include <Luce/Utility/Integer.hh>
#include <Luce/Utility/NonComparable.hh>

#include <cstddef>

namespace Luce
{
	namespace Random
	{
		template<typename ResultTy_,std::size_t W_, std::size_t R_, std::size_t P_,
			std::size_t M1_, std::size_t M2_, std::size_t M3_>
		class WellEngine LUCE_MACRO_FINAL
			: Utility::NonComparable
		{
			LUCE_MACRO_CANNOT_PARENT(WellEngine)

		private:
			typedef WellEngine<ResultTy_, W_, R_, P_, M1_, M2_, M3_> My_;

		public:
			WellEngine();
			WellEngine(const My_& engine);

		public:
			My_& operator=(const My_& engine);

		private:
			void Init();

		private:
			ResultTy_ Seed_[R_];
			ResultTy_ SeedIndex_;
			ResultTy_ Z_[3];
		};

		typedef WellEngine<Utility::UInt32, 32, 16, 0, 13, 9, 5> Well512;
	}

	using Luce::Random::Well512;
}

#include "Detail/Well.hh"
#endif<commit_msg>Update WellEngine<commit_after>#ifndef LUCE_HEADER_RANDOM_WELL_HH
#define LUCE_HEADER_RANDOM_WELL_HH
#include <Luce/Configuration.hh>

#include <Luce/Utility/Integer.hh>
#include <Luce/Utility/NonComparable.hh>

#include <cstddef>

namespace Luce
{
	namespace Random
	{
		template<typename ResultTy_,std::size_t W_, std::size_t R_, std::size_t P_,
			std::size_t M1_, std::size_t M2_, std::size_t M3_>
		class WellEngine LUCE_MACRO_FINAL
			: Utility::NonComparable
		{
			LUCE_MACRO_CANNOT_PARENT(WellEngine)

		public:
			typedef ResultTy_ Result;

		private:
			typedef WellEngine<ResultTy_, W_, R_, P_, M1_, M2_, M3_> My_;

		public:
			WellEngine();
			WellEngine(const My_& engine);

		public:
			My_& operator=(const My_& engine);

		private:
			void Init();

		public:
			static const std::size_t W = W_;
			static const std::size_t R = R_;
			static const std::size_t P = P_;
			static const std::size_t M1 = M1_;
			static const std::size_t M2 = M2_;
			static const std::size_t M3 = M3_;

		private:
			ResultTy_ Seed_[R_];
			ResultTy_ SeedIndex_;
			ResultTy_ Z_[3];
		};

		typedef WellEngine<Utility::UInt32, 32, 16, 0, 13, 9, 5> Well512;
	}

	using Luce::Random::Well512;
}

#include "Detail/Well.hh"
#endif
{'fraction_non_alphanumeric': 0.11399647887323944, 'fraction_numerical': 0.023767605633802816, 'mean_word_length': 3.573440643863179, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, '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': '7431077', 'n_tokens_mistral': 1029, 'n_tokens_neox': 848, 'n_words': 191}