version 1.2, 2000/10/05 19:24:23
|
version 1.6, 2000/10/13 14:58:49
|
Line 2
|
Line 2
|
# used by lonxml::xmlparse() as input variable $safeinit to Apache::run::run() |
# used by lonxml::xmlparse() as input variable $safeinit to Apache::run::run() |
# |
# |
# |
# |
|
$RANDOMINIT=0; |
|
|
|
sub tex { |
|
if ( $external::target eq "tex" ) { |
|
#$SCRIPT_RESULT.=@_[0]; |
|
return @_[0]; |
|
} else { |
|
#$SCRIPT_RESULT.=@_[1]; |
|
return @_[1]; |
|
} |
|
} |
|
|
|
sub web { |
|
if ( $external::target eq "tex" ) { |
|
#$SCRIPT_RESULT.=@_[1]; |
|
return @_[1]; |
|
} else { |
|
if ( $external::target eq "web") { |
|
#$SCRIPT_RESULT.=@_[0]; |
|
return @_[0]; |
|
} else { |
|
#$SCRIPT_RESULT.=@_[2]; |
|
return @_[2]; |
|
} |
|
} |
|
} |
|
|
|
sub problem { |
|
$SCRIPT_RESULT.='1'; |
|
return ''; |
|
} |
|
|
sub hinton { |
sub hinton { |
return 0; |
return 0; |
} |
} |
|
|
sub random { |
sub random { |
my ($start,$end,$step)=@_; |
my ($start,$end,$step)=@_; |
|
if ( ! $RANDOMINIT ) { srand($external::randomseed); $RANDOMINIT=1; } |
my $num=1+int(($end-$start)/$step); |
my $num=1+int(($end-$start)/$step); |
my $result=$start + int(rand() * $num)*$step; |
my $result=$start + int(rand() * $num)*$step; |
return $result; |
return $result; |
Line 18 sub acos { atan2(sqrt(1 - $_[0] * $_[0])
|
Line 51 sub acos { atan2(sqrt(1 - $_[0] * $_[0])
|
sub asin { atan2($_[0], sqrt(1- $_[0] * $_[0]) ); } |
sub asin { atan2($_[0], sqrt(1- $_[0] * $_[0]) ); } |
|
|
sub html { |
sub html { |
if ( $external::target == "web" ) { |
if ( $external::target eq "web" ) { |
$SCRIPT_RESULT.=@_[0]; |
#$SCRIPT_RESULT.=@_[0]; |
|
return @_[0]; |
} |
} |
} |
} |
|
|
Line 32 sub format {
|
Line 66 sub format {
|
my ($value,$fmt)=@_; |
my ($value,$fmt)=@_; |
$SCRIPT_RESULT.=sprintf('%.'.$fmt,$value); |
$SCRIPT_RESULT.=sprintf('%.'.$fmt,$value); |
} |
} |
|
|
|
sub map { |
|
my $num = $#_/2; |
|
my $i; |
|
my @used; |
|
my @permutation; |
|
for ($i=0; $i < $num;) { |
|
$rand = &random(1,$num,1); |
|
if ( $used[$rand] == '0' ) { |
|
$i++; |
|
$used[$rand]='1'; |
|
$permutation[$i]=$rand; |
|
} |
|
} |
|
for ( $i=1 ; $i<$num+1 ; $i++ ) { |
|
${$_[$permutation[$i]]}=$_[$i+$num] |
|
} |
|
} |
|
|
|
sub choose { |
|
my $num = $_[0]; |
|
return $_[$num]; |
|
} |
|
#$external::randomseed=time; |
|
#$a=2; |
|
#$b=2; |
|
#$c=2; |
|
#&map(1,\$a,\$b,\$c,3,4,5); |
|
#print $a."\n".$b."\n"; |