version 1.3, 2011/10/06 10:56:49
|
version 1.5, 2011/10/21 10:10:07
|
Line 95 my %cenv; # Course environment.
|
Line 95 my %cenv; # Course environment.
|
|
|
sub simplify { |
sub simplify { |
my $expression=shift; |
my $expression=shift; |
my $prior = ''; # This is safe as a null expression is pretty optimal. |
|
|
|
while ($prior ne $expression) { |
|
$prior = $expression; # Stop when the substitutions below do nothing. |
|
# (0&1) = 1 |
# (0&1) = 1 |
$expression=~s/\(0\&([_\.\d]+)\)/$1/g; |
$expression=~s/\(0\&([_\.\d]+)\)/$1/g; |
# (8)=8 |
# (8)=8 |
Line 115 sub simplify {
|
Line 112 sub simplify {
|
# ((5&3)|(4&6))|(1&2)=(5&3)|(4&6)|(1&2) |
# ((5&3)|(4&6))|(1&2)=(5&3)|(4&6)|(1&2) |
$expression=~ |
$expression=~ |
s/\((\([_\.\d]+(?:\&[_\.\d]+)*\))((?:\|\([_\.\d]+(?:\&[_\.\d]+)*\))+)\)\|(\([_\.\d]+(?:\&[_\.\d]+)*\))/\($1$2\|$3\)/g; |
s/\((\([_\.\d]+(?:\&[_\.\d]+)*\))((?:\|\([_\.\d]+(?:\&[_\.\d]+)*\))+)\)\|(\([_\.\d]+(?:\&[_\.\d]+)*\))/\($1$2\|$3\)/g; |
} |
|
|
|
return $expression; |
return $expression; |
} |
} |
|
|
Line 405 sub hiddenurls {
|
Line 403 sub hiddenurls {
|
my (undef,$id)=split(/\./,$rid); |
my (undef,$id)=split(/\./,$rid); |
if ($randompickseed{$rid}) { $id=$randompickseed{$rid}; } |
if ($randompickseed{$rid}) { $id=$randompickseed{$rid}; } |
my $rndseed=&Apache::lonnet::rndseed($id, $courseid, $udom, $uname, \%cenv); # use id instead of symb |
my $rndseed=&Apache::lonnet::rndseed($id, $courseid, $udom, $uname, \%cenv); # use id instead of symb |
&Apache::lonnet::logthis("lonmap random seed: $rndseed"); |
|
&Apache::lonnet::setup_random_from_rndseed($rndseed); |
&Apache::lonnet::setup_random_from_rndseed($rndseed); |
my @whichids=&Math::Random::random_permuted_index($#currentrids+1); |
my @whichids=&Math::Random::random_permuted_index($#currentrids+1); |
for (my $i=1;$i<=$rndpick;$i++) { $currentrids[$whichids[$i]]=''; } |
for (my $i=1;$i<=$rndpick;$i++) { $currentrids[$whichids[$i]]=''; } |
Line 1387 sub loadmap {
|
Line 1384 sub loadmap {
|
%encurl = (); |
%encurl = (); |
%hiddenurl = (); |
%hiddenurl = (); |
%parmhash = (); |
%parmhash = (); |
@cond = (); |
@cond = ('true:normal'); # Initial value for cond 0. |
$retfrid = ''; |
$retfrid = ''; |
$username = ''; |
$username = ''; |
$userdomain = ''; |
$userdomain = ''; |
Line 1417 sub loadmap {
|
Line 1414 sub loadmap {
|
&Apache::lonnet::logthis("lonmap::loadmap failed: $cnum/$cdom - did not get url"); |
&Apache::lonnet::logthis("lonmap::loadmap failed: $cnum/$cdom - did not get url"); |
return; |
return; |
} |
} |
&Apache::lonnet::logthis("Course environment: \n" . Dumper(\%cenv)); |
|
|
|
$course_id = $cdom . '_' . $cnum; # Long course id. |
$course_id = $cdom . '_' . $cnum; # Long course id. |
|
|