void ComputeCorrelationsUShortOverlap(IBooleanMatrix entity_data) { var overlap = Overlap.ComputeUShort(entity_data); for (int x = 0; x < NumEntities; x++) { for (int y = 0; y < x; y++) { this[x, y] = ComputeCorrelationFromOverlap(overlap[x, y], entity_data.NumEntriesByRow(x), entity_data.NumEntriesByRow(y)); } } }
void ComputeCorrelationsWeighted(IBooleanMatrix entity_data) { var overlap_and_entity_weights = Overlap.ComputeWeighted(entity_data); var overlap = overlap_and_entity_weights.Item1; var entity_weights = overlap_and_entity_weights.Item2; for (int x = 0; x < NumEntities; x++) { for (int y = 0; y < x; y++) { this[x, y] = ComputeCorrelationFromOverlap(overlap[x, y], entity_weights[x], entity_weights[y]); } } }
void ComputeCorrelationsUIntOverlap(IBooleanMatrix entity_data) { var overlap = Overlap.ComputeUInt(entity_data); // compute correlations for (int x = 0; x < num_entities; x++) { for (int y = 0; y < x; y++) { this[x, y] = ComputeCorrelationFromOverlap(overlap[x, y], entity_data.NumEntriesByRow(x), entity_data.NumEntriesByRow(y)); this[y, x] = ComputeCorrelationFromOverlap(overlap[x, y], entity_data.NumEntriesByRow(y), entity_data.NumEntriesByRow(x)); } } }