--- rat/lonuserstate.pm 2006/02/10 22:33:42 1.100 +++ rat/lonuserstate.pm 2006/02/22 22:36:34 1.102 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Construct and maintain state and binary representation of course for user # -# $Id: lonuserstate.pm,v 1.100 2006/02/10 22:33:42 albertel Exp $ +# $Id: lonuserstate.pm,v 1.102 2006/02/22 22:36:34 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -318,6 +318,8 @@ sub loadmap { sub simplify { my $expression=shift; +# (0&1) = 1 + $expression=~s/\(0\&(\d+)\)/$1/g; # (8)=8 $expression=~s/\((\d+)\)/$1/g; # 8&8=8 @@ -327,8 +329,8 @@ sub simplify { # (5&3)&4=5&3&4 $expression=~s/\((\d+)((?:\&\d+)+)\)\&(\d+\D)/$1$2\&$3/g; # (((5&3)|(4&6)))=((5&3)|(4&6)) - $expression=~ - s/\((\(\(\d+(?:\&\d+)*\)(?:\|\(\d+(?:\&\d+)*\))+\))\)/$1/g; +# $expression=~ +# s/\((\(\(\d+(?:\&\d+)*\)(?:\|\(\d+(?:\&\d+)*\))+\))\)/$1/g; # ((5&3)|(4&6))|(1&2)=(5&3)|(4&6)|(1&2) $expression=~ s/\((\(\d+(?:\&\d+)*\))((?:\|\(\d+(?:\&\d+)*\))+)\)\|(\(\d+(?:\&\d+)*\))/\($1$2\|$3\)/g; @@ -362,11 +364,11 @@ sub traceroute { } if (defined($hash{'conditions_'.$rid})) { $hash{'conditions_'.$rid}=simplify( - '('.$hash{'conditions_'.$rid}.')|('.$sofar.')'); + '('.'conditions_'.$rid.')|('.$sofar.')'); } else { $hash{'conditions_'.$rid}=$sofar; } - $newsofar=$hash{'conditions_'.$rid}; + $newsofar='conditions_'.$rid; if (defined($hash{'is_map_'.$rid})) { if (defined($hash{'map_start_'.$hash{'src_'.$rid}})) { $sofar=$newsofar=