+} AnalysisHistogramEval;
+
+typedef struct
+{
+ // These are the cpu times of the first and last interactions (message or
+ // broadcast) between two traces. The times are from the trace with the
+ // lowest traceNum.
+ uint64_t min, max;
+} Bounds;
+
+typedef struct
+{
+ /* AnalysisHistogramEval* graphs[RttKey];
+ * For this table, saddr and daddr are swapped as necessary such that
+ * saddr < daddr */
+ GHashTable* histograms;
+
+ /* Bounds bounds[traceNum][traceNum]
+ *
+ * Only the lower triangular part of the matrix is allocated, that is
+ * bounds[i][j] where i > j */
+ Bounds** bounds;
+} AnalysisGraphsEval;