Log Message:
-----------
Can't use the length check when reducing unions, since it could
contain a single set that is not reduced, and we need to check that,
too.
Modified Files:
--------------
pg/lib/Value:
Union.pm
Revision Data
-------------
Index: Union.pm
===================================================================
RCS file: /webwork/cvs/system/pg/lib/Value/Union.pm,v
retrieving revision 1.19
retrieving revision 1.20
diff -Llib/Value/Union.pm -Llib/Value/Union.pm -u -r1.19 -r1.20
--- lib/Value/Union.pm
+++ lib/Value/Union.pm
@@ -209,7 +209,7 @@
#
sub reduce {
my $self = shift;
- return $self if $self->{isReduced} || $self->length < 2;
+ return $self if $self->{isReduced};
my @singletons = (); my @intervals = ();
foreach my $x ($self->value) {
if ($x->type eq 'Set') {push(@singletons,$x->value)}
@@ -253,7 +253,7 @@
#
sub isReduced {
my $self = shift;
- return 1 if $self->{isReduced} || $self->length < 2;
+ return 1 if $self->{isReduced};
my $reduced = $self->reduce;
return unless $reduced->type eq 'Union' && $reduced->length == $self->length;
my @R = $reduced->sort->value; my @S = $self->sort->value;
|