#ifndef UTIL_H #define UTIL_H #include "Structures.h" template T from_string(const std::string& s) { T result; std::istringstream iss(s); iss >> result; return result; } Entry parseChallengeLine(string line, int& movieId, bool& changedId, bool hasDates); void addUserAverageRatingLine(string line, std::map& ratingMap); AverageRating parseMovieAverageRatingLine(string line); void setEntriesFromMovieAverageRatings(bool isProbe, std::vector& entries); void appendEntriesFromUserAverageRatings(bool isProbe, std::map& entries); void appendDataFromMovieCorrelations(bool isProbe, int movieId, std::vector& correlations); void appendDataFromMovieCorrelations(bool isProbe, int movieId, std::vector& correlations); void addUserCorrelationLine(string line, std::map& correlations); void appendDataFromUserCorrelations(bool isProbe, int userId, std::map& correlations); void filterEntries(vector& entries, std::map >& probeEntries); void appendEntriesFromProbeFile(std::map >& entries); Entry parseRatingLine(string line, int& movieId); void appendEntriesFromMovieFile(int movieId, std::vector& entries, bool isBinary); string makeTrainingFileName(int num); double calculateStdDev(const std::vector& entries, double average); struct ResultComparator { ResultComparator(const Entry& e) : e1(e) { } bool operator()(const Entry& e2) const { return e1.equalsWithoutRating(e2); } const Entry& e1; }; #endif // UTIL_H