#GetExpTable4LFO.pl # $min =5; $max =255; $step =255; $log_min = log2($min); $log_max = log2($max); #for check by xls for my $i (0 .. $step){ my $f = (($log_max-$log_min) / $step * $i) + $log_min; ##入力のリニア変換 my $e2 = 2 ** $f ; ##実数の取り出し print("\"$i\",\"$f\",\"$e2\"\n"); push(@data,$e2); } #for program source for my $i (0 .. $step){ printf ("%3d, ",int($data[$i]+0.5)); print ("\n") unless ( ($i+1)%16 ); } sub log2() { my ($a) = @_; return log($a)/log(2); }