[LON-CAPA-cvs] cvs: rat / lonuserstate.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Wed, 22 Feb 2006 21:59:00 -0000
albertel Wed Feb 22 16:59:00 2006 EDT
Modified files:
/rat lonuserstate.pm
Log:
- elminating a regexp that does little but take a long time to do it
- the 0th condition is by definition always true
Index: rat/lonuserstate.pm
diff -u rat/lonuserstate.pm:1.100 rat/lonuserstate.pm:1.101
--- rat/lonuserstate.pm:1.100 Fri Feb 10 17:33:42 2006
+++ rat/lonuserstate.pm Wed Feb 22 16:58:59 2006
@@ -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.101 2006/02/22 21:58:59 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -318,6 +318,8 @@
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 @@
# (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;