[LON-CAPA-cvs] cvs: loncom /homework default_homework.lcpm

www lon-capa-cvs@mail.lon-capa.org
Tue, 18 Jul 2006 14:06:19 -0000


www		Tue Jul 18 10:06:19 2006 EDT

  Modified files:              
    /loncom/homework	default_homework.lcpm 
  Log:
  The Style Police apparently believes that regular expressions are not
  self-explanatory.
  
  
Index: loncom/homework/default_homework.lcpm
diff -u loncom/homework/default_homework.lcpm:1.110 loncom/homework/default_homework.lcpm:1.111
--- loncom/homework/default_homework.lcpm:1.110	Mon Jul 17 17:11:21 2006
+++ loncom/homework/default_homework.lcpm	Tue Jul 18 10:06:17 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA 
 # used by lonxml::xmlparse() as input variable $safeinit to Apache::run::run()
 #
-# $Id: default_homework.lcpm,v 1.110 2006/07/17 21:11:21 www Exp $
+# $Id: default_homework.lcpm,v 1.111 2006/07/18 14:06:17 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -200,12 +200,21 @@
 
 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
     $expression=~s/\s+/\*/gs;
+# 3a -> 3*a; 3( -> 3*(; 3A -> 3*a
     $expression=~s/(\d)([a-zA-Z\(])/$1\*$2/gs;
+# a3 -> a*3; )3 -> )*3
     $expression=~s/([a-zA-Z])(\d)/$1\*$2/gs;
+# )a -> )*a
     $expression=~s/\)(\w)/\)\*$1/gs;
+# 3&8 -> 3e8; 3&-4 -> 3e-4
     $expression=~s/(\d+)\&\(([\+\-]*\d+)\)/$1e$2/gs;
     return $expression;
 }