equal
deleted
inserted
replaced
764 |
764 |
765 |
765 |
766 (** Equality, membership and insertion of indexnames (string*ints) **) |
766 (** Equality, membership and insertion of indexnames (string*ints) **) |
767 |
767 |
768 (*optimized equality test for indexnames. Yields a huge gain under Poly/ML*) |
768 (*optimized equality test for indexnames. Yields a huge gain under Poly/ML*) |
769 fun eq_ix ((a, i):indexname, (a',i'):indexname) = (a=a') andalso i=i'; |
769 fun eq_ix ((x, i): indexname, (y, j)) = i = j andalso x = y; |
770 |
770 |
771 (*membership in a list, optimized version for indexnames*) |
771 (*membership in a list, optimized version for indexnames*) |
772 fun mem_ix (_, []) = false |
772 fun mem_ix (_, []) = false |
773 | mem_ix (x, y :: ys) = eq_ix(x,y) orelse mem_ix (x, ys); |
773 | mem_ix (x, y :: ys) = eq_ix(x,y) orelse mem_ix (x, ys); |
774 |
774 |