Diff for /loncom/homework/default_homework.lcpm between versions 1.79 and 1.80

version 1.79, 2004/05/17 21:15:56 version 1.80, 2004/05/17 22:20:21
Line 480  sub floor  {return (($_[0]-CORE::int($_[ Line 480  sub floor  {return (($_[0]-CORE::int($_[
   
 sub format {  sub format {
     my ($value,$fmt)=@_;      my ($value,$fmt)=@_;
     my $dollarmode;      my $dollarmode,$commamode;
     if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; }       if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } 
       if ($fmt =~ /^,(.*)/) { $fmt=$1; $commamode=1; } 
     $fmt=~s/e/E/g;      $fmt=~s/e/E/g;
     my $result=sprintf('%.'.$fmt,$value);      my $result=sprintf('%.'.$fmt,$value);
     if ($fmt eq '0f') { $result .='.'; }      if ($fmt eq '0f') { $result .='.'; }
     $result=~s/(E[+-]*)0/$1/;      $result=~s/(E[+-]*)0/$1/;
     if ($dollarmode) {$result=&dollarmode($result);}      if ($dollarmode) {$result=&dollarformat($result);}
       if ($commamode) {$result=&commaformat($result);}
     return $result;      return $result;
 }  }
   
Line 532  sub chemparse { Line 534  sub chemparse {
 sub prettyprint {  sub prettyprint {
     my ($value,$fmt,$target)=@_;      my ($value,$fmt,$target)=@_;
     my $result;      my $result;
     my $dollarmode;      my $dollarmode,$commamode;
     if (!$target) { $target = $external::target; }      if (!$target) { $target = $external::target; }
     if ($fmt =~ /chem/i) { return(&chemparse($value)); }      if ($fmt =~ /chem/i) { return(&chemparse($value)); }
     if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; }       if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } 
       if ($fmt =~ /^,(.*)/) { $fmt=$1; $commamode=1; } 
     if ($fmt) { $value=sprintf('%.'.$fmt,$value); }      if ($fmt) { $value=sprintf('%.'.$fmt,$value); }
     if ($fmt eq '0f') { $value .='.'; }      if ($fmt eq '0f') { $value .='.'; }
     if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/i ) {      if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/i ) {
  my $frac=$1;   my $frac=$1;
  if ($dollarmode) { $frac=&dollarformat($frac); }   if ($dollarmode) { $frac=&dollarformat($frac); }
    if ($commamode) { $frac=&commaformat($frac); }
  my $exponent=$2;   my $exponent=$2;
  $exponent=~s/^\+0*//;   $exponent=~s/^\+0*//;
  $exponent=~s/^-0*/-/;   $exponent=~s/^-0*/-/;
Line 560  sub prettyprint { Line 564  sub prettyprint {
     } else {      } else {
  $result=$value;   $result=$value;
  if ($dollarmode) { $result=&dollarformat($result,$target); }   if ($dollarmode) { $result=&dollarformat($result,$target); }
    if ($commamode) { $result=&commaformat($result,$target); }
     }      }
     return $result;      return $result;
 }  }
   
 sub dollarformat {  sub commaformat {
     my ($number,$target) = @_;      my ($number,$target) = @_;
     if (!$target) { $target = $external::target; }  
     if ($number =~ /\./) {      if ($number =~ /\./) {
  while ($number =~ /([^\.,]+)([^\.,][^\.,][^\.,])([,0-9]*\.[0-9]*)$/) {   while ($number =~ /([^\.,]+)([^\.,][^\.,][^\.,])([,0-9]*\.[0-9]*)$/) {
     $number = $1.','.$2.$3;      $number = $1.','.$2.$3;
Line 576  sub dollarformat { Line 580  sub dollarformat {
     $number = $1.','.$2.$3;      $number = $1.','.$2.$3;
  }   }
     }      }
       return $number;
   }
   
   sub dollarformat {
       my ($number,$target) = @_;
       if (!$target) { $target = $external::target; }
       $number=&commaformat($number,$target);
     if ($target eq 'tex') {      if ($target eq 'tex') {
  $number='\$'.$number; #' stupid emacs   $number='\$'.$number; #' stupid emacs
     } else {      } else {

Removed from v.1.79  
changed lines
  Added in v.1.80


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