<commit_before>#ifndef pRNG_impl
#define pRNG_impl
namespace pRNG{
	template<class result_type>
	struct pRNG{
		void*data_region;
		typedef result_type(*function_type)(void*);
		function_type iterate_function;
		pRNG(void*data_region,function_type iterate_function):
			data_region(data_region),
			iterate_function(iterate_function){}
		inline result_type operator()(){
			return iterate_function(data_region);
		}
	};
	template<typename T>
	typename T::result_type pRNG_next(
		void*T_Ptr
	){
		return ((T*)T_Ptr)->operator()();
	}
	template<class T>
	pRNG<typename T::result_type>pRNG_adapt(T&prng_instance){
		return pRNG<typename T::result_type>((void*)(&prng_instance),pRNG_next<T>);
	}
}
#endif<commit_msg>Update pRNG.cpp<commit_after>#ifndef pRNG_impl
#define pRNG_impl
namespace pRNG{
	template<class result_type>
	struct pRNG{
		void*data_region;
		typedef result_type(*function_type)(void*);
		function_type iterate_function;
		pRNG(void*data_region,function_type iterate_function):
			data_region(data_region),
			iterate_function(iterate_function){}
		inline result_type operator()(){
			return iterate_function(data_region);
		}
		template<typename T,typename...vv>
		void seed(vv...args){
			((T*)data_region)->seed(args...);
		}
	};
	template<typename T>
	typename T::result_type pRNG_next(
		void*T_Ptr
	){
		return ((T*)T_Ptr)->operator()();
	}
	template<class T>
	pRNG<typename T::result_type>pRNG_adapt(T&prng_instance){
		return pRNG<typename T::result_type>((void*)(&prng_instance),pRNG_next<T>);
	}
	template<typename T,typename...args>
	pRNG<typename T::result_type>pRNG_create(args...vv){
		return pRNG_adapt(*(new T(vv...)));
	}
	template<typename T>
	void pRNG_free(pRNG<typename T::result_type>gg){
		delete (T*)(gg.data_region);
	}
}
#endif
{'fraction_non_alphanumeric': 0.14471452798191067, 'fraction_numerical': 0.0, 'mean_word_length': 6.695652173913044, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 23, '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': '1597670', 'n_tokens_mistral': 719, 'n_tokens_neox': 666, 'n_words': 99}