Diff for /loncom/homework/response.pm between versions 1.104 and 1.112

version 1.104, 2004/09/24 19:44:00 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;
 }  }
   
Line 533  sub getresponse { Line 546  sub getresponse {
     $response;      $response;
  if ($resulttype ne 'letter') {   if ($resulttype ne 'letter') {
     if ($resulttype eq 'A is 1') {      if ($resulttype eq 'A is 1') {
  $response = $let_to_num{$response};  
     } else {  
  $response = $let_to_num{$response}+1;   $response = $let_to_num{$response}+1;
       } else {
    $response = $let_to_num{$response};
     }      }
  }   }
     } else {      } else {
Line 646  sub analyze_store_foilgroup { Line 659  sub analyze_store_foilgroup {
 sub check_if_computed {  sub check_if_computed {
     my ($token,$parstack,$safeeval,$name)=@_;      my ($token,$parstack,$safeeval,$name)=@_;
     my $value = &Apache::lonxml::get_param($name,$parstack,$safeeval);      my $value = &Apache::lonxml::get_param($name,$parstack,$safeeval);
     if ($value ne $token->[2]{$name}) {      if (ref($token->[2]) eq 'HASH' && $value ne $token->[2]{$name}) {
  my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";   my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
  $Apache::lonhomework::analyze{"$part_id.answercomputed"} = 1;   $Apache::lonhomework::analyze{"$part_id.answercomputed"} = 1;
     }      }

Removed from v.1.104  
changed lines
  Added in v.1.112


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>