Branch Coverage

blib/lib/Geo/BUFR.pm
Criterion Covered Total %
branch 405 1926 21.0


line true false branch
177 0 0 if ($Strict_checking == 1) { }
0 0 elsif ($Strict_checking > 1) { }
188 1714 7 if (ref $self) { }
190 1662 52 if $level > $self->{'VERBOSE'} and $level > $Verbose
192 3 4 if $level > $Verbose
195 28 28 if (@_) { }
236 2 4 if (@_ % 2)
257 0 2 unless ref $bufr eq "Geo::BUFR"
260 2 0 if ($what eq 'metadata') { }
0 0 elsif ($what eq 'all') { }
270 50 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 1 if (ref $self) { }
318 1 0 if $verbose > 1
326 1 0 defined $n ? :
335 0 0 defined $n ? :
344 0 0 unless defined $n
357 0 0 defined $n ? :
366 0 0 defined $self->{'BUFR_LENGTH'} ? :
370 0 0 unless defined $bufr_edition
372 0 0 unless $bufr_edition =~ /^\d+$/
374 0 0 unless $bufr_edition >= 0 and $bufr_edition < 5
382 0 0 defined $self->{'BUFR_EDITION'} ? :
386 0 0 unless defined $master_table
388 0 0 unless $master_table =~ /^\d+$/
391 0 0 if $master_table > 255
398 0 0 defined $self->{'MASTER_TABLE'} ? :
402 0 0 unless defined $centre
404 0 0 unless $centre =~ /^\d+$/
407 0 0 if $centre > 65535
414 0 0 defined $self->{'CENTRE'} ? :
418 0 0 unless defined $subcentre
420 0 0 unless $subcentre =~ /^\d+$/
422 0 0 if $subcentre > 65535
429 0 0 defined $self->{'SUBCENTRE'} ? :
433 0 0 unless defined $update_number
435 0 0 unless $update_number =~ /^\d+$/
437 0 0 if $update_number > 255
444 0 0 defined $self->{'UPDATE_NUMBER'} ? :
448 0 0 unless defined $optional_section
450 0 0 unless $optional_section eq 0 or $optional_section eq 1
457 0 0 defined $self->{'OPTIONAL_SECTION'} ? :
461 0 0 unless defined $data_category
463 0 0 unless $data_category =~ /^\d+$/
465 0 0 if $data_category > 255
472 0 0 defined $self->{'DATA_CATEGORY'} ? :
476 0 0 unless defined $int_data_subcategory
478 0 0 unless $int_data_subcategory =~ /^\d+$/
480 0 0 if $int_data_subcategory > 255
487 0 0 defined $self->{'INT_DATA_SUBCATEGORY'} ? :
491 0 0 unless defined $loc_data_subcategory
493 0 0 unless $loc_data_subcategory =~ /^\d+$/
495 0 0 if $loc_data_subcategory > 255
502 0 0 defined $self->{'LOC_DATA_SUBCATEGORY'} ? :
506 0 0 unless defined $data_subcategory
508 0 0 unless $data_subcategory =~ /^\d+$/
510 0 0 if $data_subcategory > 255
517 0 0 defined $self->{'DATA_SUBCATEGORY'} ? :
521 0 0 unless defined $master_table_version
523 0 0 unless $master_table_version =~ /^\d+$/
525 0 0 if $master_table_version > 255
533 0 0 defined $self->{'MASTER_TABLE_VERSION'} ? :
537 0 0 unless defined $local_table_version
539 0 0 unless $local_table_version =~ /^\d+$/
541 0 0 if $local_table_version > 255
549 0 0 defined $self->{'LOCAL_TABLE_VERSION'} ? :
553 0 0 unless defined $year_of_century
555 0 0 unless $year_of_century =~ /^\d+$/
557 0 0 if $year_of_century > 100
560 0 0 $year_of_century == 0 ? :
565 0 0 if (defined $self->{'YEAR_OF_CENTURY'}) { }
0 0 elsif (defined $self->{'YEAR'}) { }
569 0 0 $yy == 0 ? :
576 0 0 unless defined $year
578 0 0 unless $year =~ /^\d+$/
580 0 0 if $year > 65535
587 0 0 defined $self->{'YEAR'} ? :
591 0 0 unless defined $month
593 0 0 unless $month =~ /^\d+$/
595 0 0 if $month == 0 or $month > 12
602 0 0 defined $self->{'MONTH'} ? :
606 0 0 unless defined $day
608 0 0 unless $day =~ /^\d+$/
610 0 0 if $day == 0 or $day > 31
617 0 0 defined $self->{'DAY'} ? :
621 0 0 unless defined $hour
623 0 0 unless $hour =~ /^\d+$/
625 0 0 if $hour > 23
632 0 0 defined $self->{'HOUR'} ? :
636 0 0 unless defined $minute
638 0 0 unless $minute =~ /^\d+$/
640 0 0 if $minute > 59
647 0 0 defined $self->{'MINUTE'} ? :
651 0 0 unless defined $second
653 0 0 unless $second =~ /^\d+$/
655 0 0 if $second > 59
662 0 0 defined $self->{'SECOND'} ? :
666 0 0 unless defined $local_use
673 0 0 defined $self->{'LOCAL_USE'} ? :
677 0 2 unless defined $number_of_subsets
679 0 2 unless $number_of_subsets =~ /^\d+$/
681 0 2 if $number_of_subsets > 65535
688 0 0 defined $self->{'NUM_SUBSETS'} ? :
692 0 0 unless defined $observed_data
694 0 0 unless $observed_data eq 0 or $observed_data eq 1
701 0 0 defined $self->{'OBSERVED_DATA'} ? :
705 0 2 unless defined $compressed_data
707 0 2 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 0 unless defined $descriptors_unexpanded
729 0 0 defined $self->{'DESCRIPTORS_UNEXPANDED'} ? :
737 6 0 defined $self->{'CURRENT_SUBSET'} ? :
742 0 0 defined $self->{'CURRENT_MESSAGE'} ? :
747 4 1 defined $self->{'CURRENT_AHL'} ? :
752 0 0 defined $self->{'CURRENT_GTS_STARTING_LINE'} ? :
757 0 0 defined $self->{'CURRENT_GTS_EOM'} ? :
764 0 0 if (ref $cb eq 'CODE') { }
776 0 0 defined $self->{'IS_FILTERED'} ? :
781 9 0 defined $self->{'BAD_LENGTH'} ? :
788 0 0 unless defined $format
790 0 0 unless uc $format eq "BUFRDC" or uc $format eq "ECCODES"
799 0 0 exists $BUFR_table{'FORMAT'} ? :
817 0 0 if (exists $BUFR_table{'PATH'}) { }
818 0 0 wantarray ? :
835 2 5 if ($table)
836 2 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
838 0 2 if ($table =~ /wmo/ or $table =~ /local/)
847 0 0 unless $table =~ /wmo/ or $table =~ /local/
857 0 20 unless defined $self->{$metadata}
865 0 5 if ($local_table_version == 0 or $local_table_version == 255)
873 5 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
878 0 0 if ($local_table_version == 0) { }
899 0 5 unless $BUFR_table{'PATH'}
903 5 0 if (-e catfile($_, $fname))
910 0 0 if ($BUFR_table{'FORMAT'} eq "BUFRDC")
914 0 0 if ($path)
931 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
932 0 0 if length $fname < 20
938 0 0 unless defined $self->{$metadata}
942 0 0 if $master_table eq $fname
946 0 0 if (-e catfile($_, $master_table))
962 0 2 unless my($path, $tname) = $self->_locate_table($fname)
968 0 2 if ($tname ne $fname)
970 0 0 if exists $BUFR_table{"B$master_version"}
974 0 2 unless open my $TABLE, "<", $tablefile
978 0 2 if $self->{'LOCAL_TABLES_NOT_FOUND'}
985 0 2748 unless defined $bits
1004 0 0 unless ($path)
1005 0 0 if ($version =~ /wmo/) { }
1018 0 0 unless open my $TABLE, "<", $tablefile
1025 0 0 if /^#/
1030 0 0 unless defined $width
1031 0 0 if $unit eq "CCITT IA5"
1053 0 2 unless my($path, $tname) = $self->_locate_table($fname)
1059 0 2 if ($tname ne $fname)
1061 0 0 if exists $BUFR_table{"D$master_version"}
1065 0 2 unless open my $TABLE, "<", $tablefile
1069 0 2 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1075 0 7422 if $line =~ /^\s*$/
1077 6594 828 if (substr($line, 0, 5) eq ' ') { }
1101 0 0 unless ($path)
1102 0 0 if ($version =~ /wmo/) { }
1115 0 0 unless open my $TABLE, "<", $tablefile
1136 0 0 if (substr($_, 0, 1) eq '"') { }
1138 0 0 if $txt
1146 0 0 if $txt
1178 0 1 if ($BUFR_table{'FORMAT'} eq "ECCODES")
1179 0 0 if ($version =~ /,/) { }
1191 0 1 unless $path
1195 0 1 if ($tname ne $fname)
1197 0 0 if exists $BUFR_table{"C$master_version"}
1201 0 1 unless open my $TABLE, "<", $tablefile
1205 0 1 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1211 0 4751 if $line =~ /^\s*$/
1213 535 4216 if (substr($line, 0, 15) eq ' ') { }
3882 334 elsif (substr($line, 0, 10) eq ' ') { }
1215 0 535 if $line eq "NOT DEFINED" or $line eq "RESERVED"
1221 52 3829 if not defined $txt or $txt eq "NOT DEFINED" or $txt eq "RESERVED"
1228 2 332 if defined $C_table{$table}
1230 29 305 if not defined $txt or $txt eq "NOT DEFINED" or $txt eq "RESERVED"
1245 0 0 unless ($path)
1246 0 0 if ($version =~ /wmo/) { }
1247 0 0 if not $path and $version =~ /wmo/
1260 0 0 unless chdir $tabledir
1266 0 0 if @table_files
1271 0 0 unless $table
1274 0 0 unless open my $IN, "<", $table_file
1279 0 0 if $Strict_checking and $num ne $val
1292 0 0 if $Strict_checking and not $C_table{$table}
1312 0 6 unless my $version = $self->{'TABLE_VERSION'} = $self->get_table_version($table)
1315 6 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1319 0 0 if ($version =~ /,/) { }
1325 0 0 exists $BUFR_table{"B$local"} ? :
1328 0 0 exists $BUFR_table{"D$local"} ? :
1346 0 0 unless $version or $default_table
1349 1 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1352 0 0 if ($version =~ /,/) { }
1357 0 0 exists $BUFR_table{"C$local"} ? :
1366 0 1 if ($default_table and not $self->{'C_TABLE'})
1369 0 0 unless $version
1371 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1377 0 1 unless ($self->{'C_TABLE'})
1378 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1392 0 1 unless my $filename = shift()
1394 0 1 unless -e $filename
1395 0 1 unless -f $filename
1399 0 1 unless open $self->{'FILEHANDLE'}, "<", $filename
1413 0 0 if ($self->{'FILEHANDLE'})
1415 0 0 unless close $self->{'FILEHANDLE'}
1433 2 2 if (exists $self->{'FILEHANDLE'}) { }
0 2 elsif (not $self->{'IN_BUFFER'}) { }
1434 0 2 unless seek $self->{'FILEHANDLE'}, 0, 0
1462 3 11 $self->{'FILEHANDLE'} ? :
1463 11 3 $self->{'IN_BUFFER'} ? :
1464 0 14 unless $filehandle or $in_buffer
1470 10 4 defined $self->{'POS'} ? :
1473 3 11 if $pos < 0
1474 6 5 if ($ahl) { }
1476 5 1 if ($gts_start)
1490 2 9 if $Spew
1494 2 9 if ($filehandle) { }
1495 0 2 if (read($filehandle, $sec0, 8) != 8)
1502 0 9 if (length $in_buffer < $pos + 8)
1514 2 9 if $Spew
1515 0 11 if $edition < 2 or $edition > 4
1520 2 9 if ($filehandle) { }
1521 0 2 if (read($filehandle, $msg, $length - 8) != $length - 8) { }
1535 0 2 if (substr($msg, -4) ne 7777)
1542 0 9 if (length $in_buffer < $pos + $length) { }
1552 3 6 if (substr($msg, -4) ne 7777)
1559 2 9 if ($Spew)
1560 2 0 if ($msgisOK) { }
1573 2 9 if ($filehandle and not $self->{'BAD_LENGTH'})
1574 0 2 if (read($filehandle, $gts_eom, 4) == 4 and $gts_eom eq "\r\r\n\cC") { }
1611 3 11 if ($filehandle) { }
1616 1 2 if (CORE::eof $filehandle or substr($slurp, -4) ne 'BUFR') { }
1626 0 2 if ($slurp =~ /($gts_start_regexp?)($ahl_regex)((?:\r\r)?\n+BUFR)$/)
1629 0 0 if $at eq "at_ahl"
1631 0 0 if $Spew
1640 2 9 if ($new_pos < 0) { }
1643 6 3 if (substr($in_buffer, $pos, $new_pos - $pos) =~ /($gts_start_regexp?)($ahl_regex)((?:\r\r)?\n+)$/)
1647 0 6 if $Spew
1648 0 6 if ($at eq "at_ahl")
1655 3 11 if ($self->{'EOF'})
1656 0 3 if ($pos == 0)
1657 0 0 if ($filehandle) { }
1659 0 0 if $Spew
1661 0 0 if $Spew
1667 11 0 wantarray ? :
1674 0 5 if ($self->{'BAD_LENGTH'} or $self->{'ERROR_IN_MESSAGE'})
1678 0 5 unless ($self->{'FILEHANDLE'} or $self->{'IN_BUFFER'})
1682 0 5 unless (exists $self->{'START_POS'} and $self->{'BUFR_LENGTH'})
1688 0 5 if (exists $self->{'FILEHANDLE'}) { }
5 0 elsif (exists $self->{'IN_BUFFER'}) { }
1717 2 9 if $Spew
1721 2 9 if $Spew
1724 0 11 if ($self->{'BUFR_EDITION'} < 4) { }
11 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
1730 0 0 if $sec1[0] < 17
1734 0 0 if $sec1[0] > length $self->{'BUFR_STREAM'}
1764 0 11 if $sec1[0] < 22
1768 0 11 if $sec1[0] > length $self->{'BUFR_STREAM'}
1790 0 11 $sec1[0] > 22 ? :
1797 2 9 if $Spew
1798 2 9 if $Spew
1800 0 11 if $Strict_checking
1804 2 9 if $Spew
1806 0 11 if ($self->{'OPTIONAL_SECTION'}) { }
1810 0 0 if $sec2[0] < 4
1814 0 0 if $sec2[0] > length $self->{'BUFR_STREAM'}
1820 0 0 if $Spew
1828 2 9 if $Spew
1833 0 11 if $sec3[0] < 8
1837 0 11 if $sec3[0] > length $self->{'BUFR_STREAM'}
1849 2 9 if $Spew
1851 2 9 if $Spew
1853 0 11 if $Strict_checking and $self->{'NUM_SUBSETS'} == 0
1854 0 11 if $Strict_checking and ($sec3[3] & 63) != 0
1856 8 3 if ($Spew == 6 or $Nodata)
1858 8 0 @unexpanded ? :
1864 0 11 defined $self->{'FILTER_CB'} ? :
1865 8 3 if $self->{'IS_FILTERED'} or $Nodata
1869 2 1 if $Spew
1872 2 1 if $Spew
1875 0 3 if $sec4_len < 4
1880 0 3 if $sec4_len > length $self->{'BUFR_STREAM'}
1888 2 1 if $Spew
1895 0 3 if ($len > 4 or $len == 4 and substr($str, 0, 4) ne 7777)
1900 0 0 if ($len > 4 and substr($str, 0, 4) eq '7777') { }
0 0 elsif ($len == 4 and substr($str, 0, 4) ne '7777') { }
1917 4 10 if $Spew
1929 11 3 if $msg
1931 0 14 if ($@)
1937 3 11 unless ($msg)
1939 2 1 if $Spew
1945 8 3 if $Nodata or $self->{'IS_FILTERED'}
1950 0 3 if ($@)
1957 0 3 unless defined $unexpanded[0]
1961 0 3 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1963 2 1 if $Spew
1965 2 1 if $Spew
1967 2 1 if (exists $Descriptors_already_expanded{$alias}) { }
1974 0 1 if ($@)
1981 2 1 if $Spew
1983 0 3 if ($self->{'COMPRESSED_DATA'}) { }
1989 0 3 if ($@)
2007 0 0 if ($skip_next) { }
0 0 elsif (substr($id, 0, 3) eq '206') { }
0 0 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}) { }
2015 0 0 $BUFR_table{'FORMAT'} eq 'BUFRDC' ? :
2035 6 10 if $Spew
2040 0 16 if ($self->{'ERROR_IN_MESSAGE'})
2045 0 0 if $self->{'FILEHANDLE'}
2046 0 0 if $Spew
2052 0 0 if ($self->{'EOF'}) { }
2053 0 0 if $Spew
2061 10 2 if ($self->{'CURRENT_MESSAGE'} == 0 or $self->{'ERROR_IN_MESSAGE'} or $self->{'CURRENT_SUBSET'} >= $self->{'NUM_SUBSETS'})
2093 3 11 if $self->{'EOF'}
2095 8 3 if ($Nodata or $self->{'IS_FILTERED'})
2097 3 5 if ($self->{'BAD_LENGTH'})
2103 0 3 if $self->{'FILEHANDLE'}
2106 0 3 if $Spew
2117 0 5 if ($self->{'COMPRESSED_DATA'}) { }
2136 0 0 exists $options->{'bitmap'} ? :
2143 0 0 if ($current_subset_number == 1)
2145 0 0 defined $current_ahl ? :
2152 0 0 if ($current_subset_number > 0)
2154 0 0 $bitmap ? :
2165 0 2 unless $self->{'BUFR_LENGTH'}
2179 0 2 unless $self->{'SEC1_STREAM'}
2182 0 2 if ($self->{'BUFR_EDITION'} < 4) { }
2231 0 2 if $self->{'LOCAL_USE'} and length $self->{'LOCAL_USE'} > 1
2238 0 0 unless defined $self->{'SEC2'}
2241 0 0 unless defined $sec2_code_ref and ref $sec2_code_ref eq "CODE"
2256 0 8 unless $self->{'SEC3_STREAM'}
2278 0 0 if ref $width or not $width =~ /^\d+$/
2292 0 0 defined $data->[$idx] ? :
2295 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
0 0 elsif ($f == 9 and $id != 999999) { }
0 0 elsif ($id == 31031) { }
2299 0 0 if ($id =~ /^205/) { }
2305 0 0 if ($operator_name)
2320 0 0 if $value eq "missing"
2323 0 0 unless exists $B_table->{$id}
2328 0 0 if ($unit_start eq 'CODE') { }
0 0 elsif ($unit_start eq 'FLAG') { }
2337 0 0 if ($Strict_checking and $short_unit eq "FLAG TABLE" and $bits > 1)
2338 0 0 if ($value ne "missing" and $value % 2)
2348 0 0 if ($C_table and $id != 31031 and $value ne "missing")
2397 0 0 if ($OPERATOR_NAME_A{$id}) { }
0 0 elsif ($Show_all_operators) { }
2400 0 0 if ($OPERATOR_NAME_B{$id}) { }
2404 0 0 if ($OPERATOR_NAME_C{$fx})
2431 0 0 unless (defined $self->{'BITMAPS'})
2436 0 0 if $Show_all_operators
2447 0 0 if $self->{'COMPRESSED_DATA'}
2471 0 0 if substr($id, 0, 1) eq 2 and $id =~ /^22[2-5]/ || $id =~ /^232/
2475 0 0 defined $data->[$idx] ? :
2477 0 0 unless exists $B_table->{$id}
2487 0 0 if ($bitmap_array[$bitmap_num]{$idx}) { }
2490 0 0 defined $data->[$bitmapped_idesc] ? :
2492 0 0 if length $val > $max_len
2504 0 0 if ($unit_start eq 'CODE') { }
0 0 elsif ($unit_start eq 'FLAG') { }
2513 0 0 if ($Strict_checking and $short_unit eq "FLAG TABLE" and $bits > 1)
2514 0 0 if ($value ne "missing" and $value % 2)
2523 0 0 if ($C_table and $value ne "missing")
2547 0 0 if ($unit =~ /^CODE[ ]?TABLE/i) { }
0 0 elsif ($unit =~ /^FLAG[ ]?TABLE/i) { }
2550 0 0 unless exists $C_table->{$code_table}
2551 0 0 if ($C_table->{$code_table}{$value})
2560 0 0 unless exists $C_table->{$flag_table}
2565 0 0 if $width > 32
2570 0 0 if (defined $check_illegal and $value > $max_value) { }
0 0 elsif ($value == $max_value) { }
2580 0 0 if (substr($bitstring, $i - 1, 1) == 1)
2583 0 0 if ($C_table->{$flag_table}{$i}) { }
2594 0 0 if (defined $check_illegal and $txt =~ /bit $width set/)
2606 5 6 @_ > 1 ? :
2617 0 150 unless $descriptor =~ /^\d{6}$/
2620 7 143 if ($f == 1) { }
29 114 elsif ($f == 3) { }
2623 5 2 if ($y > 0) { }
2625 0 5 if $di + $x + 1 > @_
2632 5 0 if @r
2633 0 5 if ($Show_replication)
2636 0 0 @s / $y > 99 ? :
2640 5 0 if @s
2647 0 2 if ($di + 2 == @_ and $_[$di + 1] =~ /^0310(00|01|02|11|12)$/)
2653 0 2 if $di + $x + 1 > @_
2656 0 2 unless $_[$di + 1] =~ /^0310(00|01|02|11|12)$/
2666 2 0 if @r
2675 0 29 unless exists $D_table->{$descriptor}
2707 0 0 unless /^\d+$/
2715 0 0 unless grep {$how eq $_;} @allowed_hows
2717 0 0 unless ($self->{'B_TABLE'})
2718 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2732 0 0 if (substr($id, 0, 1) eq 3)
2736 0 0 if ($need_Dtable and not $self->{'D_TABLE'}) { }
2737 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2750 0 0 if ($how eq "simply" or $how eq "partially")
2754 0 0 if ($f == 3) { }
2756 0 0 unless $D_table->{$id}
2762 0 0 if ($how eq 'simply') { }
2768 0 0 if ($how eq "fully")
2769 0 0 if (@desc == 1 and $desc[0] =~ /^1/) { }
2778 0 0 if ($id =~ /^[123]/) { }
0 0 elsif ($B_table->{$id}) { }
2800 0 2 unless $desc =~ /^\d+$/
2803 0 2 unless defined $self->{'B_TABLE'}
2804 1 1 unless defined $self->{'B_TABLE'}{$desc}
2807 0 1 unless defined $width and $width =~ /\d+$/
2819 0 3 unless $desc =~ /^\d+$/
2821 0 3 unless defined $self->{'D_TABLE'}
2822 1 2 unless defined $self->{'D_TABLE'}{$desc}
2823 1 1 if (wantarray) { }
2836 0 0 if $value < 0
2857 0 1 unless $code_table =~ /^\d+$/
2864 1 0 unless $C_table->{$code_table}
2912 4 3 if $Spew
2932 14 782 if ($f == 1) { }
0 782 elsif ($f == 2) { }
2933 0 14 if ($Show_replication)
2936 0 0 if $Spew and $x == 0
2939 0 14 if $y > 0
2941 0 14 if ($x == 0)
2949 0 14 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
2958 0 14 unless (defined $factor)
2961 8 6 if ($Spew)
2962 0 8 if ($_ eq '031011' or $_ eq '031012') { }
2973 0 14 if ($_ eq "031011" or $_ eq "031012")
2983 0 14 if ($repeat_factor) { }
2987 0 0 if $Spew
2989 8 6 if $Spew
2991 14 0 if ($idesc < @desc) { }
3003 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
3009 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
3024 0 0 if ($Show_all_operators)
3050 0 0 if ($Show_all_operators) { }
3058 0 0 if $flow eq "next"
3059 0 0 if $flow eq "last"
3060 0 0 if ($flow eq "skip")
3066 0 782 if ($self->{'CHANGE_REFERENCE_VALUE'})
3069 0 0 if $f > 0
3075 0 0 $new_refval & 1 << $num_bits - 1 ? :
3078 0 0 $new_refval > 0 ? :
0 0 if $Spew
3091 0 782 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
3097 0 0 unless defined $value
3101 0 0 if $Spew
3112 0 0 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
3115 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
3117 0 0 unless defined $data_idesc
3123 0 0 unless defined $data_idesc
3133 0 782 unless exists $B_table->{$id}
3135 455 327 if $Spew
3138 0 782 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3139 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3140 0 0 if (defined $self->{'CHANGE_SRW'}) { }
3145 0 0 if defined $self->{'CHANGE_SCALE'}
3146 0 0 if defined $self->{'CHANGE_WIDTH'}
3154 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
3156 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3163 0 782 if $width <= 0
3166 7 775 if ($unit eq 'CCITTIA5') { }
3168 0 7 if $width % 8
3171 4 0 defined $value ? :
4 3 if $Spew
3176 402 373 if (defined $value)
3179 318 84 $scale <= 0 ? :
3182 202 249 defined $value ? :
451 324 if $Spew
3188 0 782 if ($repeat_X)
3193 0 0 if (--$repeat_X == 0)
3205 0 782 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 1564 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3210 0 0 if (defined $value)
3214 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3216 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3223 0 0 if $i < 0
3228 0 0 if $self->{'BITMAP_START'}[$numb] < 0
3235 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3283 0 0 if $nsubsets == 1
3302 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
3303 0 0 if ($Show_replication)
3308 0 0 if $Spew and $x == 0
3311 0 0 if $y > 0
3313 0 0 if ($x == 0)
3321 0 0 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
3331 0 0 unless (defined $factor)
3341 0 0 if ($_ eq '031011' or $_ eq '031012') { }
3346 0 0 if $Spew
3348 0 0 if $Spew
3353 0 0 if ($Spew)
3354 0 0 if ($repeat_factor) { }
3361 0 0 if ($idesc < @desc) { }
3373 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
3379 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
3394 0 0 if ($Show_all_operators)
3420 0 0 if ($Show_all_operators) { }
3430 0 0 if $flow eq "next"
3431 0 0 if $flow eq "last"
3432 0 0 if ($flow eq "skip")
3438 0 0 if ($self->{'CHANGE_REFERENCE_VALUE'})
3441 0 0 if $f > 0
3447 0 0 $new_refval & 1 << $num_bits - 1 ? :
3450 0 0 $new_refval > 0 ? :
0 0 if $Spew
3465 0 0 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
3477 0 0 if ($repeat_X)
3484 0 0 if (--$repeat_X == 0)
3523 0 0 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
3526 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
3528 0 0 unless defined $data_idesc
3534 0 0 unless defined $data_idesc
3544 0 0 if ($id == 999999) { }
0 0 elsif ($id =~ /^205(\d\d\d)/) { }
3558 0 0 unless exists $B_table->{$id}
3562 0 0 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3563 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3564 0 0 if (defined $self->{'CHANGE_SRW'}) { }
3569 0 0 if defined $self->{'CHANGE_SCALE'}
3570 0 0 if defined $self->{'CHANGE_WIDTH'}
3575 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
3577 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3585 0 0 if $Spew
3586 0 0 if $width <= 0
3588 0 0 if ($unit eq 'CCITTIA5') { }
3590 0 0 if $width % 8
3593 0 0 if ($Spew)
3594 0 0 if ($minval eq "\000" x ($width / 8)) { }
3603 0 0 if $Spew
3605 0 0 if ($deltabytes and defined $minval) { }
3610 0 0 if $Strict_checking and $minval ne "\0" x $nbytes
3616 0 0 if ($Spew)
3617 0 0 defined $string ? :
3624 0 0 if ($Spew)
3631 0 0 defined $minval ? :
3640 0 0 defined $subset_data_ref->[$_][-1] ? :
0 0 if $Spew
3645 0 0 if defined $minval
3647 0 0 if $Spew and defined $minval
3652 0 0 if $Spew
3654 0 0 if ($deltabits and defined $minval) { }
3659 0 0 if $Strict_checking and defined $value and $value + $minval > 2 ** $width
3663 0 0 defined $value ? :
0 0 if $Spew
3664 0 0 if (defined $value)
3667 0 0 $scale <= 0 ? :
3672 0 0 if ($id == 999999 and not defined $value)
3678 0 0 if ($Spew)
3686 0 0 if (defined $minval)
3689 0 0 $scale <= 0 ? :
3694 0 0 if ($id == 999999 and not defined $value)
3700 0 0 if defined $deltabits
3706 0 0 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 0 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3707 0 0 if $deltabits
3712 0 0 if (defined $minval)
3716 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3718 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3725 0 0 if $i < 0
3728 0 0 if ($Show_all_operators) { }
3736 0 0 if $self->{'BITMAP_START'}[$numb] < 0
3743 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3749 0 0 defined $subset_data_ref->[$_][-1] ? :
0 0 if $Spew
3791 0 0 if $i >= @lines - 1
3796 0 0 unless defined $self->{'BUFR_EDITION'}
3800 0 0 if $i >= @lines
3802 0 0 if ($self->{'BUFR_EDITION'} < 4) { }
0 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
3832 0 0 unless defined $self->{'MINUTE'}
3867 0 0 unless defined $self->{'SECOND'}
3872 0 0 if $i >= @lines
3878 0 0 if $self->{'NUM_SUBSETS'} == 0
3886 0 0 unless defined $self->{'DESCRIPTORS_UNEXPANDED'}
3893 0 0 if /^$/ or /^Subset/
3894 0 0 if /^Message/
3897 0 0 unless /^\d/
3899 0 0 if $n == 1
3900 0 0 if (defined $value) { }
3902 0 0 if $value eq "" or $value eq "missing"
3914 0 0 if ($self->{'OPTIONAL_SECTION'})
3933 0 1 unless $desc_refs
3936 1 0 if $Spew
3940 1 0 if $Spew
3944 1 0 if $Spew
3965 0 2 unless my $bufr_edition = $self->{'BUFR_EDITION'}
3970 0 2 if ($bufr_edition < 4) { }
2 0 elsif ($bufr_edition == 4) { }
3979 0 32 unless defined $self->{$key}
3982 0 2 if $Strict_checking
3986 0 2 if ($bufr_edition < 4) { }
2 0 elsif ($bufr_edition == 4) { }
3987 0 0 unless defined $self->{'LOCAL_USE'}
4003 0 0 $self->{'OPTIONAL_SECTION'} ? :
4021 0 2 $self->{'OPTIONAL_SECTION'} ? :
4023 0 2 if defined $self->{'LOCAL_USE'}
4027 0 2 if ($bufr_edition < 4)
4029 0 0 if ($sec1_len % 2)
4044 0 1 if ($self->{'OPTIONAL_SECTION'}) { }
4046 0 0 unless defined $self->{'SEC2_STREAM'}
4061 0 8 unless defined $self->{$key}
4089 0 2 if ($self->{'BUFR_EDITION'} < 4)
4091 0 0 if ($sec3_len % 2)
4112 0 1 unless @$desc_refs == $nsubsets + 1
4118 0 1 $self->{'COMPRESSED_DATA'} ? :
4139 0 1 unless $stationid_ref
4143 0 1 unless my $bufr_edition = $self->{'BUFR_EDITION'}
4153 0 1 if $Spew
4182 1 0 defined $delayed_repl_ref ? :
4185 1 0 unless ($self->{'DESCRIPTORS_EXPANDED'})
4187 0 1 unless $self->{'DESCRIPTORS_UNEXPANDED'}
4190 0 1 unless $self->{'D_TABLE'}
4192 1 0 if (exists $Descriptors_already_expanded{$alias}) { }
4217 2 128 if ($f == 1) { }
0 128 elsif ($f == 2) { }
4219 0 2 if ($x == 0)
4224 0 2 if $y > 0
4229 0 2 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
4231 2 0 if (@delayed_repl and /^03100(1|2)/)
4233 0 2 if not $factor =~ /^\d+$/ or $factor == 0
4238 0 2 if ($Spew)
4249 0 2 if $Spew
4252 2 0 if ($idesc < @desc) { }
4265 0 0 if $flow eq "next"
4272 0 128 unless exists $B_table->{$id}
4274 0 128 if $Spew
4277 0 128 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
4278 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4279 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4284 0 0 if defined $self->{'CHANGE_SCALE'}
4285 0 0 if defined $self->{'CHANGE_WIDTH'}
4290 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
4292 0 128 if $width <= 0
4294 3 125 if ($stationid_ref->{$id}) { }
4296 0 3 if $Spew
4297 1 2 if ($unit eq 'CCITTIA5') { }
4301 0 1 if length $value > $num_bytes
4308 0 2 if $value < 0
4320 0 1 $self->{'BUFR_EDITION'} < 4 ? :
4321 1 0 if ($padnum > 0)
4345 1 0 if (exists $Descriptors_already_expanded{$alias}) { }
4360 3 0 if $Spew
4387 6 346 if ($f == 1) { }
0 346 elsif ($f == 2) { }
4389 0 6 if ($x == 0)
4394 0 6 if $y > 0
4399 0 6 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
4400 0 6 if $desc_ref->[$idesc] != $next_id
4404 6 0 if ($Spew)
4418 0 6 if ($next_id eq '031011' or $next_id eq '031012') { }
4424 0 0 if $Spew
4426 6 0 if $Spew
4428 6 0 if ($idesc < @desc) { }
4440 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
4446 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
4464 0 0 if $desc_ref->[$idesc] != $id
4481 0 0 if $flow eq "next"
4482 0 0 if $flow eq "last"
4485 0 346 if ($self->{'CHANGE_REFERENCE_VALUE'})
4489 0 0 if $id =~ /^9/
4490 0 0 if $f > 0
4503 0 346 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
4505 0 0 if $desc_ref->[$idesc] != 999999
4512 0 0 if $Spew
4528 0 0 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
4531 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
4533 0 0 unless defined $data_idesc
4539 0 0 unless defined $data_idesc
4549 0 346 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 692 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
4554 0 0 if (defined $value and $value == 0)
4558 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
4560 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
4567 0 0 if $i < 0
4572 0 0 if $self->{'BITMAP_START'}[$numb] < 0
4579 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
4585 0 346 unless exists $desc_ref->[$idesc]
4587 0 346 if $desc_ref->[$idesc] != $id
4592 0 346 unless exists $B_table->{$id}
4595 0 346 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4596 346 0 if ($Spew)
4598 139 207 defined $value ? :
4603 0 346 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4604 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4605 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4610 0 0 if defined $self->{'CHANGE_SCALE'}
4611 0 0 if defined $self->{'CHANGE_WIDTH'}
4616 0 0 if $width <= 0
4618 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4620 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4634 207 139 if (not defined $value) { }
3 136 elsif ($unit eq 'CCITTIA5') { }
4641 0 3 if length $value > $num_bytes
4648 0 136 unless &looks_like_number($value)
4651 0 136 if $value < 0
4653 0 136 if $value > $max_value
4656 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4673 0 1 $self->{'BUFR_EDITION'} < 4 ? :
4674 1 0 if ($padnum > 0)
4695 0 0 if $Spew
4697 0 0 if ($refval >= 0) { }
4698 0 0 if $refval > 2 ** $width - 1
4705 0 0 if -$refval > 2 ** ($width - 1) - 1
4721 0 6 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4722 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4723 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4728 0 0 if defined $self->{'CHANGE_SCALE'}
4729 0 0 if defined $self->{'CHANGE_WIDTH'}
4734 0 0 if $width <= 0
4736 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4738 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4752 0 6 if (not defined $value) { }
0 6 elsif ($unit eq 'CCITTIA5') { }
4759 0 0 if length $value > $num_bytes
4766 0 6 unless &looks_like_number($value)
4769 0 6 if $value < 0
4771 0 6 if $value > $max_value
4774 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4800 0 0 if $Spew
4803 0 0 if ($refval >= 0) { }
4804 0 0 if $refval > 2 ** $width - 1
4810 0 0 if -$refval > 2 ** ($width - 1) - 1
4829 0 0 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4830 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4831 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4836 0 0 if defined $self->{'CHANGE_SCALE'}
4837 0 0 if defined $self->{'CHANGE_WIDTH'}
4842 0 0 if $width <= 0
4843 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
4845 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4864 0 0 if (defined $value and $unit ne "CCITTIA5" and not &looks_like_number($value))
4868 0 0 if ($all_equal)
4869 0 0 if (defined $value and defined $first_value) { }
0 0 elsif (defined $value or defined $first_value) { }
4870 0 0 if ($unit eq 'CCITTIA5') { }
4871 0 0 if $value ne $first_value
4873 0 0 if $value != $first_value
4879 0 0 if (not defined $value) { }
0 0 elsif ($unit eq 'CCITTIA5') { }
4887 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1)
4888 0 0 if (defined $value and $value ne "missing" and $value % 2)
4897 0 0 if ($all_equal) { }
4899 0 0 if (defined $first_value) { }
4900 0 0 if ($unit eq 'CCITTIA5') { }
4904 0 0 if length $first_value > $num_bytes
4910 0 0 unless &looks_like_number($first_value)
4913 0 0 if $first_value < 0
4915 0 0 if $first_value > 2 ** $width - 1
4929 0 0 if ($unit eq 'CCITTIA5') { }
4942 0 0 if (defined $value) { }
4952 0 0 if defined $first_value and not &looks_like_number($first_value)
4954 0 0 defined $first_value ? :
4959 0 0 if $min_value < 0
4962 0 0 defined $_ ? :
4968 0 0 $id eq '999999' ? :
4972 0 0 if $Spew
4976 0 0 if $Spew
4981 0 0 defined $inc_values[$_] ? :
0 0 if $Spew
4985 0 0 if (defined $value) { }
4986 0 0 if $Strict_checking and $value + $min_value > 2 ** $width - 1
5017 0 0 if (exists $Descriptors_already_expanded{$alias}) { }
5040 0 0 if $num_d != $num_desc
5052 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
5054 0 0 if ($x == 0)
5059 0 0 if $y > 0
5064 0 0 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
5065 0 0 if $desc_ref->[$idesc] != $next_id
5069 0 0 if ($Spew)
5084 0 0 if ($next_id eq '031011' or $next_id eq '031012') { }
5090 0 0 if $Spew
5092 0 0 if $Spew
5094 0 0 if ($idesc < @desc) { }
5106 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
5112 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
5130 0 0 if $desc_ref->[$idesc] != $id
5149 0 0 if $flow eq "next"
5150 0 0 if $flow eq "last"
5153 0 0 if ($self->{'CHANGE_REFERENCE_VALUE'})
5157 0 0 if $id =~ /^9/
5158 0 0 if $f > 0
5164 0 0 if $val != $new_refval
5178 0 0 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne "031021")
5180 0 0 if $desc_ref->[$idesc] != 999999
5187 0 0 if ($Spew)
5208 0 0 if (substr($id, 0, 3) eq "033" and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq 222000)
5211 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5213 0 0 unless defined $data_idesc
5219 0 0 unless defined $data_idesc
5227 0 0 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 0 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
5234 0 0 if ($data_refs->[1][$idesc] == 0)
5238 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
5240 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
5247 0 0 if $i < 0
5252 0 0 if $self->{'BITMAP_START'}[$numb] < 0
5259 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
5266 0 0 if $desc_ref->[$idesc] != $id
5271 0 0 unless exists $B_table->{$id}
5273 0 0 if ($Spew)
5276 0 0 defined $data_refs->[$_][$idesc] ? :
5287 0 0 $self->{'BUFR_EDITION'} < 4 ? :
5288 0 0 if ($padnum > 0)
5306 0 3 if ($comp_len > $actual_len) { }
5311 3 0 unless $Strict_checking
5313 0 0 if $Noqc
5317 0 0 if ($bufr_edition < 4 and $actual_bytes % 2)
5322 0 0 if $comp_len % 8
5323 0 0 if $bufr_edition < 4 and $comp_bytes % 2
5324 0 0 if ($actual_bytes > $comp_bytes)
5336 0 7 unless defined $str
5337 0 7 if ($str =~ /\0/) { }
0 14 elsif ($Strict_checking and $str =~ /^ +$/) { }
5350 0 7 if ($Strict_checking and $str ne "")
5352 0 0 if (ord $char > 127)
5369 0 0 if (defined $string)
5372 0 0 if (length $string > $largest_length)
5378 0 0 if (defined $string)
5390 0 0 $bufr_edition < 4 ? :
5392 0 0 $bufr_edition == 4 ? :
5396 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
5404 0 0 if $@
5411 0 0 if $n == 0
5418 0 0 $x == $n ? :
5431 0 0 unless defined $v
5432 0 0 if ($v < $min)
5445 0 0 unless defined $v
5446 0 0 if ($v > $max)
5450 0 0 if $max < 0
5458 2 3 if ($list->[$i] eq $value)
5477 0 0 if ($y == 0 and $x =~ /^[12378]$/) { }
0 0 elsif ($x == 1) { }
0 0 elsif ($x == 2) { }
0 0 elsif ($x == 3 and $y == 255) { }
0 0 elsif ($x == 3) { }
0 0 elsif ($x == 4) { }
0 0 elsif ($x == 5) { }
0 0 elsif ($x == 6) { }
0 0 elsif ($x == 7) { }
0 0 elsif ($x == 8) { }
0 0 elsif ($x == 9) { }
0 0 elsif ($x == 21) { }
0 0 elsif ($x == 22 and $y == 0) { }
0 0 elsif ($x == 23 and $y == 0) { }
0 0 elsif ($x == 23 and $y == 255) { }
0 0 elsif ($x == 24 and $y == 0) { }
0 0 elsif ($x == 24 and $y == 255) { }
0 0 elsif ($x == 25 and $y == 0) { }
0 0 elsif ($x == 25 and $y == 255) { }
0 0 elsif ($x == 32 and $y == 0) { }
0 0 elsif ($x == 32 and $y == 255) { }
0 0 elsif ($x == 35 and $y == 0) { }
0 0 elsif ($x == 36 and $y == 0) { }
0 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) { }
5480 0 0 if $Strict_checking and not grep({$_ == $x;} @operators)
5482 0 0 if ($x == 1) { }
0 0 elsif ($x == 2) { }
0 0 elsif ($x == 3) { }
0 0 elsif ($x == 7) { }
0 0 elsif ($x == 8) { }
5483 0 0 if $self->{'CHANGE_WIDTH'}
5486 0 0 if $self->{'CHANGE_SCALE'}
5489 0 0 if $self->{'NEW_REFVAL_OF'}
5492 0 0 if $self->{'CHANGE_SRW'}
5495 0 0 if $self->{'CHANGE_CCITTIA5_WIDTH'}
5498 0 0 if $Spew
5505 0 0 if grep {$_ == 7;} @operators
5506 0 0 unless $self->{'CHANGE_WIDTH'}
5508 0 0 if $Spew
5514 0 0 if grep {$_ == 7;} @operators
5515 0 0 unless $self->{'CHANGE_SCALE'}
5517 0 0 if $Spew
5524 0 0 defined $self->{'CHANGE_REFERENCE_VALUE'} ? :
0 0 if $Spew
5526 0 0 unless defined $self->{'CHANGE_REFERENCE_VALUE'}
5532 0 0 if grep {$_ == 7;} @operators
5533 0 0 if $Spew
5535 0 0 unless $self->{'CHANGE_REFERENCE_VALUE'}
5541 0 0 if ($y > 0) { }
5543 0 0 if $self->{'ADD_ASSOCIATED_FIELD'}
5548 0 0 unless defined $self->{'ADD_ASSOCIATED_FIELD'}
5565 0 0 if $ff != 0
5568 0 0 if ($Strict_checking)
5571 0 0 if $xx < 48 and $yy < 192
5575 0 0 if (exists $self->{'B_TABLE'}{$next_id} and (split(/\0/, $self->{'B_TABLE'}{$next_id}, 0))[-1] == $y) { }
5577 0 0 if $Spew
5581 0 0 if $self->{'CODING'} eq "ENCODE"
5582 0 0 if $Spew
5591 0 0 unless $_ == 1 or $_ == 2
0 0 if grep {$_ == 3 unless $_ == 1 or $_ == 2;} @operators
5592 0 0 unless $self->{'CHANGE_SRW'}
5594 0 0 if $Spew
5599 0 0 unless $self->{'CHANGE_CCITTIA5_WIDTH'}
5601 0 0 if $Spew
5617 0 0 $Noqc ? :
5634 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 223000
5635 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5637 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5641 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5657 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 224000
5658 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5660 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5664 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5680 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 225000
5681 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5683 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5687 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5691 0 0 unless $self->{'DIFFERENCE_STATISTICAL_VALUE'}
5710 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq 232000
5711 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5713 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5717 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5735 0 0 unless defined $self->{'BITMAPS'}
5742 0 0 unless defined $self->{'REUSE_BITMAP'}
5781 2 1 if (ref $arg eq 'Geo::BUFR') { }
1 0 elsif (ref $arg eq 'ARRAY') { }
5785 0 1 unless $last_arg_was_bufr
5800 1 1 if (not exists $subset_list[$i]) { }
5803 1 1 unless $data
5804 1 0 if $Spew
5813 1 3 unless $data
5815 2 1 if (defined $index)
5816 2 0 if $Spew
5826 0 1 if $num_found != @{$subset_list[$i];}