version 1.106, 2004/10/15 16:22:25
|
version 1.112, 2004/12/23 22:53:41
|
Line 124 sub setrandomnumber {
|
Line 124 sub setrandomnumber {
|
if (defined($Apache::inputtags::response[-1])) { |
if (defined($Apache::inputtags::response[-1])) { |
$rndmod+=&Apache::lonnet::numval($Apache::inputtags::response[-1]); |
$rndmod+=&Apache::lonnet::numval($Apache::inputtags::response[-1]); |
} |
} |
} else { |
} elsif ($rand_alg eq '64bit3') { |
$rndmod=(&Apache::lonnet::numval2($Apache::inputtags::part) << 10); |
$rndmod=(&Apache::lonnet::numval2($Apache::inputtags::part) << 10); |
if (defined($Apache::inputtags::response[-1])) { |
if (defined($Apache::inputtags::response[-1])) { |
$rndmod+=&Apache::lonnet::numval2($Apache::inputtags::response[-1]); |
$rndmod+=&Apache::lonnet::numval2($Apache::inputtags::response[-1]); |
} |
} |
|
} else { |
|
my $shift=(4*scalar(@Apache::inputtags::responselist))%30; |
|
$rndmod=(&Apache::lonnet::numval3($Apache::inputtags::part) << (($shift+15)%30)); |
|
if (defined($Apache::inputtags::response[-1])) { |
|
$rndmod+=(&Apache::lonnet::numval3($Apache::inputtags::response[-1]) << $shift ); |
|
} |
} |
} |
if ($rndseed =~/([,:])/) { |
if ($rndseed =~/([,:])/) { |
my $char=$1; |
my $char=$1; |
Line 136 sub setrandomnumber {
|
Line 142 sub setrandomnumber {
|
my ($num1,$num2)=split(/\Q$char\E/,$rndseed); |
my ($num1,$num2)=split(/\Q$char\E/,$rndseed); |
$num1+=$rndmod; |
$num1+=$rndmod; |
$num2+=$rndmod; |
$num2+=$rndmod; |
|
if($Apache::lonnet::_64bit) { $num1=(($num1<<32)>>32); $num2=(($num2<<32)>>32); } |
$rndseed=$num1.$char.$num2; |
$rndseed=$num1.$char.$num2; |
} else { |
} else { |
$rndseed+=$rndmod; |
$rndseed+=$rndmod; |
|
if($Apache::lonnet::_64bit) { |
|
use integer; |
|
$rndseed=(($rndseed<<32)>>32); |
|
} |
} |
} |
|
&Apache::lonxml::debug("randseed $rndmod $rndseed"); |
&Apache::lonnet::setup_random_from_rndseed($rndseed); |
&Apache::lonnet::setup_random_from_rndseed($rndseed); |
&Apache::lonxml::debug("randseed $rndseed"); |
|
return ''; |
return ''; |
} |
} |
|
|
Line 268 sub handle_previous {
|
Line 279 sub handle_previous {
|
if ($$previous{'used'} && ($$previous{'award'} eq $ad) ) { |
if ($$previous{'used'} && ($$previous{'award'} eq $ad) ) { |
if ($$previous{'last'}) { |
if ($$previous{'last'}) { |
push(@Apache::inputtags::previous,'PREVIOUSLY_LAST'); |
push(@Apache::inputtags::previous,'PREVIOUSLY_LAST'); |
} else { |
push(@Apache::inputtags::previous_version,$$previous{'version'}); |
|
} elsif ($Apache::lonhomework::type ne 'survey') { |
push(@Apache::inputtags::previous,'PREVIOUSLY_USED'); |
push(@Apache::inputtags::previous,'PREVIOUSLY_USED'); |
|
push(@Apache::inputtags::previous_version,$$previous{'version'}); |
} |
} |
push(@Apache::inputtags::previous_version,$$previous{'version'}); |
|
} |
} |
} |
} |
|
|
Line 507 sub showallfoils {
|
Line 519 sub showallfoils {
|
return 1; |
return 1; |
} |
} |
} |
} |
|
if ($Apache::lonhomework::type eq 'survey') { return 1; } |
return 0; |
return 0; |
} |
} |
|
|