type __ghdl_index_type is unsigned (32);
type __ghdl_bool_type is boolean {false, true};

public function main (a : __ghdl_index_type) return __ghdl_index_type
declare
begin
  case a is
    when 1, 2, 7 =>
      return 2;
    when 3 ... 5 =>
      return 1;
    when default =>
      return 0;
  end case;
end;