logscaf.pl

Code Index:

        my $Fx = unpack("H*",$x),"\n";
        my $Fn = unpack("F>",$x);
        my $L2n=log2($Fn);
        printf   "log2(%3d/256 = %8g = %s) = %g \n", $xx,$Fn,$Fx,$L2n;
                         ;
        push @XX, $L2n;
}
=cut

   1 #! perl -l
   2 require 5.010;
   3 use strict;
   4 use warnings;
   5 
   6 # my $nn = 0.75;
   7 #print unpack("H*",pack("F>",$nn)),"\n";
   8 
   9 my @XX;
  10 
  28 
  29 @XX = map {
  30     log2(
  31         unpack(
  32             "F>",
  33             pack( "H16",
  34                 '3ff' . unpack( 'H2', pack( 's', $_ ) ) . ( '0' x 13 ) )
  35         )
  36       )
  37 } 0 .. 255;
  38 
  39 use Data::Dumper;
  40 print Dumper( \@XX ), "\n";
  41 
  42 our $_l2;
  43 INIT { our $_l2 = log(2); }
  44 
  45 sub log2 {
  46     return log(shift) / log(2);
  47 }