OneHotToBinary constructor

OneHotToBinary(
  1. Logic onehot, {
  2. bool generateError = false,
  3. String name = 'one_hot_to_binary',
  4. bool reserveName = false,
  5. bool reserveDefinitionName = false,
  6. String? definitionName,
})

By default, creates an instance of a CaseOneHotToBinary for smaller widths and a TreeOneHotToBinary for larger widths.

Implementation

factory OneHotToBinary(Logic onehot,
    {bool generateError = false,
    String name = 'one_hot_to_binary',
    bool reserveName = false,
    bool reserveDefinitionName = false,
    String? definitionName}) {
  final isSmall = onehot.width <= 8;

  return (isSmall ? CaseOneHotToBinary.new : TreeOneHotToBinary.new)(onehot,
      generateError: generateError,
      reserveName: reserveName,
      reserveDefinitionName: reserveDefinitionName,
      name: name,
      definitionName: definitionName ?? 'OneHotToBinary_W${onehot.width}');
}