version 1.173, 2017/02/07 21:24:29
|
version 1.177, 2019/11/06 16:20:06
|
Line 29
|
Line 29
|
|
|
#init some globals |
#init some globals |
$hidden::RANDOMINIT=0; |
$hidden::RANDOMINIT=0; |
|
$hidden::RANDOMINITTRYPART=''; |
$pi=atan2(1,1)*4; |
$pi=atan2(1,1)*4; |
$rad2deg=180.0/$pi; |
$rad2deg=180.0/$pi; |
$deg2rad=$pi/180.0; |
$deg2rad=$pi/180.0; |
Line 655 sub hinton {
|
Line 656 sub hinton {
|
|
|
sub random { |
sub random { |
my ($start,$end,$step)=@_; |
my ($start,$end,$step)=@_; |
if ( ! $hidden::RANDOMINIT ) { |
if (( ! $hidden::RANDOMINIT ) || |
if ($external::randomseed == 0) { $external::randomseed=1; } |
(($external::randomizetrypart ne '') && |
if ($external::randomseed =~/,/) { |
($hidden::RANDOMINITTRYPART ne $external::randomizetrypart))) { |
my ($num1,$num2)=split(/,/,$external::randomseed); |
if ($external::randomseed == 0) { $external::randomseed=1; } |
&random_set_seed(1,abs($num1)); |
if ($external::randomseed =~/,/) { |
} elsif ($external::randomseed =~/:/) { |
my ($num1,$num2) = map { abs($_); } split(/,/,$external::randomseed); |
my ($num1,$num2)=split(/:/,$external::randomseed); |
if ((!$num1) || ($num1 > 2147483398)) { |
&random_set_seed(abs($num1),abs($num2)); |
&random_set_seed_from_phrase($external::randomseed); |
} else { |
} else { |
&random_set_seed(1,int(abs($external::randomseed))); |
&random_set_seed(1,$num1); |
} |
} |
|
} elsif ($external::randomseed =~/:/) { |
|
my ($num1,$num2) = map { abs($_); } split(/:/,$external::randomseed); |
|
if ((!$num1) || (!$num2) || ($num1 > 2147483562) || ($num2 > 2147483398)) { |
|
&random_set_seed_from_phrase($external::randomseed); |
|
} else { |
|
&random_set_seed($num1,$num2); |
|
} |
|
} else { |
|
my $num1 = int(abs($external::randomseed)); |
|
if ((!$num1) || ($num1 > 2147483398)) { |
|
&random_set_seed_from_phrase($external::randomseed); |
|
} else { |
|
&random_set_seed(1,$num1); |
|
} |
|
} |
&math_random_uniform(); |
&math_random_uniform(); |
$hidden::RANDOMINIT=1; |
$hidden::RANDOMINIT=1; |
|
$hidden::RANDOMINITTRYPART=$external::randomizetrypart; |
} |
} |
if (!defined($step)) { $step=1; } |
if (!defined($step)) { $step=1; } |
my $num=1+int(($end-$start)/$step); |
my $num=1+int(($end-$start)/$step); |
Line 976 sub chemparse {
|
Line 993 sub chemparse {
|
return &xmlparse($formula); |
return &xmlparse($formula); |
} |
} |
|
|
|
sub conv_eng_format { |
|
my ($ans,$baseunit)=@_; |
|
my ($value,$answer,$unit); |
|
$baseunit =~ s{[^\w/\-\.]}{}g; |
|
eval { |
|
$value = &number_format_pref($ans); |
|
}; |
|
my ($answer,$prefix) = ($value=~ /^(.+)(\w)$/); |
|
my $unit = $prefix.$baseunit; |
|
return($answer,$unit); |
|
} |
|
|
sub prettyprint { |
sub prettyprint { |
my ($value,$fmt,$target)=@_; |
my ($value,$fmt,$target)=@_; |
my $result; |
my $result; |