7 "Cheat sheets summarising various software programs and standards.",
10 sheet cheat reference software overview summary help keyboard map unicode
12 stylesheet => [qw'light dark circus mono red'],
22 my @cols = (2, 6, 8, 9, 10, 12, 16, 18, 60);
24 print '<th>', $_ for @cols;
26 my @char = (0..9, 'A'..'Z', 'a'..'z');
32 for my $radix (@cols) {
33 my $accuracy = int($places * log($radix) / log(10));
34 Math::BigFloat->accuracy($accuracy);
35 my $frac = Math::BigFloat->new(1)->bdiv($n, $accuracy+1);
39 for my $place (1 .. $places) {
40 $out .= $char[ $frac->blsft(1, $radix) ];
41 $frac->bmod(1) or do {
42 $class = $n == $radix ? 'l5' : $place == 1 ? 'l4' : 'l3';
45 for my $check (log($n)/log($radix) .. length($out)>>1) {
46 if ($out =~ /[^0]/ and substr($out, -$check) eq substr($out, -$check*2, $check)) {
47 $class = $check == 1 ? 'l2' : 'l1';
48 substr($out, -$check) = '';
49 substr($out, -$check, 0) = '(';
54 printf '<td%s>%s', $class && qq( class="$class"), $out;