version 1.85, 2004/06/04 22:56:46
|
version 1.89, 2004/10/05 20:30:17
|
Line 41 sub caparesponse_check {
|
Line 41 sub caparesponse_check {
|
my $type=$LONCAPA::CAPAresponse_args{'type'}; |
my $type=$LONCAPA::CAPAresponse_args{'type'}; |
my $tol=$LONCAPA::CAPAresponse_args{'tol'}; |
my $tol=$LONCAPA::CAPAresponse_args{'tol'}; |
my $sig=$LONCAPA::CAPAresponse_args{'sig'}; |
my $sig=$LONCAPA::CAPAresponse_args{'sig'}; |
my $ans_fmt=$LONCAPA::CAPAresponse_args{'ans_fmt'}; |
my $ans_fmt=$LONCAPA::CAPAresponse_args{'format'}; |
my $unit=$LONCAPA::CAPAresponse_args{'unit'}; |
my $unit=$LONCAPA::CAPAresponse_args{'unit'}; |
my $calc=$LONCAPA::CAPAresponse_args{'calc'}; |
my $calc=$LONCAPA::CAPAresponse_args{'calc'}; |
my $samples=$LONCAPA::CAPAresponse_args{'samples'}; |
my $samples=$LONCAPA::CAPAresponse_args{'samples'}; |
Line 70 sub caparesponse_check {
|
Line 70 sub caparesponse_check {
|
$response=~s/ +/ /g; |
$response=~s/ +/ /g; |
} |
} |
if ($type eq 'float') { $response=~s/,//g; } |
if ($type eq 'float') { $response=~s/,//g; } |
|
if ($type eq 'float' && $ans_fmt=~/\$/) { |
|
if ($response!~/^\$/) { return "NO_UNIT: Missing \$ "; } |
|
$response=~s/\$//g; |
|
} |
|
$ans_fmt=~s/\W//g; |
|
|
if (length($response) > 500) { return "TOO_LONG: Answer too long"; } |
if (length($response) > 500) { return "TOO_LONG: Answer too long"; } |
|
|
if ($type eq '' ) { |
if ($type eq '' ) { |
Line 344 sub random_multivariate_normal {
|
Line 350 sub random_multivariate_normal {
|
my ($item_cnt,$seed,$mean,$covar) = @_; |
my ($item_cnt,$seed,$mean,$covar) = @_; |
my @oldseed=&random_get_seed(); |
my @oldseed=&random_get_seed(); |
&random_set_seed_from_phrase($seed); |
&random_set_seed_from_phrase($seed); |
@retArray=&math_random_multivariate_normal($item_cnt,@$mean,@$covar); |
my @retArray=&math_random_multivariate_normal($item_cnt,@$mean,@$covar); |
&random_set_seed(@oldseed); |
&random_set_seed(@oldseed); |
return @retArray; |
return @retArray; |
} |
} |
Line 354 sub random_multinomial {
|
Line 360 sub random_multinomial {
|
my @oldseed=&random_get_seed(); |
my @oldseed=&random_get_seed(); |
my @retArray; |
my @retArray; |
&random_set_seed_from_phrase($seed); |
&random_set_seed_from_phrase($seed); |
@retArray=&math_random_multinomial($item_cnt,@p); |
my @retArray=&math_random_multinomial($item_cnt,@p); |
&random_set_seed(@oldseed); |
&random_set_seed(@oldseed); |
return @retArray; |
return @retArray; |
} |
} |
Line 523 sub chemparse {
|
Line 529 sub chemparse {
|
$formula .= $molecule.' '; |
$formula .= $molecule.' '; |
} |
} |
# get rid of trailing space |
# get rid of trailing space |
$formula =~ s/(\Q${nbsp}\E| )$//; |
$formula =~ s/(\ \;| )$//; |
|
|
return &xmlparse($formula); |
return &xmlparse($formula); |
} |
} |
Line 535 sub prettyprint {
|
Line 541 sub prettyprint {
|
if ($fmt =~ /chem/i) { return(&chemparse($value)); } |
if ($fmt =~ /chem/i) { return(&chemparse($value)); } |
my ($dollarmode,$commamode,$alwaysperiod,$options); |
my ($dollarmode,$commamode,$alwaysperiod,$options); |
if ($fmt =~ /^([^\d]*)(.*)/) { $options=$1; $fmt=$2; } |
if ($fmt =~ /^([^\d]*)(.*)/) { $options=$1; $fmt=$2; } |
if ($options =~ /\$/) { $dollamode=1; } |
if ($options =~ /\$/) { $dollarmode=1; } |
if ($options =~ /,/) { $commamode=1; } |
if ($options =~ /,/) { $commamode=1; } |
if ($options =~ /\./) { $alwaysperiod=1; } |
if ($options =~ /\./) { $alwaysperiod=1; } |
if ($fmt) { $value=sprintf('%.'.$fmt,$value); } |
if ($fmt) { $value=sprintf('%.'.$fmt,$value); } |
Line 568 sub prettyprint {
|
Line 574 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); } |
elsif ($commamode) { $result=&commaformat($result,$target); } |
} |
} |
return $result; |
return $result; |
} |
} |