Branch Coverage

blib/lib/Geo/BUFR.pm
Criterion Covered Total %
branch 1211 1942 62.3


line true false branch
177 8 47 if ($Strict_checking == 1) { }
7 40 elsif ($Strict_checking > 1) { }
188 2015 207 if (ref $self) { }
190 1961 54 if $level > $self->{'VERBOSE'} and $level > $Verbose
192 203 4 if $level > $Verbose
195 30 28 if (@_) { }
236 5 79 if (@_ % 2)
257 0 5 unless ref $bufr eq "Geo::BUFR"
260 5 0 if ($what eq 'metadata') { }
0 0 elsif ($what eq 'all') { }
270 125 0 if (exists $bufr->{$_}) { }
274 0 0 if exists $self->{$_}
280 0 0 if ($key eq 'FILEHANDLE') { }
0 0 elsif (ref $value and not $key =~ /[BCD]_TABLE/) { }
309 0 14 if (ref $self) { }
318 1 13 if $verbose > 1
326 8 1 defined $n ? :
335 0 1 defined $n ? :
344 0 40 unless defined $n
357 3 0 defined $n ? :
366 0 0 defined $self->{'BUFR_LENGTH'} ? :
370 0 7 unless defined $bufr_edition
372 0 7 unless $bufr_edition =~ /^\d+$/
374 0 7 unless $bufr_edition >= 0 and $bufr_edition < 5
382 3 0 defined $self->{'BUFR_EDITION'} ? :
386 0 4 unless defined $master_table
388 0 4 unless $master_table =~ /^\d+$/
391 0 4 if $master_table > 255
398 0 0 defined $self->{'MASTER_TABLE'} ? :
402 0 7 unless defined $centre
404 0 7 unless $centre =~ /^\d+$/
407 0 7 if $centre > 65535
414 0 0 defined $self->{'CENTRE'} ? :
418 0 7 unless defined $subcentre
420 0 7 unless $subcentre =~ /^\d+$/
422 0 7 if $subcentre > 65535
429 0 0 defined $self->{'SUBCENTRE'} ? :
433 0 7 unless defined $update_number
435 0 7 unless $update_number =~ /^\d+$/
437 0 7 if $update_number > 255
444 2 0 defined $self->{'UPDATE_NUMBER'} ? :
448 0 4 unless defined $optional_section
450 0 4 unless $optional_section eq 0 or $optional_section eq 1
457 0 0 defined $self->{'OPTIONAL_SECTION'} ? :
461 0 7 unless defined $data_category
463 0 7 unless $data_category =~ /^\d+$/
465 0 7 if $data_category > 255
472 24 0 defined $self->{'DATA_CATEGORY'} ? :
476 0 3 unless defined $int_data_subcategory
478 0 3 unless $int_data_subcategory =~ /^\d+$/
480 0 3 if $int_data_subcategory > 255
487 0 1 defined $self->{'INT_DATA_SUBCATEGORY'} ? :
491 0 3 unless defined $loc_data_subcategory
493 0 3 unless $loc_data_subcategory =~ /^\d+$/
495 0 3 if $loc_data_subcategory > 255
502 0 1 defined $self->{'LOC_DATA_SUBCATEGORY'} ? :
506 0 5 unless defined $data_subcategory
508 0 5 unless $data_subcategory =~ /^\d+$/
510 0 5 if $data_subcategory > 255
517 3 0 defined $self->{'DATA_SUBCATEGORY'} ? :
521 0 6 unless defined $master_table_version
523 0 6 unless $master_table_version =~ /^\d+$/
525 0 6 if $master_table_version > 255
533 0 0 defined $self->{'MASTER_TABLE_VERSION'} ? :
537 0 6 unless defined $local_table_version
539 0 6 unless $local_table_version =~ /^\d+$/
541 0 6 if $local_table_version > 255
549 0 0 defined $self->{'LOCAL_TABLE_VERSION'} ? :
553 0 4 unless defined $year_of_century
555 0 4 unless $year_of_century =~ /^\d+$/
557 0 4 if $year_of_century > 100
560 0 4 $year_of_century == 0 ? :
565 0 2 if (defined $self->{'YEAR_OF_CENTURY'}) { }
2 0 elsif (defined $self->{'YEAR'}) { }
569 0 2 $yy == 0 ? :
576 0 4 unless defined $year
578 0 4 unless $year =~ /^\d+$/
580 0 4 if $year > 65535
587 1 0 defined $self->{'YEAR'} ? :
591 0 7 unless defined $month
593 0 7 unless $month =~ /^\d+$/
595 0 7 if $month == 0 or $month > 12
602 0 0 defined $self->{'MONTH'} ? :
606 0 7 unless defined $day
608 0 7 unless $day =~ /^\d+$/
610 0 7 if $day == 0 or $day > 31
617 0 0 defined $self->{'DAY'} ? :
621 0 7 unless defined $hour
623 0 7 unless $hour =~ /^\d+$/
625 0 7 if $hour > 23
632 0 0 defined $self->{'HOUR'} ? :
636 0 7 unless defined $minute
638 0 7 unless $minute =~ /^\d+$/
640 0 7 if $minute > 59
647 0 0 defined $self->{'MINUTE'} ? :
651 0 3 unless defined $second
653 0 3 unless $second =~ /^\d+$/
655 0 3 if $second > 59
662 0 1 defined $self->{'SECOND'} ? :
666 0 0 unless defined $local_use
673 0 0 defined $self->{'LOCAL_USE'} ? :
677 0 6 unless defined $number_of_subsets
679 0 6 unless $number_of_subsets =~ /^\d+$/
681 0 6 if $number_of_subsets > 65535
688 5 0 defined $self->{'NUM_SUBSETS'} ? :
692 0 5 unless defined $observed_data
694 0 5 unless $observed_data eq 0 or $observed_data eq 1
701 0 0 defined $self->{'OBSERVED_DATA'} ? :
705 0 7 unless defined $compressed_data
707 0 7 unless $compressed_data eq 0 or $compressed_data eq 1
711 0 0 if $compressed_data and defined $self->{'NUM_SUBSETS'} and $self->{'NUM_SUBSETS'} == 1
717 0 0 defined $self->{'COMPRESSED_DATA'} ? :
721 0 4 unless defined $descriptors_unexpanded
729 0 0 defined $self->{'DESCRIPTORS_UNEXPANDED'} ? :
737 182 0 defined $self->{'CURRENT_SUBSET'} ? :
742 117 0 defined $self->{'CURRENT_MESSAGE'} ? :
747 117 51 defined $self->{'CURRENT_AHL'} ? :
752 7 0 defined $self->{'CURRENT_GTS_STARTING_LINE'} ? :
757 5 2 defined $self->{'CURRENT_GTS_EOM'} ? :
764 7 0 if (ref $cb eq 'CODE') { }
776 50 7 defined $self->{'IS_FILTERED'} ? :
781 46 0 defined $self->{'BAD_LENGTH'} ? :
788 0 67 unless defined $format
790 0 67 unless uc $format eq "BUFRDC" or uc $format eq "ECCODES"
799 8 0 exists $BUFR_table{'FORMAT'} ? :
817 0 0 if (exists $BUFR_table{'PATH'}) { }
818 0 0 wantarray ? :
835 25 102 if ($table)
836 16 9 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
9 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
838 0 16 if ($table =~ /wmo/ or $table =~ /local/)
847 0 9 unless $table =~ /wmo/ or $table =~ /local/
857 0 408 unless defined $self->{$metadata}
865 26 76 if ($local_table_version == 0 or $local_table_version == 255)
873 93 9 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
9 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
878 0 9 if ($local_table_version == 0) { }
894 0 2 unless $BUFR_table{'PATH'}
897 0 2 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
2 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
899 0 0 unless opendir my $dh, $tabledir
904 0 0 if ($version > $max_version)
909 0 0 unless $max_version
916 0 2 unless opendir my $dh, $dir
921 2 0 if ($version > $max_version)
926 0 2 unless $max_version
944 0 163 unless $BUFR_table{'PATH'}
948 146 17 if (-e catfile($_, $fname))
955 8 9 if ($BUFR_table{'FORMAT'} eq "BUFRDC")
959 8 0 if ($path)
976 8 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
977 0 8 if length $fname < 20
983 0 0 unless defined $self->{$metadata}
987 0 8 if $master_table eq $fname
991 8 0 if (-e catfile($_, $master_table))
1007 0 61 unless my($path, $tname) = $self->_locate_table($fname)
1013 4 57 if ($tname ne $fname)
1015 0 4 if exists $BUFR_table{"B$master_version"}
1019 0 61 unless open my $TABLE, "<", $tablefile
1023 4 57 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1030 0 83814 unless defined $bits
1049 4 10 unless ($path)
1050 0 4 if ($version =~ /wmo/) { }
1063 0 10 unless open my $TABLE, "<", $tablefile
1070 10 3892 if /^#/
1075 0 3892 unless defined $width
1076 258 3634 if $unit eq "CCITT IA5"
1098 0 61 unless my($path, $tname) = $self->_locate_table($fname)
1104 4 57 if ($tname ne $fname)
1106 0 4 if exists $BUFR_table{"D$master_version"}
1110 0 61 unless open my $TABLE, "<", $tablefile
1114 4 57 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1120 0 226371 if $line =~ /^\s*$/
1122 201117 25254 if (substr($line, 0, 5) eq ' ') { }
1146 5 9 unless ($path)
1147 0 5 if ($version =~ /wmo/) { }
1160 0 9 unless open my $TABLE, "<", $tablefile
1181 1410 288 if (substr($_, 0, 1) eq '"') { }
1183 1401 9 if $txt
1191 9 0 if $txt
1223 3 6 if ($BUFR_table{'FORMAT'} eq "ECCODES")
1224 0 3 if ($version =~ /,/) { }
1236 0 6 unless $path
1240 0 6 if ($tname ne $fname)
1242 0 0 if exists $BUFR_table{"C$master_version"}
1246 0 6 unless open my $TABLE, "<", $tablefile
1250 0 6 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1256 0 28506 if $line =~ /^\s*$/
1258 3210 25296 if (substr($line, 0, 15) eq ' ') { }
23292 2004 elsif (substr($line, 0, 10) eq ' ') { }
1260 0 3210 if $line eq "NOT DEFINED" or $line eq "RESERVED"
1266 312 22974 if not defined $txt or $txt eq "NOT DEFINED" or $txt eq "RESERVED"
1273 12 1992 if defined $C_table{$table}
1275 174 1830 if not defined $txt or $txt eq "NOT DEFINED" or $txt eq "RESERVED"
1290 0 7 unless ($path)
1291 0 0 if ($version =~ /wmo/) { }
1292 0 0 if not $path and $version =~ /wmo/
1305 0 7 unless opendir my $dh, $tabledir
1308 7 0 if @table_files
1313 0 21 unless $table
1316 0 21 unless open my $IN, "<", catfile($tabledir, $table_file)
1321 0 443 if $Strict_checking and $num ne $val
1334 0 21 if $Strict_checking and not $C_table{$table}
1353 0 104 unless my $version = $self->{'TABLE_VERSION'} = $self->get_table_version($table)
1356 95 9 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
9 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1360 7 2 if ($version =~ /,/) { }
1366 0 7 exists $BUFR_table{"B$local"} ? :
1369 0 7 exists $BUFR_table{"D$local"} ? :
1387 15 0 if ($version)
1388 9 6 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
6 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1391 3 3 if ($version =~ /,/) { }
1396 2 1 exists $BUFR_table{"C$local"} ? :
1406 0 15 unless ($self->{'C_TABLE'})
1410 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1416 0 15 unless ($self->{'C_TABLE'})
1417 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1431 0 39 unless my $filename = shift()
1433 0 39 unless -e $filename
1434 0 39 unless -f $filename
1438 0 39 unless open $self->{'FILEHANDLE'}, "<", $filename
1452 37 3 if ($self->{'FILEHANDLE'})
1454 0 37 unless close $self->{'FILEHANDLE'}
1472 4 2 if (exists $self->{'FILEHANDLE'}) { }
0 2 elsif (not $self->{'IN_BUFFER'}) { }
1473 0 4 unless seek $self->{'FILEHANDLE'}, 0, 0
1501 185 14 $self->{'FILEHANDLE'} ? :
1502 14 185 $self->{'IN_BUFFER'} ? :
1503 0 199 unless $filehandle or $in_buffer
1509 152 47 defined $self->{'POS'} ? :
1512 43 156 if $pos < 0
1513 99 57 if ($ahl) { }
1515 60 39 if ($gts_start)
1529 2 154 if $Spew
1533 144 12 if ($filehandle) { }
1534 0 144 if (read($filehandle, $sec0, 8) != 8)
1541 0 12 if (length $in_buffer < $pos + 8)
1553 2 154 if $Spew
1554 1 155 if $edition < 2 or $edition > 4
1559 143 12 if ($filehandle) { }
1560 1 142 if (read($filehandle, $msg, $length - 8) != $length - 8) { }
1574 36 106 if (substr($msg, -4) ne 7777)
1581 0 12 if (length $in_buffer < $pos + $length) { }
1591 3 9 if (substr($msg, -4) ne 7777)
1598 2 153 if ($Spew)
1599 2 0 if ($msgisOK) { }
1612 106 49 if ($filehandle and not $self->{'BAD_LENGTH'})
1613 33 73 if (read($filehandle, $gts_eom, 4) == 4 and $gts_eom eq "\r\r\n\cC") { }
1650 199 14 if ($filehandle) { }
1655 41 158 if (CORE::eof $filehandle or substr($slurp, -4) ne 'BUFR') { }
1665 102 56 if ($slurp =~ /($gts_start_regexp?)($ahl_regex)((?:\r\r)?\n+BUFR)$/)
1668 9 93 if $at eq "at_ahl"
1670 0 102 if $Spew
1679 2 12 if ($new_pos < 0) { }
1682 6 6 if (substr($in_buffer, $pos, $new_pos - $pos) =~ /($gts_start_regexp?)($ahl_regex)((?:\r\r)?\n+)$/)
1686 0 6 if $Spew
1687 0 6 if ($at eq "at_ahl")
1694 43 170 if ($self->{'EOF'})
1695 0 43 if ($pos == 0)
1696 0 0 if ($filehandle) { }
1698 0 0 if $Spew
1700 0 0 if $Spew
1706 156 14 wantarray ? :
1713 0 26 if ($self->{'BAD_LENGTH'} or $self->{'ERROR_IN_MESSAGE'})
1717 0 5 unless ($self->{'FILEHANDLE'} or $self->{'IN_BUFFER'})
1721 0 26 unless (exists $self->{'START_POS'} and $self->{'BUFR_LENGTH'})
1727 21 5 if (exists $self->{'FILEHANDLE'}) { }
5 0 elsif (exists $self->{'IN_BUFFER'}) { }
1756 2 153 if $Spew
1760 2 153 if $Spew
1763 38 117 if ($self->{'BUFR_EDITION'} < 4) { }
117 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
1769 0 38 if $sec1[0] < 17
1773 0 38 if $sec1[0] > length $self->{'BUFR_STREAM'}
1803 0 117 if $sec1[0] < 22
1807 0 117 if $sec1[0] > length $self->{'BUFR_STREAM'}
1829 0 117 $sec1[0] > 22 ? :
1836 2 153 if $Spew
1837 2 153 if $Spew
1839 21 134 if $Strict_checking
1843 2 153 if $Spew
1845 0 155 if ($self->{'OPTIONAL_SECTION'}) { }
1849 0 0 if $sec2[0] < 4
1853 0 0 if $sec2[0] > length $self->{'BUFR_STREAM'}
1859 0 0 if $Spew
1867 2 153 if $Spew
1872 0 155 if $sec3[0] < 8
1876 0 155 if $sec3[0] > length $self->{'BUFR_STREAM'}
1888 2 153 if $Spew
1890 2 153 if $Spew
1892 0 155 if $Strict_checking and $self->{'NUM_SUBSETS'} == 0
1893 0 155 if $Strict_checking and ($sec3[3] & 63) != 0
1895 67 88 if ($Spew == 6 or $Nodata)
1897 67 0 @unexpanded ? :
1903 56 99 defined $self->{'FILTER_CB'} ? :
1904 86 69 if $self->{'IS_FILTERED'} or $Nodata
1908 2 67 if $Spew
1911 2 67 if $Spew
1914 0 69 if $sec4_len < 4
1919 1 68 if $sec4_len > length $self->{'BUFR_STREAM'}
1927 2 66 if $Spew
1934 5 63 if ($len > 4 or $len == 4 and substr($str, 0, 4) ne 7777)
1939 0 5 if ($len > 4 and substr($str, 0, 4) eq '7777') { }
5 0 elsif ($len == 4 and substr($str, 0, 4) ne '7777') { }
1956 4 195 if $Spew
1968 155 43 if $msg
1970 7 192 if ($@)
1976 43 149 unless ($msg)
1978 2 41 if $Spew
1984 86 63 if $Nodata or $self->{'IS_FILTERED'}
1989 0 63 if ($@)
1996 0 63 unless defined $unexpanded[0]
2000 4 59 if $self->{'LOCAL_TABLES_NOT_FOUND'}
2002 2 61 if $Spew
2004 2 61 if $Spew
2006 24 39 if (exists $Descriptors_already_expanded{$alias}) { }
2013 0 39 if ($@)
2020 2 61 if $Spew
2022 23 40 if ($self->{'COMPRESSED_DATA'}) { }
2028 7 56 if ($@)
2046 2 28 if ($skip_next) { }
2 26 elsif (substr($id, 0, 3) eq '206') { }
0 41 elsif (substr($id, 0, 1) eq '0' and not exists $B_table->{$id} or substr($id, 0, 1) eq '3' and not exists $D_table->{$id}) { }
2054 0 0 $BUFR_table{'FORMAT'} eq 'BUFRDC' ? :
2074 6 228 if $Spew
2079 14 220 if ($self->{'ERROR_IN_MESSAGE'})
2084 14 0 if $self->{'FILEHANDLE'}
2085 0 14 if $Spew
2091 0 14 if ($self->{'EOF'}) { }
2092 0 0 if $Spew
2100 152 35 if ($self->{'CURRENT_MESSAGE'} == 0 or $self->{'ERROR_IN_MESSAGE'} or $self->{'CURRENT_SUBSET'} >= $self->{'NUM_SUBSETS'})
2132 43 142 if $self->{'EOF'}
2134 86 56 if ($Nodata or $self->{'IS_FILTERED'})
2136 34 52 if ($self->{'BAD_LENGTH'})
2142 31 3 if $self->{'FILEHANDLE'}
2145 0 34 if $Spew
2156 40 51 if ($self->{'COMPRESSED_DATA'}) { }
2175 0 0 exists $options->{'bitmap'} ? :
2182 0 0 if ($current_subset_number == 1)
2184 0 0 defined $current_ahl ? :
2191 0 0 if ($current_subset_number > 0)
2193 0 0 $bitmap ? :
2204 0 46 unless $self->{'BUFR_LENGTH'}
2218 0 46 unless $self->{'SEC1_STREAM'}
2221 28 18 if ($self->{'BUFR_EDITION'} < 4) { }
2270 0 46 if $self->{'LOCAL_USE'} and length $self->{'LOCAL_USE'} > 1
2277 0 0 unless defined $self->{'SEC2'}
2280 0 0 unless defined $sec2_code_ref and ref $sec2_code_ref eq "CODE"
2295 0 111 unless $self->{'SEC3_STREAM'}
2317 0 64 if ref $width or not $width =~ /^\d+$/
2331 4397 2944 defined $data->[$idx] ? :
2334 16 7325 if ($f == 1) { }
149 7176 elsif ($f == 2) { }
4 7172 elsif ($f == 9 and $id != 999999) { }
439 6733 elsif ($id == 31031) { }
2338 0 149 if ($id =~ /^205/) { }
2344 149 0 if ($operator_name)
2359 393 46 if $value eq "missing"
2362 0 7172 unless exists $B_table->{$id}
2367 1322 5850 if ($unit_start eq 'CODE') { }
626 5224 elsif ($unit_start eq 'FLAG') { }
2376 27 3453 if ($Strict_checking and $short_unit eq "FLAG TABLE" and $bits > 1)
2377 0 27 if ($value ne "missing" and $value % 2)
2387 329 175 if ($C_table and $id != 31031 and $value ne "missing")
2436 35 114 if ($OPERATOR_NAME_A{$id}) { }
114 0 elsif ($Show_all_operators) { }
2439 36 78 if ($OPERATOR_NAME_B{$id}) { }
2443 78 0 if ($OPERATOR_NAME_C{$fx})
2470 0 7 unless (defined $self->{'BITMAPS'})
2475 0 7 if $Show_all_operators
2486 2 5 if $self->{'COMPRESSED_DATA'}
2510 7 0 if substr($id, 0, 1) eq 2 and $id =~ /^22[2-5]/ || $id =~ /^232/
2514 379 255 defined $data->[$idx] ? :
2516 0 634 unless exists $B_table->{$id}
2526 268 1350 if ($bitmap_array[$bitmap_num]{$idx}) { }
2529 268 0 defined $data->[$bitmapped_idesc] ? :
2531 2 266 if length $val > $max_len
2543 129 505 if ($unit_start eq 'CODE') { }
24 481 elsif ($unit_start eq 'FLAG') { }
2552 0 0 if ($Strict_checking and $short_unit eq "FLAG TABLE" and $bits > 1)
2553 0 0 if ($value ne "missing" and $value % 2)
2562 0 634 if ($C_table and $value ne "missing")
2586 32 300 if ($unit =~ /^CODE[ ]?TABLE/i) { }
39 261 elsif ($unit =~ /^FLAG[ ]?TABLE/i) { }
2589 0 32 unless exists $C_table->{$code_table}
2590 31 1 if ($C_table->{$code_table}{$value})
2599 0 39 unless exists $C_table->{$flag_table}
2604 0 39 if $width > 32
2609 0 39 if (defined $check_illegal and $value > $max_value) { }
0 39 elsif ($value == $max_value) { }
2619 52 698 if (substr($bitstring, $i - 1, 1) == 1)
2622 50 2 if ($C_table->{$flag_table}{$i}) { }
2633 1 38 if (defined $check_illegal and $txt =~ /bit $width set/)
2645 84 46 @_ > 1 ? :
2656 0 7005 unless $descriptor =~ /^\d{6}$/
2659 282 6723 if ($f == 1) { }
932 5791 elsif ($f == 3) { }
2662 173 109 if ($y > 0) { }
2664 0 173 if $di + $x + 1 > @_
2671 173 0 if @r
2672 5 168 if ($Show_replication)
2675 0 5 @s / $y > 99 ? :
2679 173 0 if @s
2686 1 108 if ($di + 2 == @_ and $_[$di + 1] =~ /^0310(00|01|02|11|12)$/)
2692 0 108 if $di + $x + 1 > @_
2695 0 108 unless $_[$di + 1] =~ /^0310(00|01|02|11|12)$/
2705 108 0 if @r
2714 0 932 unless exists $D_table->{$descriptor}
2746 0 18 unless /^\d+$/
2754 0 6 unless grep {$how eq $_;} @allowed_hows
2756 0 6 unless ($self->{'B_TABLE'})
2757 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2771 8 10 if (substr($id, 0, 1) eq 3)
2775 0 6 if ($need_Dtable and not $self->{'D_TABLE'}) { }
2776 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2789 2 4 if ($how eq "simply" or $how eq "partially")
2793 2 0 if ($f == 3) { }
2795 0 2 unless $D_table->{$id}
2801 1 1 if ($how eq 'simply') { }
2807 3 2 if ($how eq "fully")
2808 0 3 if (@desc == 1 and $desc[0] =~ /^1/) { }
2817 21 145 if ($id =~ /^[123]/) { }
145 0 elsif ($B_table->{$id}) { }
2839 0 2 unless $desc =~ /^\d+$/
2842 0 2 unless defined $self->{'B_TABLE'}
2843 1 1 unless defined $self->{'B_TABLE'}{$desc}
2846 0 1 unless defined $width and $width =~ /\d+$/
2858 0 3 unless $desc =~ /^\d+$/
2860 0 3 unless defined $self->{'D_TABLE'}
2861 1 2 unless defined $self->{'D_TABLE'}{$desc}
2862 1 1 if (wantarray) { }
2875 0 3 if $value < 0
2896 0 4 unless $code_table =~ /^\d+$/
2903 1 3 unless $C_table->{$code_table}
2951 4 49 if $Spew
2971 76 7590 if ($f == 1) { }
114 7476 elsif ($f == 2) { }
2972 2 74 if ($Show_replication)
2975 0 2 if $Spew and $x == 0
2978 2 74 if $y > 0
2980 0 74 if ($x == 0)
2988 0 74 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
2997 0 74 unless (defined $factor)
3000 8 66 if ($Spew)
3001 0 8 if ($_ eq '031011' or $_ eq '031012') { }
3012 0 74 if ($_ eq "031011" or $_ eq "031012")
3022 0 74 if ($repeat_factor) { }
3026 0 0 if $Spew
3028 8 66 if $Spew
3030 69 5 if ($idesc < @desc) { }
3042 22 92 if ($flow eq 'redo_bitmap') { }
0 92 elsif ($flow eq 'signify_character') { }
41 51 elsif ($flow eq 'no_value') { }
3048 0 22 if (not defined $bm_idesc) { }
22 0 elsif (not $Show_all_operators) { }
3063 0 22 if ($Show_all_operators)
3089 8 43 if ($Show_all_operators) { }
3097 42 9 if $flow eq "next"
3098 1 8 if $flow eq "last"
3099 8 0 if ($flow eq "skip")
3105 2 7474 if ($self->{'CHANGE_REFERENCE_VALUE'})
3108 0 2 if $f > 0
3114 2 0 $new_refval & 1 << $num_bits - 1 ? :
3117 0 0 $new_refval > 0 ? :
0 2 if $Spew
3130 2 7472 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
3136 1 1 unless defined $value
3140 0 2 if $Spew
3151 306 39 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
3154 120 186 if (defined $self->{'REUSE_BITMAP'}) { }
3156 0 120 unless defined $data_idesc
3162 0 186 unless defined $data_idesc
3172 0 7474 unless exists $B_table->{$id}
3174 455 7019 if $Spew
3177 126 7348 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3178 102 24 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
1 46 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3179 0 102 if (defined $self->{'CHANGE_SRW'}) { }
3184 15 87 if defined $self->{'CHANGE_SCALE'}
3185 17 85 if defined $self->{'CHANGE_WIDTH'}
3193 2 124 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
3195 0 126 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3202 0 7474 if $width <= 0
3205 55 7419 if ($unit eq 'CCITTIA5') { }
3207 0 55 if $width % 8
3210 4 0 defined $value ? :
4 51 if $Spew
3215 4519 2900 if (defined $value)
3218 3199 1320 $scale <= 0 ? :
3221 202 249 defined $value ? :
451 6968 if $Spew
3227 0 7474 if ($repeat_X)
3232 0 0 if (--$repeat_X == 0)
3244 949 6525 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
9 12579 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3249 208 741 if (defined $value)
3253 789 160 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3255 8 781 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3262 0 8 if $i < 0
3267 0 781 if $self->{'BITMAP_START'}[$numb] < 0
3274 1 8 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3322 10 13 if $nsubsets == 1
3341 33 1736 if ($f == 1) { }
80 1656 elsif ($f == 2) { }
3342 7 26 if ($Show_replication)
3347 0 7 if $Spew and $x == 0
3350 4 29 if $y > 0
3352 0 29 if ($x == 0)
3360 0 29 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
3370 0 29 unless (defined $factor)
3380 0 29 if ($_ eq '031011' or $_ eq '031012') { }
3385 0 0 if $Spew
3387 0 29 if $Spew
3392 0 29 if ($Spew)
3393 0 0 if ($repeat_factor) { }
3400 29 0 if ($idesc < @desc) { }
3412 3 77 if ($flow eq 'redo_bitmap') { }
0 77 elsif ($flow eq 'signify_character') { }
12 65 elsif ($flow eq 'no_value') { }
3418 0 3 if (not defined $bm_idesc) { }
2 1 elsif (not $Show_all_operators) { }
3433 1 2 if ($Show_all_operators)
3459 52 13 if ($Show_all_operators) { }
3469 65 0 if $flow eq "next"
3470 0 0 if $flow eq "last"
3471 0 0 if ($flow eq "skip")
3477 1 1655 if ($self->{'CHANGE_REFERENCE_VALUE'})
3480 0 1 if $f > 0
3486 1 0 $new_refval & 1 << $num_bits - 1 ? :
3489 0 0 $new_refval > 0 ? :
0 1 if $Spew
3504 9 1646 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
3516 0 1653 if ($repeat_X)
3523 0 0 if (--$repeat_X == 0)
3562 30 24 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
3565 20 10 if (defined $self->{'REUSE_BITMAP'}) { }
3567 0 20 unless defined $data_idesc
3573 0 10 unless defined $data_idesc
3583 9 1655 if ($id == 999999) { }
0 1655 elsif ($id =~ /^205(\d\d\d)/) { }
3597 0 1655 unless exists $B_table->{$id}
3601 22 1633 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3602 22 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3603 0 22 if (defined $self->{'CHANGE_SRW'}) { }
3608 13 9 if defined $self->{'CHANGE_SCALE'}
3609 15 7 if defined $self->{'CHANGE_WIDTH'}
3614 1 21 if defined $self->{'NEW_REFVAL_OF'}{$id}
3616 0 22 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3624 0 1664 if $Spew
3625 0 1664 if $width <= 0
3627 12 1652 if ($unit eq 'CCITTIA5') { }
3629 0 12 if $width % 8
3632 0 12 if ($Spew)
3633 0 0 if ($minval eq "\000" x ($width / 8)) { }
3642 0 12 if $Spew
3644 7 5 if ($deltabytes and defined $minval) { }
3649 4 3 if $Strict_checking and $minval ne "\0" x $nbytes
3655 0 23 if ($Spew)
3656 0 0 defined $string ? :
3663 0 5 if ($Spew)
3670 5 0 defined $minval ? :
3679 0 0 defined $subset_data_ref->[$_][-1] ? :
0 10 if $Spew
3684 944 708 if defined $minval
3686 0 1652 if $Spew and defined $minval
3691 0 1652 if $Spew
3693 372 1280 if ($deltabits and defined $minval) { }
3698 0 907 if $Strict_checking and defined $value and $value + $minval > 2 ** $width
3702 0 0 defined $value ? :
0 1611 if $Spew
3703 1310 301 if (defined $value)
3706 523 787 $scale <= 0 ? :
3711 0 1611 if ($id == 999999 and not defined $value)
3717 0 372 if ($Spew)
3725 572 708 if (defined $minval)
3728 469 103 $scale <= 0 ? :
3733 9 1271 if ($id == 999999 and not defined $value)
3739 1280 0 if defined $deltabits
3745 115 1537 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
4 3042 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3746 0 115 if $deltabits
3751 13 102 if (defined $minval)
3755 115 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3757 4 111 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3764 0 4 if $i < 0
3767 3 108 if ($Show_all_operators) { }
3775 0 111 if $self->{'BITMAP_START'}[$numb] < 0
3782 0 4 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3788 0 0 defined $subset_data_ref->[$_][-1] ? :
0 1652 if $Spew
3830 18 18 if $i >= @lines - 1
3835 0 18 unless defined $self->{'BUFR_EDITION'}
3839 0 18 if $i >= @lines
3841 11 7 if ($self->{'BUFR_EDITION'} < 4) { }
7 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
3871 0 11 unless defined $self->{'MINUTE'}
3906 0 7 unless defined $self->{'SECOND'}
3911 0 18 if $i >= @lines
3917 0 18 if $self->{'NUM_SUBSETS'} == 0
3925 0 18 unless defined $self->{'DESCRIPTORS_UNEXPANDED'}
3932 93 3906 if /^$/ or /^Subset/
3933 0 3906 if /^Message/
3936 0 3906 unless /^\d/
3938 31 3875 if $n == 1
3939 3861 45 if (defined $value) { }
3941 624 3237 if $value eq "" or $value eq "missing"
3953 0 18 if ($self->{'OPTIONAL_SECTION'})
3972 0 26 unless $desc_refs
3975 1 25 if $Spew
3979 1 25 if $Spew
3983 1 25 if $Spew
4004 0 27 unless my $bufr_edition = $self->{'BUFR_EDITION'}
4009 15 12 if ($bufr_edition < 4) { }
12 0 elsif ($bufr_edition == 4) { }
4018 0 402 unless defined $self->{$key}
4021 22 5 if $Strict_checking
4025 15 12 if ($bufr_edition < 4) { }
12 0 elsif ($bufr_edition == 4) { }
4026 15 0 unless defined $self->{'LOCAL_USE'}
4042 0 15 $self->{'OPTIONAL_SECTION'} ? :
4060 0 12 $self->{'OPTIONAL_SECTION'} ? :
4062 1 11 if defined $self->{'LOCAL_USE'}
4066 15 12 if ($bufr_edition < 4)
4068 0 15 if ($sec1_len % 2)
4083 0 26 if ($self->{'OPTIONAL_SECTION'}) { }
4085 0 0 unless defined $self->{'SEC2_STREAM'}
4100 0 108 unless defined $self->{$key}
4128 15 12 if ($self->{'BUFR_EDITION'} < 4)
4130 15 0 if ($sec3_len % 2)
4151 0 26 unless @$desc_refs == $nsubsets + 1
4157 6 20 $self->{'COMPRESSED_DATA'} ? :
4178 0 1 unless $stationid_ref
4182 0 1 unless my $bufr_edition = $self->{'BUFR_EDITION'}
4192 0 1 if $Spew
4221 1 0 defined $delayed_repl_ref ? :
4224 1 0 unless ($self->{'DESCRIPTORS_EXPANDED'})
4226 0 1 unless $self->{'DESCRIPTORS_UNEXPANDED'}
4229 0 1 unless $self->{'D_TABLE'}
4231 1 0 if (exists $Descriptors_already_expanded{$alias}) { }
4256 2 128 if ($f == 1) { }
0 128 elsif ($f == 2) { }
4258 0 2 if ($x == 0)
4263 0 2 if $y > 0
4268 0 2 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
4270 2 0 if (@delayed_repl and /^03100(1|2)/)
4272 0 2 if not $factor =~ /^\d+$/ or $factor == 0
4277 0 2 if ($Spew)
4288 0 2 if $Spew
4291 2 0 if ($idesc < @desc) { }
4304 0 0 if $flow eq "next"
4311 0 128 unless exists $B_table->{$id}
4313 0 128 if $Spew
4316 0 128 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
4317 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4318 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4323 0 0 if defined $self->{'CHANGE_SCALE'}
4324 0 0 if defined $self->{'CHANGE_WIDTH'}
4329 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
4331 0 128 if $width <= 0
4333 3 125 if ($stationid_ref->{$id}) { }
4335 0 3 if $Spew
4336 1 2 if ($unit eq 'CCITTIA5') { }
4340 0 1 if length $value > $num_bytes
4347 0 2 if $value < 0
4359 0 1 $self->{'BUFR_EDITION'} < 4 ? :
4360 1 0 if ($padnum > 0)
4384 1 19 if (exists $Descriptors_already_expanded{$alias}) { }
4399 3 30 if $Spew
4426 54 5118 if ($f == 1) { }
155 4963 elsif ($f == 2) { }
4428 0 54 if ($x == 0)
4433 0 54 if $y > 0
4438 0 54 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
4439 0 54 if $desc_ref->[$idesc] != $next_id
4443 6 48 if ($Spew)
4457 1 53 if ($next_id eq '031011' or $next_id eq '031012') { }
4463 0 1 if $Spew
4465 6 47 if $Spew
4467 54 0 if ($idesc < @desc) { }
4479 42 113 if ($flow eq 'redo_bitmap') { }
0 113 elsif ($flow eq 'signify_character') { }
31 82 elsif ($flow eq 'no_value') { }
4485 0 42 if (not defined $bm_idesc) { }
42 0 elsif (not $Show_all_operators) { }
4503 0 0 if $desc_ref->[$idesc] != $id
4520 82 0 if $flow eq "next"
4521 0 0 if $flow eq "last"
4524 2 4961 if ($self->{'CHANGE_REFERENCE_VALUE'})
4528 0 2 if $id =~ /^9/
4529 0 2 if $f > 0
4542 2 4959 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
4544 0 2 if $desc_ref->[$idesc] != 999999
4551 0 2 if $Spew
4567 372 25 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
4570 80 292 if (defined $self->{'REUSE_BITMAP'}) { }
4572 0 80 unless defined $data_idesc
4578 0 292 unless defined $data_idesc
4588 1063 3898 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
9 7476 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
4593 334 729 if (defined $value and $value == 0)
4597 743 320 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
4599 7 736 if (not defined $self->{'BITMAP_START'}[$numb]) { }
4606 0 7 if $i < 0
4611 0 736 if $self->{'BITMAP_START'}[$numb] < 0
4618 2 7 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
4624 0 4961 unless exists $desc_ref->[$idesc]
4626 0 4961 if $desc_ref->[$idesc] != $id
4631 0 4961 unless exists $B_table->{$id}
4634 2 4959 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4635 346 4615 if ($Spew)
4637 139 207 defined $value ? :
4642 144 4817 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4643 120 24 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
1 46 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4644 2 118 if (defined $self->{'CHANGE_SRW'}) { }
4649 17 101 if defined $self->{'CHANGE_SCALE'}
4650 33 85 if defined $self->{'CHANGE_WIDTH'}
4655 0 144 if $width <= 0
4657 2 142 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4659 0 144 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4673 1085 3876 if (not defined $value) { }
31 3845 elsif ($unit eq 'CCITTIA5') { }
4680 0 31 if length $value > $num_bytes
4687 0 3845 unless &looks_like_number($value)
4690 0 3845 if $value < 0
4692 0 3845 if $value > $max_value
4695 0 131 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4712 10 10 $self->{'BUFR_EDITION'} < 4 ? :
4713 18 2 if ($padnum > 0)
4734 0 2 if $Spew
4736 0 2 if ($refval >= 0) { }
4737 0 0 if $refval > 2 ** $width - 1
4744 0 2 if -$refval > 2 ** ($width - 1) - 1
4760 2 54 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4761 2 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4762 0 2 if (defined $self->{'CHANGE_SRW'}) { }
4767 0 2 if defined $self->{'CHANGE_SCALE'}
4768 0 2 if defined $self->{'CHANGE_WIDTH'}
4773 0 2 if $width <= 0
4775 0 2 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4777 0 2 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4791 0 56 if (not defined $value) { }
0 56 elsif ($unit eq 'CCITTIA5') { }
4798 0 0 if length $value > $num_bytes
4805 0 56 unless &looks_like_number($value)
4808 0 56 if $value < 0
4810 0 56 if $value > $max_value
4813 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4839 0 1 if $Spew
4842 0 1 if ($refval >= 0) { }
4843 0 0 if $refval > 2 ** $width - 1
4849 0 1 if -$refval > 2 ** ($width - 1) - 1
4868 12 467 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4869 12 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4870 1 11 if (defined $self->{'CHANGE_SRW'}) { }
4875 3 8 if defined $self->{'CHANGE_SCALE'}
4876 11 0 if defined $self->{'CHANGE_WIDTH'}
4881 0 12 if $width <= 0
4882 1 11 if defined $self->{'NEW_REFVAL_OF'}{$id}
4884 0 12 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4903 0 463 if (defined $value and $unit ne "CCITTIA5" and not &looks_like_number($value))
4907 544 59 if ($all_equal)
4908 390 154 if (defined $value and defined $first_value) { }
23 131 elsif (defined $value or defined $first_value) { }
4909 1 389 if ($unit eq 'CCITTIA5') { }
4910 1 0 if $value ne $first_value
4912 89 300 if $value != $first_value
4918 140 463 if (not defined $value) { }
2 461 elsif ($unit eq 'CCITTIA5') { }
4926 11 592 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1)
4927 0 11 if (defined $value and $value ne "missing" and $value % 2)
4936 366 113 if ($all_equal) { }
4938 270 96 if (defined $first_value) { }
4939 0 270 if ($unit eq 'CCITTIA5') { }
4943 0 0 if length $first_value > $num_bytes
4949 0 270 unless &looks_like_number($first_value)
4952 0 270 if $first_value < 0
4954 0 270 if $first_value > 2 ** $width - 1
4968 1 112 if ($unit eq 'CCITTIA5') { }
4981 3 0 if (defined $value) { }
4991 0 112 if defined $first_value and not &looks_like_number($first_value)
4993 93 19 defined $first_value ? :
4998 0 112 if $min_value < 0
5001 256 30 defined $_ ? :
5007 0 112 $id eq '999999' ? :
5011 0 112 if $Spew
5015 0 112 if $Spew
5020 0 0 defined $inc_values[$_] ? :
0 112 if $Spew
5024 256 30 if (defined $value) { }
5025 0 256 if $Strict_checking and $value + $min_value > 2 ** $width - 1
5056 0 6 if (exists $Descriptors_already_expanded{$alias}) { }
5079 0 7 if $num_d != $num_desc
5091 7 511 if ($f == 1) { }
38 473 elsif ($f == 2) { }
5093 0 7 if ($x == 0)
5098 0 7 if $y > 0
5103 0 7 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
5104 0 7 if $desc_ref->[$idesc] != $next_id
5108 0 7 if ($Spew)
5123 1 6 if ($next_id eq '031011' or $next_id eq '031012') { }
5129 0 1 if $Spew
5131 0 6 if $Spew
5133 7 0 if ($idesc < @desc) { }
5145 1 37 if ($flow eq 'redo_bitmap') { }
0 37 elsif ($flow eq 'signify_character') { }
8 29 elsif ($flow eq 'no_value') { }
5151 0 1 if (not defined $bm_idesc) { }
1 0 elsif (not $Show_all_operators) { }
5169 0 0 if $desc_ref->[$idesc] != $id
5188 29 0 if $flow eq "next"
5189 0 0 if $flow eq "last"
5192 1 472 if ($self->{'CHANGE_REFERENCE_VALUE'})
5196 0 1 if $id =~ /^9/
5197 0 1 if $f > 0
5203 0 1 if $val != $new_refval
5217 0 472 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
5219 0 0 if $desc_ref->[$idesc] != 999999
5226 0 0 if ($Spew)
5247 30 10 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
5250 20 10 if (defined $self->{'REUSE_BITMAP'}) { }
5252 0 20 unless defined $data_idesc
5258 0 10 unless defined $data_idesc
5266 107 365 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
2 702 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
5273 11 96 if ($data_refs->[1][$idesc] == 0)
5277 107 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
5279 2 105 if (not defined $self->{'BITMAP_START'}[$numb]) { }
5286 0 2 if $i < 0
5291 0 105 if $self->{'BITMAP_START'}[$numb] < 0
5298 0 2 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
5305 0 472 if $desc_ref->[$idesc] != $id
5310 0 472 unless exists $B_table->{$id}
5312 0 472 if ($Spew)
5315 0 0 defined $data_refs->[$_][$idesc] ? :
5326 5 1 $self->{'BUFR_EDITION'} < 4 ? :
5327 4 2 if ($padnum > 0)
5345 0 56 if ($comp_len > $actual_len) { }
5350 42 14 unless $Strict_checking
5352 0 14 if $Noqc
5356 0 14 if ($bufr_edition < 4 and $actual_bytes % 2)
5361 13 1 if $comp_len % 8
5362 10 4 if $bufr_edition < 4 and $comp_bytes % 2
5363 0 14 if ($actual_bytes > $comp_bytes)
5375 0 83 unless defined $str
5376 0 83 if ($str =~ /\0/) { }
0 139 elsif ($Strict_checking and $str =~ /^ +$/) { }
5389 27 56 if ($Strict_checking and $str ne "")
5391 0 135 if (ord $char > 127)
5408 3 0 if (defined $string)
5411 2 1 if (length $string > $largest_length)
5417 3 0 if (defined $string)
5429 34 9 $bufr_edition < 4 ? :
5431 9 34 $bufr_edition == 4 ? :
5435 0 0 if $self->{'MINUTE'} == 0 and $self->{'HOUR'} == 0 and $self->{'DAY'} == 0 and $self->{'MONTH'} == 0 and $second == 0 and $year == 0 || $year == 2000
5443 0 43 if $@
5450 0 112 if $n == 0
5457 26 86 $x == $n ? :
5470 30 256 unless defined $v
5471 165 91 if ($v < $min)
5484 30 256 unless defined $v
5485 115 141 if ($v > $max)
5489 0 112 if $max < 0
5497 2 3 if ($list->[$i] eq $value)
5516 87 300 if ($y == 0 and $x =~ /^[12378]$/) { }
52 248 elsif ($x == 1) { }
24 224 elsif ($x == 2) { }
6 218 elsif ($x == 3 and $y == 255) { }
6 212 elsif ($x == 3) { }
22 190 elsif ($x == 4) { }
0 190 elsif ($x == 5) { }
24 166 elsif ($x == 6) { }
3 163 elsif ($x == 7) { }
2 161 elsif ($x == 8) { }
0 161 elsif ($x == 9) { }
0 161 elsif ($x == 21) { }
40 121 elsif ($x == 22 and $y == 0) { }
3 118 elsif ($x == 23 and $y == 0) { }
60 58 elsif ($x == 23 and $y == 255) { }
4 54 elsif ($x == 24 and $y == 0) { }
4 50 elsif ($x == 24 and $y == 255) { }
0 50 elsif ($x == 25 and $y == 0) { }
0 50 elsif ($x == 25 and $y == 255) { }
2 48 elsif ($x == 32 and $y == 0) { }
4 44 elsif ($x == 32 and $y == 255) { }
2 42 elsif ($x == 35 and $y == 0) { }
18 24 elsif ($x == 36 and $y == 0) { }
24 0 elsif ($x == 37 and $y == 0) { }
0 0 elsif ($x == 37 and $y == 255) { }
0 0 elsif ($x == 41 and $y == 0) { }
0 0 elsif ($x == 41 and $y == 255) { }
0 0 elsif ($x == 42 and $y == 0) { }
0 0 elsif ($x == 42 and $y == 255) { }
0 0 elsif ($x == 43 and $y == 0) { }
0 0 elsif ($x == 43 and $y == 255) { }
5519 0 87 if $Strict_checking and not grep({$_ == $x;} @operators)
5521 52 35 if ($x == 1) { }
24 11 elsif ($x == 2) { }
6 5 elsif ($x == 3) { }
3 2 elsif ($x == 7) { }
2 0 elsif ($x == 8) { }
5522 52 0 if $self->{'CHANGE_WIDTH'}
5525 24 0 if $self->{'CHANGE_SCALE'}
5528 6 0 if $self->{'NEW_REFVAL_OF'}
5531 3 0 if $self->{'CHANGE_SRW'}
5534 2 0 if $self->{'CHANGE_CCITTIA5_WIDTH'}
5537 0 87 if $Spew
5544 0 52 if grep {$_ == 7;} @operators
5545 52 0 unless $self->{'CHANGE_WIDTH'}
5547 0 52 if $Spew
5553 0 24 if grep {$_ == 7;} @operators
5554 24 0 unless $self->{'CHANGE_SCALE'}
5556 0 24 if $Spew
5563 0 0 defined $self->{'CHANGE_REFERENCE_VALUE'} ? :
0 6 if $Spew
5565 0 6 unless defined $self->{'CHANGE_REFERENCE_VALUE'}
5571 0 6 if grep {$_ == 7;} @operators
5572 0 6 if $Spew
5574 6 0 unless $self->{'CHANGE_REFERENCE_VALUE'}
5580 11 11 if ($y > 0) { }
5582 0 11 if $self->{'ADD_ASSOCIATED_FIELD'}
5587 0 11 unless defined $self->{'ADD_ASSOCIATED_FIELD'}
5604 0 24 if $ff != 0
5607 8 16 if ($Strict_checking)
5610 0 8 if $xx < 48 and $yy < 192
5614 16 8 if (exists $self->{'B_TABLE'}{$next_id} and (split(/\0/, $self->{'B_TABLE'}{$next_id}, 0))[-1] == $y) { }
5616 0 16 if $Spew
5620 0 8 if $self->{'CODING'} eq "ENCODE"
5621 0 8 if $Spew
5630 0 0 unless $_ == 1 or $_ == 2
0 3 if grep {$_ == 3 unless $_ == 1 or $_ == 2;} @operators
5631 3 0 unless $self->{'CHANGE_SRW'}
5633 0 3 if $Spew
5638 2 0 unless $self->{'CHANGE_CCITTIA5_WIDTH'}
5640 0 2 if $Spew
5656 1 39 $Noqc ? :
5673 0 60 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 223000
5674 0 60 if (defined $self->{'REUSE_BITMAP'}) { }
5676 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5680 0 60 unless @{$self->{'CURRENT_BITMAP'};}
5696 0 4 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 224000
5697 0 4 if (defined $self->{'REUSE_BITMAP'}) { }
5699 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5703 0 4 unless @{$self->{'CURRENT_BITMAP'};}
5719 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 225000
5720 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5722 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5726 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5730 0 0 unless $self->{'DIFFERENCE_STATISTICAL_VALUE'}
5749 0 4 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 232000
5750 0 4 if (defined $self->{'REUSE_BITMAP'}) { }
5752 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5756 0 4 unless @{$self->{'CURRENT_BITMAP'};}
5774 0 24 unless defined $self->{'BITMAPS'}
5781 0 0 unless defined $self->{'REUSE_BITMAP'}
5820 2 1 if (ref $arg eq 'Geo::BUFR') { }
1 0 elsif (ref $arg eq 'ARRAY') { }
5824 0 1 unless $last_arg_was_bufr
5839 1 1 if (not exists $subset_list[$i]) { }
5842 1 1 unless $data
5843 1 0 if $Spew
5852 1 3 unless $data
5854 2 1 if (defined $index)
5855 2 0 if $Spew
5865 0 1 if $num_found != @{$subset_list[$i];}