Diff for /loncom/homework/response.pm between versions 1.155 and 1.156

version 1.155, 2006/12/15 21:10:13 version 1.156, 2006/12/15 22:11:43
Line 535  sub end_mathresponse { Line 535  sub end_mathresponse {
     return $result;      return $result;
 }  }
   
   sub implicit_multiplication {
       my ($expression)=@_;
   # Escape scientific notation, so 3e8 does not become 3*e*8
   # 3e8 -> 3&8; 3e-8 -> 3&-8; 3E+8 -> e&+8
       $expression=~s/(\d+)e([\+\-]*\d+)/$1\&\($2\)/gsi;
   # 3x10^8 -> 3&8; 3*10^-8 -> 3&-8
       $expression=~s/(\d+)(?:x|\*)10(?:\^|\*\*)([\+\-]*\d+)/$1\&\($2\)/gsi;
   # Fill in multiplication signs
   # a b -> a*b;3 b -> 3*b;3 4 -> 3*4
       $expression=~s/(\w)\s+(\w)/$1\*$2/gs;
   # )( -> )*(; ) ( -> )*(
       $expression=~s/\)\s*\(/\)\*\(/gs;
   # 3a -> 3*a; 3( -> 3*(; 3 ( -> 3*(; 3A -> 3*A
       $expression=~s/(\d)\s*([a-zA-Z\(])/$1\*$2/gs;
   # a ( -> a*(
       $expression=~s/(\w)\s+\(/$1\*\(/gs;
   # )a -> )*a; )3 -> )*3; ) 3 -> )*3
       $expression=~s/\)\s*(\w)/\)\*$1/gs;
   # 3&8 -> 3e8; 3&-4 -> 3e-4
       $expression=~s/(\d+)\&\(([\+\-]*\d+)\)/$1e$2/gs;
       return $expression;
   }
   
 sub start_answer {  sub start_answer {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;

Removed from v.1.155  
changed lines
  Added in v.1.156


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