From: dpvc v. a. <we...@ma...> - 2005-08-13 18:17:20
|
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; |