TT#69200 Rerwite seteq() based off setcontains()

Change-Id: I8f342223d92586e7127ff1e51155fe9cb9c51f62
changes/63/35063/1
Guillem Jover 6 years ago
parent c5522cdc8b
commit 24b954f4fd

@ -18,8 +18,8 @@ our @EXPORT_OK = qw(
contains
arrayeq
mapeq
seteq
setcontains
seteq
filter
getroundrobinitem
getrandomitem
@ -155,33 +155,26 @@ sub arrayeq {
return 1;
}
sub seteq {
sub setcontains {
my ($array_ptr1, $array_ptr2, $case_insensitive) = @_;
my $ubound1 = _array_last($array_ptr1) // -1;
my $ubound2 = _array_last($array_ptr2) // -1;
# every element of array1 must be existent in array2 ...
# every element of array1 must be existent in array2:
foreach my $i (0 .. $ubound1) {
return 0 if not contains($array_ptr1->[$i], $array_ptr2, $case_insensitive);
}
# ... and every element of array2 must be existent in array1
foreach my $i (0 .. $ubound2) {
return 0 if not contains($array_ptr2->[$i], $array_ptr1, $case_insensitive);
}
return 1;
}
sub setcontains {
sub seteq {
my ($array_ptr1, $array_ptr2, $case_insensitive) = @_;
my $ubound1 = _array_last($array_ptr1) // -1;
# every element of array1 must be existent in array2:
foreach my $i (0 .. $ubound1) {
return 0 if not contains($array_ptr1->[$i], $array_ptr2, $case_insensitive);
}
# every element of array1 must be existent in array2 ...
return 0 if not setcontains($array_ptr1, $array_ptr2, $case_insensitive);
# ... and every element of array2 must be existent in array1
return 0 if not setcontains($array_ptr2, $array_ptr1, $case_insensitive);
return 1;
}

Loading…
Cancel
Save