# file name (temp): default_homework # 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 { return 0; } sub random { my ($start,$end,$step)=@_; if ( ! $RANDOMINIT ) { srand($external::randomseed); $RANDOMINIT=1; } my $num=1+int(($end-$start)/$step); my $result=$start + int(rand() * $num)*$step; return $result; } sub tan { sin($_[0]) / cos($_[0]) } sub acos { atan2(sqrt(1 - $_[0] * $_[0]), $_[0] ); } sub asin { atan2($_[0], sqrt(1- $_[0] * $_[0]) ); } sub html { if ( $external::target eq "web" ) { #$SCRIPT_RESULT.=@_[0]; return @_[0]; } } sub pow {return $_[0] ** $_[1]; } sub ceil {return (($_[0]-int($_[0]))== 0.0) ? $_[0] : (int($_[0])+ 1); } sub floor {return int($_[0]); } sub format { my ($value,$fmt)=@_; $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";