@@ -263,7 +263,7 @@ const Merger = struct {
263263 }
264264
265265 fn minimize (m : * Merger , writer : anytype ) ! void {
266- var symbols_by_name = std .StringHashMap (std .ArrayList (Symbol )).init (m .arena );
266+ var symbols_by_name = std .StringArrayHashMap (std .ArrayList (Symbol )).init (m .arena );
267267 for (m .all_symbols .items ) | symbol | {
268268 const gop = try symbols_by_name .getOrPut (symbol .identifier );
269269 if (! gop .found_existing ) {
@@ -272,9 +272,8 @@ const Merger = struct {
272272 try gop .value_ptr .append (symbol );
273273 }
274274
275- var it = symbols_by_name .iterator ();
276- while (it .next ()) | entry | {
277- const first = entry .value_ptr .items [0 ];
275+ for (symbols_by_name .values ()) | symbols | {
276+ const first = symbols .items [0 ];
278277
279278 std .debug .print ("minimizing boolean expression for symbol '{s}'\n " , .{first .identifier });
280279
@@ -286,7 +285,7 @@ const Merger = struct {
286285 index : u16 ,
287286 def : NamedDefine ,
288287 }).init (m .arena );
289- for (entry . value_ptr .items ) | symbol | {
288+ for (symbols .items ) | symbol | {
290289 for (symbol .clauses .conjunctives ) | conj | {
291290 for (conj ) | def | {
292291 const name = switch (def .define ) {
@@ -318,7 +317,7 @@ const Merger = struct {
318317 try in_writer .print ("OUTORDER = {s};\n " , .{out_label });
319318
320319 try in_writer .print ("{s} = " , .{out_label });
321- for (entry . value_ptr .items , 0.. ) | symbol , i | {
320+ for (symbols .items , 0.. ) | symbol , i | {
322321 for (symbol .clauses .conjunctives , 0.. ) | conj , k | {
323322 for (conj , 0.. ) | def , j | {
324323 const name = switch (def .define ) {
@@ -343,7 +342,7 @@ const Merger = struct {
343342 try in_writer .print (" & " , .{});
344343 }
345344 }
346- if (entry . value_ptr . items .len > 1 and i < entry . value_ptr .items .len - 1 ) {
345+ if (symbols . items .len > 1 and i < symbols .items .len - 1 ) {
347346 try in_writer .print (" | " , .{});
348347 }
349348 }
0 commit comments