// Path: src/util/Statistics.java
// public class Statistics {
// 
// 	public static double avgDouble(List<Double> vals){
// 		
// 		double sum = 0;
// 		for(double d : vals)
// 			sum += d;
// 		
// 		return sum / vals.size();
// 		
// 	}
// 	
// 	public static double avgInteger(List<Integer> vals){
// 		
// 		double sum = 0;
// 		for(int d : vals)
// 			sum += d;
// 		
// 		return sum / vals.size();
// 		
// 	}
// 	
// 	public static double stdDevDouble(List<Double> vals){
// 		
// 		double avg = avgDouble(vals);
// 		
// 		double sum = 0;
// 		for(double d : vals)
// 			sum += (d - avg) * (d - avg);
// 		
// 		double davg = sum / vals.size();
// 		
// 		return Math.sqrt(davg);
// 		
// 	}
// 	
// 	public static double stdDevInteger(List<Integer> vals){
// 		
// 		double avg = avgInteger(vals);
// 		
// 		double sum = 0;
// 		for(double d : vals)
// 			sum += (d - avg) * (d - avg);
// 		
// 		double davg = sum / vals.size();
// 		
// 		return Math.sqrt(davg);
// 		
// 	}
// 
// 	public static int max(List<Integer> vals) {
// 		
// 		int min = Integer.MIN_VALUE;
// 		
// 		for(int n : vals)
// 			if (n > min)
// 				min = n;
// 		
// 		return min;
// 	}
// 	
// }


import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import util.Statistics;
package ai.util;



public class AiStatistics {

	public Map<String, Double> stats;
	public Map<String, List<Double>> statsLists;

	public AiStatistics() {
		super();
		this.stats = new HashMap<String, Double>();
		this.statsLists = new HashMap<String, List<Double>>();
	}

	@Override
	public String toString() {
		String str = "";
		for(String key : stats.keySet())
			str += key + " = "+ stats.get(key) + "\n";
		for(String key : statsLists.keySet()){
			if (statsLists.get(key) == null || statsLists.get(key).isEmpty())
				continue;
// Path: src/util/Statistics.java
// public class Statistics {
// 
// 	public static double avgDouble(List<Double> vals){
// 		
// 		double sum = 0;
// 		for(double d : vals)
// 			sum += d;
// 		
// 		return sum / vals.size();
// 		
// 	}
// 	
// 	public static double avgInteger(List<Integer> vals){
// 		
// 		double sum = 0;
// 		for(int d : vals)
// 			sum += d;
// 		
// 		return sum / vals.size();
// 		
// 	}
// 	
// 	public static double stdDevDouble(List<Double> vals){
// 		
// 		double avg = avgDouble(vals);
// 		
// 		double sum = 0;
// 		for(double d : vals)
// 			sum += (d - avg) * (d - avg);
// 		
// 		double davg = sum / vals.size();
// 		
// 		return Math.sqrt(davg);
// 		
// 	}
// 	
// 	public static double stdDevInteger(List<Integer> vals){
// 		
// 		double avg = avgInteger(vals);
// 		
// 		double sum = 0;
// 		for(double d : vals)
// 			sum += (d - avg) * (d - avg);
// 		
// 		double davg = sum / vals.size();
// 		
// 		return Math.sqrt(davg);
// 		
// 	}
// 
// 	public static int max(List<Integer> vals) {
// 		
// 		int min = Integer.MIN_VALUE;
// 		
// 		for(int n : vals)
// 			if (n > min)
// 				min = n;
// 		
// 		return min;
// 	}
// 	
// }


// Path: src/ai/util/AiStatistics.java
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import util.Statistics;

package ai.util;



public class AiStatistics {

	public Map<String, Double> stats;
	public Map<String, List<Double>> statsLists;

	public AiStatistics() {
		super();
		this.stats = new HashMap<String, Double>();
		this.statsLists = new HashMap<String, List<Double>>();
	}

	@Override
	public String toString() {
		String str = "";
		for(String key : stats.keySet())
			str += key + " = "+ stats.get(key) + "\n";
		for(String key : statsLists.keySet()){
			if (statsLists.get(key) == null || statsLists.get(key).isEmpty())
				continue;
			str += key + " (avg) = "+ Statistics.avgDouble(statsLists.get(key)) + "\n";