Diff for /loncom/homework/default_homework.lcpm between versions 1.135 and 1.139

version 1.135, 2008/06/10 16:20:29 version 1.139, 2008/09/12 09:56:09
Line 254  sub caparesponse_check { Line 254  sub caparesponse_check {
   
     &LONCAPA_INTERNAL_DEBUG("RetError $reterror: Answer $answer: Response $response:  type-$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$unit|");      &LONCAPA_INTERNAL_DEBUG("RetError $reterror: Answer $answer: Response $response:  type-$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$unit|");
     &LONCAPA_INTERNAL_DEBUG(" $answer $response $result ");      &LONCAPA_INTERNAL_DEBUG(" $answer $response $result ");
     return ($result,$reterror)      return ($result,$reterror);
 }  }
   
   
 sub caparesponse_check_list {  sub caparesponse_check_list {
       my ($tag) = @_;
     my $responses=$LONCAPA::CAPAresponse_args{'response'};      my $responses=$LONCAPA::CAPAresponse_args{'response'};
     &LONCAPA_INTERNAL_DEBUG("args ".join(':',%LONCAPA::CAPAresponse_args));      &LONCAPA_INTERNAL_DEBUG("args ".join(':',%LONCAPA::CAPAresponse_args));
     my $type = $LONCAPA::CAPAresponse_args{'type'};      my $type = $LONCAPA::CAPAresponse_args{'type'};
Line 303  sub caparesponse_check_list { Line 304  sub caparesponse_check_list {
   
     &LONCAPA_INTERNAL_DEBUG("Initial final response :$responses->[0][-1]:");      &LONCAPA_INTERNAL_DEBUG("Initial final response :$responses->[0][-1]:");
     my $unit;      my $unit;
     if ($type eq '' || $type eq 'float') {      if (($type eq 'float') || (($type eq '') && (($tag ne 'stringresponse') && ($tag ne 'stringhint')) ) ) {
  #for numerical problems split off the unit   #for numerical problems split off the unit
 # if ( $responses->[0][-1]=~ /(.*[^\s])\s+([^\s]+)/ ) {  # if ( $responses->[0][-1]=~ /(.*[^\s])\s+([^\s]+)/ ) {
         if ( $responses->[0][-1]=~ /^([\d\.\,\s\$]*(?:(?:[xX\*]10[\^\*]*|[eE]*)[\+\-]*\d*)*(?:^|\S)\d+)([\$\s\w\^\*\/\(\)\+\-]*[^\d\.\s\,][\$\s\w\^\*\/\(\)\+\-]*)$/ ) {          if ( $responses->[0][-1]=~ /^([\d\.\,\s\$]*(?:(?:[xX\*]10[\^\*]*|[eE]*)[\+\-]*\d*)*(?:^|\S)\d+)([\$\s\w\^\*\/\(\)\+\-]*[^\d\.\s\,][\$\s\w\^\*\/\(\)\+\-]*)$/ ) {
Line 316  sub caparesponse_check_list { Line 317  sub caparesponse_check_list {
     $unit=~s/\s//;      $unit=~s/\s//;
     foreach my $response (@$responses) {      foreach my $response (@$responses) {
        foreach my $element (@$response) {         foreach my $element (@$response) {
           $element =~ s/\s//g;            if (($type eq 'float') || (($type eq '') && ($unit ne ''))) {
                 $element =~ s/\s//g;
             }
           my $appendunit=$unit;            my $appendunit=$unit;
           if ($unit=~/\%/) {            if ($unit=~/\%/) {
              $element=$element/100;               $element=$element/100;
Line 424  sub caparesponse_check_list { Line 427  sub caparesponse_check_list {
 }  }
   
 sub cas {  sub cas {
     my ($system,$input)=@_;      my ($system,$input,$library)=@_;
     my $output;      my $output;
     if ($system eq 'maxima') {      if ($system eq 'maxima') {
        $output=&maxima_eval($input);         $output=&maxima_eval($input,$library);
       } else {
          $output='Error: unrecognized CAS';
     }      }
     return $output;      return $output;
 }  }
Line 1024  sub sec { Line 1029  sub sec {
     return $sec;      return $sec;
 }  }
   
   sub submission {
      my ($partid,$responseid,$subnumber)=@_;
      my $sub='';
      if ($subnumber) { $sub=$subnumber.':'; }
      return &EXT('user.resource.'.$sub.'resource.'.$partid.'.'.$responseid.'.submission');
   }
   
   sub currentpart {
      return $external::part;
   }
   
 sub eval_time {  sub eval_time {
    my ($timestamp)=@_;     my ($timestamp)=@_;
    unless ($timestamp) { return ''; }     unless ($timestamp) { return ''; }
Line 1048  sub answer_date { Line 1064  sub answer_date {
     return &eval_time(&EXT('resource.'.$partid.'.answerdate'));      return &eval_time(&EXT('resource.'.$partid.'.answerdate'));
 }  }
   
   sub open_date_epoch {
       my ($partid)=@_;
       unless ($partid) { $partid=0; }
       return &EXT('resource.'.$partid.'.opendate');
   }
   
   sub due_date_epoch {
       my ($partid)=@_;
       unless ($partid) { $partid=0; }
       return &EXT('resource.'.$partid.'.duedate');
   }
   
   sub answer_date_epoch {
       my ($partid)=@_;
       unless ($partid) { $partid=0; }
       return &EXT('resource.'.$partid.'.answerdate');
   }
   
 sub array_moments {  sub array_moments {
     my @input=@_;      my @input=@_;
     my (@output,$N);      my (@output,$N);

Removed from v.1.135  
changed lines
  Added in v.1.139


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