<commit_before>#ifndef FA_2_H
#define FA_2_H

#include<vector>
using std::vector;
#include<functional>
using std::function;

inline vector<double> normRand (size_t n)
{
	vector<double> randNos(n);
	return randNos; //Dummy return
}

inline vector<int> asyncSquares (size_t n)
{
	vector<int> squares(n);
	return squares; //Dummy return	
}

template <typename fn>
auto repeatFunction (fn f, int n)
{
	return f;
}

/*int repeatFunction (std::function<int(int)> f , int n)
{
	return f(1);
}*/

//template<typename T>
/*inline int operator() (std::function<int(int num) f, int n) repeatFunction
{
	return f(num); //Dummy return 
}
*/
/*function<function<int(int)>f,int n >repeatFunction
{
	return f(n);
}*/

#endif<commit_msg>Passing all test for Exercise A<commit_after>#ifndef FA_2_H
#define FA_2_H

#include<vector>
using std::vector;
#include<random>
using std::normal_distribution;
using std::mt19937;
#include<functional>
using std::function;

inline vector<double> normRand (size_t n)
{
	vector<double> randNos;
	mt19937 gen (10); // Seed with constant -> we get same numbers at every run
	normal_distribution <double> dist(100.0,15.0);
	for(int i = 0; i < n; i++)
	{
		randNos.push_back(dist(gen));
	}

	return randNos;
}

inline vector<int> asyncSquares (size_t n)
{
	vector<int> squares(n);
	return squares; //Dummy return	
}

template <typename fn>
auto repeatFunction (fn f, int n)
{
	return f;
}

#endif
{'fraction_non_alphanumeric': 0.14397163120567377, 'fraction_numerical': 0.01773049645390071, 'mean_word_length': 5.1347826086956525, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 24, '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': '2153941', 'n_tokens_mistral': 556, 'n_tokens_neox': 523, 'n_words': 146}