version 1.110, 2006/07/17 21:11:21
|
version 1.112, 2006/07/18 15:26:23
|
Line 200 sub capa_formula_fix {
|
Line 200 sub capa_formula_fix {
|
|
|
sub implicit_multiplication { |
sub implicit_multiplication { |
my ($expression)=@_; |
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; |
$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; |
$expression=~s/(\d+)(?:x|\*)10(?:\^|\*\*)([\+\-]*\d+)/$1\&\($2\)/gsi; |
|
# Fill in multiplication signs |
|
# a b -> a*b |
$expression=~s/\s+/\*/gs; |
$expression=~s/\s+/\*/gs; |
|
# 3a -> 3*a; 3( -> 3*(; 3A -> 3*a |
$expression=~s/(\d)([a-zA-Z\(])/$1\*$2/gs; |
$expression=~s/(\d)([a-zA-Z\(])/$1\*$2/gs; |
|
# a3 -> a*3; )3 -> )*3 |
$expression=~s/([a-zA-Z])(\d)/$1\*$2/gs; |
$expression=~s/([a-zA-Z])(\d)/$1\*$2/gs; |
|
# )a -> )*a |
$expression=~s/\)(\w)/\)\*$1/gs; |
$expression=~s/\)(\w)/\)\*$1/gs; |
|
# 3&8 -> 3e8; 3&-4 -> 3e-4 |
$expression=~s/(\d+)\&\(([\+\-]*\d+)\)/$1e$2/gs; |
$expression=~s/(\d+)\&\(([\+\-]*\d+)\)/$1e$2/gs; |
return $expression; |
return $expression; |
} |
} |
Line 841 sub class {
|
Line 850 sub class {
|
return $course; |
return $course; |
} |
} |
|
|
|
sub firstname { |
|
my $firstname = &EXT('environment.firstname'); |
|
$firstname = '' if $firstname eq ""; |
|
return $firstname; |
|
} |
|
|
|
sub lastname { |
|
my $lastname = &EXT('environment.lastname'); |
|
$lastname = '' if $lastname eq ""; |
|
return $lastname; |
|
} |
|
|
sub sec { |
sub sec { |
my $sec = &EXT('request.course.sec'); |
my $sec = &EXT('request.course.sec'); |
$sec = '' if $sec eq ""; |
$sec = '' if $sec eq ""; |