printReport<T> static method

void printReport<T>(
  1. CustomSet<T> a,
  2. CustomSet<T> b, {
  3. String title = 'Cardinality Report',
})

Prints a detailed cardinality report for two sets.

This is useful for debugging and educational purposes.

Example:

final a = CustomSet<int>([1, 2, 3, 4]);
final b = CustomSet<int>([3, 4, 5, 6]);
CardinalityUtils.printReport(a, b, 'Set Analysis');

Implementation

static void printReport<T>(
  CustomSet<T> a,
  CustomSet<T> b, {
  String title = 'Cardinality Report',
}) {
  final summary = CardinalityUtils.summary(a, b);

  print('=' * 50);
  print(title);
  print('=' * 50);
  print('|A| = ${summary['cardinalityA']}');
  print('|B| = ${summary['cardinalityB']}');
  print('|A ∪ B| = ${summary['union']}');
  print('|A ∩ B| = ${summary['intersection']}');
  print('|A - B| = ${summary['differenceAB']}');
  print('|B - A| = ${summary['differenceBA']}');
  print('|A ⊕ B| = ${summary['symmetricDifference']}');
  print('Only in A = ${summary['onlyA']}');
  print('Only in B = ${summary['onlyB']}');
  print('In both = ${summary['both']}');
  print('In either or both = ${summary['eitherOrBoth']}');
  print('=' * 50);
}