Branch Coverage

blib/lib/Geo/BUFR.pm
Criterion Covered Total %
branch 401 1924 20.8


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'} ? :
753 0 0 defined $n ? :
760 0 0 defined $self->{'REUSED_CURRENT_AHL'} ? :
767 0 0 if (ref $cb eq 'CODE') { }
779 0 0 defined $self->{'IS_FILTERED'} ? :
784 9 0 defined $self->{'BAD_LENGTH'} ? :
791 0 0 unless defined $format
793 0 0 unless uc $format eq 'BUFRDC' or uc $format eq 'ECCODES'
802 0 0 exists $BUFR_table{'FORMAT'} ? :
820 0 0 if (exists $BUFR_table{'PATH'}) { }
821 0 0 wantarray ? :
838 2 5 if ($table)
839 2 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
841 0 2 if ($table =~ /wmo/ or $table =~ /local/)
850 0 0 unless $table =~ /wmo/ or $table =~ /local/
860 0 20 unless defined $self->{$metadata}
868 0 5 if ($local_table_version == 0 or $local_table_version == 255)
876 5 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
881 0 0 if ($local_table_version == 0) { }
902 0 5 unless $BUFR_table{'PATH'}
906 5 0 if (-e catfile($_, $fname))
913 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC')
917 0 0 if ($path)
934 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
935 0 0 if length $fname < 20
941 0 0 unless defined $self->{$metadata}
945 0 0 if $master_table eq $fname
949 0 0 if (-e catfile($_, $master_table))
965 0 2 unless my($path, $tname) = $self->_locate_table($fname)
971 0 2 if ($tname ne $fname)
973 0 0 if exists $BUFR_table{"B$master_version"}
977 0 2 unless open my $TABLE, '<', $tablefile
981 0 2 if $self->{'LOCAL_TABLES_NOT_FOUND'}
988 0 2748 unless defined $bits
1007 0 0 unless ($path)
1008 0 0 if ($version =~ /wmo/) { }
1021 0 0 unless open my $TABLE, '<', $tablefile
1028 0 0 if /^#/
1033 0 0 unless defined $width
1034 0 0 if $unit eq 'CCITT IA5'
1056 0 2 unless my($path, $tname) = $self->_locate_table($fname)
1062 0 2 if ($tname ne $fname)
1064 0 0 if exists $BUFR_table{"D$master_version"}
1068 0 2 unless open my $TABLE, '<', $tablefile
1072 0 2 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1078 0 7422 if $line =~ /^\s*$/
1080 6594 828 if (substr($line, 0, 5) eq ' ') { }
1104 0 0 unless ($path)
1105 0 0 if ($version =~ /wmo/) { }
1118 0 0 unless open my $TABLE, '<', $tablefile
1139 0 0 if (substr($_, 0, 1) eq '"') { }
1141 0 0 if $txt
1149 0 0 if $txt
1181 0 1 if ($BUFR_table{'FORMAT'} eq 'ECCODES')
1182 0 0 if ($version =~ /,/) { }
1194 0 1 unless $path
1198 0 1 if ($tname ne $fname)
1200 0 0 if exists $BUFR_table{"C$master_version"}
1204 0 1 unless open my $TABLE, '<', $tablefile
1208 0 1 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1214 0 4751 if $line =~ /^\s*$/
1216 535 4216 if (substr($line, 0, 15) eq ' ') { }
3882 334 elsif (substr($line, 0, 10) eq ' ') { }
1218 0 535 if $line eq 'NOT DEFINED' or $line eq 'RESERVED'
1224 52 3829 if not defined $txt or $txt eq 'NOT DEFINED' or $txt eq 'RESERVED'
1231 2 332 if defined $C_table{$table}
1233 29 305 if not defined $txt or $txt eq 'NOT DEFINED' or $txt eq 'RESERVED'
1248 0 0 unless ($path)
1249 0 0 if ($version =~ /wmo/) { }
1250 0 0 if not $path and $version =~ /wmo/
1263 0 0 unless chdir $tabledir
1269 0 0 if @table_files
1274 0 0 unless $table
1277 0 0 unless open my $IN, '<', $table_file
1282 0 0 if $Strict_checking and $num ne $val
1295 0 0 if $Strict_checking and not $C_table{$table}
1315 0 6 unless my $version = $self->{'TABLE_VERSION'} = $self->get_table_version($table)
1318 6 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1322 0 0 if ($version =~ /,/) { }
1328 0 0 exists $BUFR_table{"B$local"} ? :
1331 0 0 exists $BUFR_table{"D$local"} ? :
1349 0 0 unless $version or $default_table
1352 1 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1355 0 0 if ($version =~ /,/) { }
1360 0 0 exists $BUFR_table{"C$local"} ? :
1369 0 1 if ($default_table and not $self->{'C_TABLE'})
1372 0 0 unless $version
1374 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1380 0 1 unless ($self->{'C_TABLE'})
1381 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1395 0 1 unless my $filename = shift()
1397 0 1 unless -e $filename
1398 0 1 unless -f $filename
1402 0 1 unless open $self->{'FILEHANDLE'}, '<', $filename
1416 0 0 if ($self->{'FILEHANDLE'})
1418 0 0 unless close $self->{'FILEHANDLE'}
1436 2 2 if (exists $self->{'FILEHANDLE'}) { }
0 2 elsif (not $self->{'IN_BUFFER'}) { }
1437 0 2 unless seek $self->{'FILEHANDLE'}, 0, 0
1464 3 11 $self->{'FILEHANDLE'} ? :
1465 11 3 $self->{'IN_BUFFER'} ? :
1466 0 14 unless $filehandle or $in_buffer
1472 10 4 defined $self->{'POS'} ? :
1475 3 11 if $pos < 0
1477 6 5 if ($ahl) { }
5 0 elsif (not $Reuse_current_ahl) { }
0 0 elsif (defined $self->{'CURRENT_AHL'}) { }
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) { }
1589 3 11 if ($filehandle) { }
1594 1 2 if (CORE::eof $filehandle or substr($slurp, -4) ne 'BUFR') { }
1604 0 2 if ($slurp =~ /($ahl_regex)((?:\r\r)?\n+BUFR)$/)
1609 0 0 if $at eq 'at_ahl'
1611 0 0 if $Spew
1620 2 9 if ($new_pos < 0) { }
1623 6 3 if (substr($in_buffer, $pos, $new_pos - $pos) =~ /($ahl_regex)((?:\r\r)?\n+)$/)
1625 0 6 if $Spew
1626 0 6 if ($at eq 'at_ahl')
1633 3 11 if ($self->{'EOF'})
1634 0 3 if ($pos == 0)
1635 0 0 if ($filehandle) { }
1637 0 0 if $Spew
1639 0 0 if $Spew
1645 11 0 wantarray ? :
1652 0 5 if ($self->{'BAD_LENGTH'} or $self->{'ERROR_IN_MESSAGE'})
1656 0 5 unless ($self->{'FILEHANDLE'} or $self->{'IN_BUFFER'})
1660 0 5 unless (exists $self->{'START_POS'} and $self->{'BUFR_LENGTH'})
1666 0 5 if (exists $self->{'FILEHANDLE'}) { }
5 0 elsif (exists $self->{'IN_BUFFER'}) { }
1695 2 9 if $Spew
1699 2 9 if $Spew
1702 0 11 if ($self->{'BUFR_EDITION'} < 4) { }
11 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
1708 0 0 if $sec1[0] < 17
1712 0 0 if $sec1[0] > length $self->{'BUFR_STREAM'}
1742 0 11 if $sec1[0] < 22
1746 0 11 if $sec1[0] > length $self->{'BUFR_STREAM'}
1768 0 11 $sec1[0] > 22 ? :
1775 2 9 if $Spew
1776 2 9 if $Spew
1778 0 11 if $Strict_checking
1782 2 9 if $Spew
1784 0 11 if ($self->{'OPTIONAL_SECTION'}) { }
1788 0 0 if $sec2[0] < 4
1792 0 0 if $sec2[0] > length $self->{'BUFR_STREAM'}
1798 0 0 if $Spew
1806 2 9 if $Spew
1811 0 11 if $sec3[0] < 8
1815 0 11 if $sec3[0] > length $self->{'BUFR_STREAM'}
1827 2 9 if $Spew
1829 2 9 if $Spew
1831 0 11 if $Strict_checking and $self->{'NUM_SUBSETS'} == 0
1832 0 11 if $Strict_checking and ($sec3[3] & 63) != 0
1834 8 3 if ($Spew == 6 or $Nodata)
1836 8 0 @unexpanded ? :
1842 0 11 defined $self->{'FILTER_CB'} ? :
1843 8 3 if $self->{'IS_FILTERED'} or $Nodata
1847 2 1 if $Spew
1850 2 1 if $Spew
1853 0 3 if $sec4_len < 4
1858 0 3 if $sec4_len > length $self->{'BUFR_STREAM'}
1866 2 1 if $Spew
1873 0 3 if ($len > 4 or $len == 4 and substr($str, 0, 4) ne '7777')
1878 0 0 if ($len > 4 and substr($str, 0, 4) eq '7777') { }
0 0 elsif ($len == 4 and substr($str, 0, 4) ne '7777') { }
1895 4 10 if $Spew
1907 11 3 if $msg
1909 0 14 if ($@)
1915 3 11 unless ($msg)
1917 2 1 if $Spew
1923 8 3 if $Nodata or $self->{'IS_FILTERED'}
1928 0 3 if ($@)
1935 0 3 unless defined $unexpanded[0]
1939 0 3 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1941 2 1 if $Spew
1943 2 1 if $Spew
1945 2 1 if (exists $Descriptors_already_expanded{$alias}) { }
1952 0 1 if ($@)
1959 2 1 if $Spew
1961 0 3 if ($self->{'COMPRESSED_DATA'}) { }
1967 0 3 if ($@)
1985 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}) { }
1993 0 0 $BUFR_table{'FORMAT'} eq 'BUFRDC' ? :
2013 6 10 if $Spew
2018 0 16 if ($self->{'ERROR_IN_MESSAGE'})
2023 0 0 if $self->{'FILEHANDLE'}
2024 0 0 if $Spew
2030 0 0 if ($self->{'EOF'}) { }
2031 0 0 if $Spew
2039 10 2 if ($self->{'CURRENT_MESSAGE'} == 0 or $self->{'ERROR_IN_MESSAGE'} or $self->{'CURRENT_SUBSET'} >= $self->{'NUM_SUBSETS'})
2071 3 11 if $self->{'EOF'}
2073 8 3 if ($Nodata or $self->{'IS_FILTERED'})
2075 3 5 if ($self->{'BAD_LENGTH'})
2081 0 3 if $self->{'FILEHANDLE'}
2084 0 3 if $Spew
2095 0 5 if ($self->{'COMPRESSED_DATA'}) { }
2114 0 0 exists $options->{'bitmap'} ? :
2121 0 0 if ($current_subset_number == 1)
2123 0 0 defined $current_ahl ? :
2130 0 0 if ($current_subset_number > 0)
2132 0 0 $bitmap ? :
2143 0 2 unless $self->{'BUFR_LENGTH'}
2157 0 2 unless $self->{'SEC1_STREAM'}
2160 0 2 if ($self->{'BUFR_EDITION'} < 4) { }
2209 0 2 if $self->{'LOCAL_USE'} and length $self->{'LOCAL_USE'} > 1
2216 0 0 unless defined $self->{'SEC2'}
2219 0 0 unless defined $sec2_code_ref and ref $sec2_code_ref eq 'CODE'
2234 0 8 unless $self->{'SEC3_STREAM'}
2256 0 0 if ref $width or not $width =~ /^\d+$/
2270 0 0 defined $data->[$idx] ? :
2273 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
0 0 elsif ($f == 9 and $id != 999999) { }
0 0 elsif ($id == 31031) { }
2277 0 0 if ($id =~ /^205/) { }
2283 0 0 if ($operator_name)
2298 0 0 if $value eq 'missing'
2301 0 0 unless exists $B_table->{$id}
2306 0 0 if ($unit_start eq 'CODE') { }
0 0 elsif ($unit_start eq 'FLAG') { }
2315 0 0 if ($Strict_checking and $short_unit eq 'FLAG TABLE' and $bits > 1)
2316 0 0 if ($value ne 'missing' and $value % 2)
2326 0 0 if ($C_table and $id != 31031 and $value ne 'missing')
2375 0 0 if ($OPERATOR_NAME_A{$id}) { }
0 0 elsif ($Show_all_operators) { }
2378 0 0 if ($OPERATOR_NAME_B{$id}) { }
2382 0 0 if ($OPERATOR_NAME_C{$fx})
2409 0 0 unless (defined $self->{'BITMAPS'})
2414 0 0 if $Show_all_operators
2425 0 0 if $self->{'COMPRESSED_DATA'}
2449 0 0 if substr($id, 0, 1) eq '2' and $id =~ /^22[2-5]/ || $id =~ /^232/
2453 0 0 defined $data->[$idx] ? :
2455 0 0 unless exists $B_table->{$id}
2465 0 0 if ($bitmap_array[$bitmap_num]{$idx}) { }
2468 0 0 defined $data->[$bitmapped_idesc] ? :
2470 0 0 if length $val > $max_len
2482 0 0 if ($unit_start eq 'CODE') { }
0 0 elsif ($unit_start eq 'FLAG') { }
2491 0 0 if ($Strict_checking and $short_unit eq 'FLAG TABLE' and $bits > 1)
2492 0 0 if ($value ne 'missing' and $value % 2)
2501 0 0 if ($C_table and $value ne 'missing')
2525 0 0 if ($unit =~ /^CODE[ ]?TABLE/i) { }
0 0 elsif ($unit =~ /^FLAG[ ]?TABLE/i) { }
2528 0 0 unless exists $C_table->{$code_table}
2529 0 0 if ($C_table->{$code_table}{$value})
2538 0 0 unless exists $C_table->{$flag_table}
2543 0 0 if $width > 32
2548 0 0 if (defined $check_illegal and $value > $max_value) { }
0 0 elsif ($value == $max_value) { }
2558 0 0 if (substr($bitstring, $i - 1, 1) == 1)
2561 0 0 if ($C_table->{$flag_table}{$i}) { }
2572 0 0 if (defined $check_illegal and $txt =~ /bit $width set/)
2584 5 6 @_ > 1 ? :
2595 0 150 unless $descriptor =~ /^\d{6}$/
2598 7 143 if ($f == 1) { }
29 114 elsif ($f == 3) { }
2601 5 2 if ($y > 0) { }
2603 0 5 if $di + $x + 1 > @_
2610 5 0 if @r
2611 0 5 if ($Show_replication)
2614 0 0 @s / $y > 99 ? :
2618 5 0 if @s
2625 0 2 if ($di + 2 == @_ and $_[$di + 1] =~ /^0310(00|01|02|11|12)$/)
2631 0 2 if $di + $x + 1 > @_
2634 0 2 unless $_[$di + 1] =~ /^0310(00|01|02|11|12)$/
2644 2 0 if @r
2653 0 29 unless exists $D_table->{$descriptor}
2685 0 0 unless /^\d+$/
2693 0 0 unless grep {$how eq $_;} @allowed_hows
2695 0 0 unless ($self->{'B_TABLE'})
2696 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2710 0 0 if (substr($id, 0, 1) eq '3')
2714 0 0 if ($need_Dtable and not $self->{'D_TABLE'}) { }
2715 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2728 0 0 if ($how eq 'simply' or $how eq 'partially')
2732 0 0 if ($f == 3) { }
2734 0 0 unless $D_table->{$id}
2740 0 0 if ($how eq 'simply') { }
2746 0 0 if ($how eq 'fully')
2747 0 0 if (@desc == 1 and $desc[0] =~ /^1/) { }
2756 0 0 if ($id =~ /^[123]/) { }
0 0 elsif ($B_table->{$id}) { }
2778 0 2 unless $desc =~ /^\d+$/
2781 0 2 unless defined $self->{'B_TABLE'}
2782 1 1 unless defined $self->{'B_TABLE'}{$desc}
2785 0 1 unless defined $width and $width =~ /\d+$/
2797 0 3 unless $desc =~ /^\d+$/
2799 0 3 unless defined $self->{'D_TABLE'}
2800 1 2 unless defined $self->{'D_TABLE'}{$desc}
2801 1 1 if (wantarray) { }
2814 0 0 if $value < 0
2835 0 1 unless $code_table =~ /^\d+$/
2842 1 0 unless $C_table->{$code_table}
2890 4 3 if $Spew
2910 14 782 if ($f == 1) { }
0 782 elsif ($f == 2) { }
2911 0 14 if ($Show_replication)
2914 0 0 if $Spew and $x == 0
2917 0 14 if $y > 0
2919 0 14 if ($x == 0)
2927 0 14 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
2936 0 14 unless (defined $factor)
2939 8 6 if ($Spew)
2940 0 8 if ($_ eq '031011' or $_ eq '031012') { }
2951 0 14 if ($_ eq '031011' or $_ eq '031012')
2961 0 14 if ($repeat_factor) { }
2965 0 0 if $Spew
2967 8 6 if $Spew
2969 14 0 if ($idesc < @desc) { }
2981 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
2987 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
3002 0 0 if ($Show_all_operators)
3028 0 0 if ($Show_all_operators) { }
3036 0 0 if $flow eq 'next'
3037 0 0 if $flow eq 'last'
3038 0 0 if ($flow eq 'skip')
3044 0 782 if ($self->{'CHANGE_REFERENCE_VALUE'})
3047 0 0 if $f > 0
3053 0 0 $new_refval & 1 << $num_bits - 1 ? :
3056 0 0 $new_refval > 0 ? :
0 0 if $Spew
3069 0 782 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
3075 0 0 unless defined $value
3079 0 0 if $Spew
3090 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
3093 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
3095 0 0 unless defined $data_idesc
3101 0 0 unless defined $data_idesc
3111 0 782 unless exists $B_table->{$id}
3113 455 327 if $Spew
3116 0 782 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3117 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3118 0 0 if (defined $self->{'CHANGE_SRW'}) { }
3123 0 0 if defined $self->{'CHANGE_SCALE'}
3124 0 0 if defined $self->{'CHANGE_WIDTH'}
3132 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
3134 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3141 0 782 if $width <= 0
3144 7 775 if ($unit eq 'CCITTIA5') { }
3146 0 7 if $width % 8
3149 4 0 defined $value ? :
4 3 if $Spew
3154 402 373 if (defined $value)
3157 318 84 $scale <= 0 ? :
3160 202 249 defined $value ? :
451 324 if $Spew
3166 0 782 if ($repeat_X)
3171 0 0 if (--$repeat_X == 0)
3183 0 782 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 1564 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3188 0 0 if (defined $value)
3192 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3194 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3201 0 0 if $i < 0
3206 0 0 if $self->{'BITMAP_START'}[$numb] < 0
3213 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3261 0 0 if $nsubsets == 1
3280 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
3281 0 0 if ($Show_replication)
3286 0 0 if $Spew and $x == 0
3289 0 0 if $y > 0
3291 0 0 if ($x == 0)
3299 0 0 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
3309 0 0 unless (defined $factor)
3319 0 0 if ($_ eq '031011' or $_ eq '031012') { }
3324 0 0 if $Spew
3326 0 0 if $Spew
3331 0 0 if ($Spew)
3332 0 0 if ($repeat_factor) { }
3339 0 0 if ($idesc < @desc) { }
3351 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
3357 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
3372 0 0 if ($Show_all_operators)
3398 0 0 if ($Show_all_operators) { }
3408 0 0 if $flow eq 'next'
3409 0 0 if $flow eq 'last'
3410 0 0 if ($flow eq 'skip')
3416 0 0 if ($self->{'CHANGE_REFERENCE_VALUE'})
3419 0 0 if $f > 0
3425 0 0 $new_refval & 1 << $num_bits - 1 ? :
3428 0 0 $new_refval > 0 ? :
0 0 if $Spew
3443 0 0 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
3455 0 0 if ($repeat_X)
3462 0 0 if (--$repeat_X == 0)
3501 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
3504 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
3506 0 0 unless defined $data_idesc
3512 0 0 unless defined $data_idesc
3522 0 0 if ($id == 999999) { }
0 0 elsif ($id =~ /^205(\d\d\d)/) { }
3536 0 0 unless exists $B_table->{$id}
3540 0 0 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3541 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3542 0 0 if (defined $self->{'CHANGE_SRW'}) { }
3547 0 0 if defined $self->{'CHANGE_SCALE'}
3548 0 0 if defined $self->{'CHANGE_WIDTH'}
3553 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
3555 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3563 0 0 if $Spew
3564 0 0 if $width <= 0
3566 0 0 if ($unit eq 'CCITTIA5') { }
3568 0 0 if $width % 8
3571 0 0 if ($Spew)
3572 0 0 if ($minval eq "\000" x ($width / 8)) { }
3581 0 0 if $Spew
3583 0 0 if ($deltabytes and defined $minval) { }
3588 0 0 if $Strict_checking and $minval ne "\000" x $nbytes
3594 0 0 if ($Spew)
3595 0 0 defined $string ? :
3602 0 0 if ($Spew)
3609 0 0 defined $minval ? :
3618 0 0 defined $subset_data_ref->[$_][-1] ? :
0 0 if $Spew
3623 0 0 if defined $minval
3625 0 0 if $Spew and defined $minval
3630 0 0 if $Spew
3632 0 0 if ($deltabits and defined $minval) { }
3637 0 0 if $Strict_checking and defined $value and $value + $minval > 2 ** $width
3641 0 0 defined $value ? :
0 0 if $Spew
3642 0 0 if (defined $value)
3645 0 0 $scale <= 0 ? :
3650 0 0 if ($id == 999999 and not defined $value)
3656 0 0 if ($Spew)
3664 0 0 if (defined $minval)
3667 0 0 $scale <= 0 ? :
3672 0 0 if ($id == 999999 and not defined $value)
3678 0 0 if defined $deltabits
3684 0 0 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 0 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3685 0 0 if $deltabits
3690 0 0 if (defined $minval)
3694 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3696 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3703 0 0 if $i < 0
3706 0 0 if ($Show_all_operators) { }
3714 0 0 if $self->{'BITMAP_START'}[$numb] < 0
3721 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3727 0 0 defined $subset_data_ref->[$_][-1] ? :
0 0 if $Spew
3769 0 0 if $i >= @lines - 1
3774 0 0 unless defined $self->{'BUFR_EDITION'}
3778 0 0 if $i >= @lines
3780 0 0 if ($self->{'BUFR_EDITION'} < 4) { }
0 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
3810 0 0 unless defined $self->{'MINUTE'}
3845 0 0 unless defined $self->{'SECOND'}
3850 0 0 if $i >= @lines
3856 0 0 if $self->{'NUM_SUBSETS'} == 0
3864 0 0 unless defined $self->{'DESCRIPTORS_UNEXPANDED'}
3871 0 0 if /^$/ or /^Subset/
3872 0 0 if /^Message/
3875 0 0 unless /^\d/
3877 0 0 if $n == 1
3878 0 0 if (defined $value) { }
3880 0 0 if $value eq '' or $value eq 'missing'
3892 0 0 if ($self->{'OPTIONAL_SECTION'})
3911 0 1 unless $desc_refs
3914 1 0 if $Spew
3918 1 0 if $Spew
3922 1 0 if $Spew
3943 0 2 unless my $bufr_edition = $self->{'BUFR_EDITION'}
3948 0 2 if ($bufr_edition < 4) { }
2 0 elsif ($bufr_edition == 4) { }
3957 0 32 unless defined $self->{$key}
3960 0 2 if $Strict_checking
3964 0 2 if ($bufr_edition < 4) { }
2 0 elsif ($bufr_edition == 4) { }
3965 0 0 unless defined $self->{'LOCAL_USE'}
3981 0 0 $self->{'OPTIONAL_SECTION'} ? :
3999 0 2 $self->{'OPTIONAL_SECTION'} ? :
4001 0 2 if defined $self->{'LOCAL_USE'}
4005 0 2 if ($bufr_edition < 4)
4007 0 0 if ($sec1_len % 2)
4022 0 1 if ($self->{'OPTIONAL_SECTION'}) { }
4024 0 0 unless defined $self->{'SEC2_STREAM'}
4039 0 8 unless defined $self->{$key}
4067 0 2 if ($self->{'BUFR_EDITION'} < 4)
4069 0 0 if ($sec3_len % 2)
4090 0 1 unless @$desc_refs == $nsubsets + 1
4096 0 1 $self->{'COMPRESSED_DATA'} ? :
4117 0 1 unless $stationid_ref
4121 0 1 unless my $bufr_edition = $self->{'BUFR_EDITION'}
4131 0 1 if $Spew
4160 1 0 defined $delayed_repl_ref ? :
4163 1 0 unless ($self->{'DESCRIPTORS_EXPANDED'})
4165 0 1 unless $self->{'DESCRIPTORS_UNEXPANDED'}
4168 0 1 unless $self->{'D_TABLE'}
4170 1 0 if (exists $Descriptors_already_expanded{$alias}) { }
4195 2 128 if ($f == 1) { }
0 128 elsif ($f == 2) { }
4197 0 2 if ($x == 0)
4202 0 2 if $y > 0
4207 0 2 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
4209 2 0 if (@delayed_repl and /^03100(1|2)/)
4211 0 2 if not $factor =~ /^\d+$/ or $factor == 0
4216 0 2 if ($Spew)
4227 0 2 if $Spew
4230 2 0 if ($idesc < @desc) { }
4243 0 0 if $flow eq 'next'
4250 0 128 unless exists $B_table->{$id}
4252 0 128 if $Spew
4255 0 128 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
4256 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4257 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4262 0 0 if defined $self->{'CHANGE_SCALE'}
4263 0 0 if defined $self->{'CHANGE_WIDTH'}
4268 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
4270 0 128 if $width <= 0
4272 3 125 if ($stationid_ref->{$id}) { }
4274 0 3 if $Spew
4275 1 2 if ($unit eq 'CCITTIA5') { }
4279 0 1 if length $value > $num_bytes
4286 0 2 if $value < 0
4298 0 1 $self->{'BUFR_EDITION'} < 4 ? :
4299 1 0 if ($padnum > 0)
4323 1 0 if (exists $Descriptors_already_expanded{$alias}) { }
4338 3 0 if $Spew
4365 6 346 if ($f == 1) { }
0 346 elsif ($f == 2) { }
4367 0 6 if ($x == 0)
4372 0 6 if $y > 0
4377 0 6 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
4378 0 6 if $desc_ref->[$idesc] != $next_id
4382 6 0 if ($Spew)
4396 0 6 if ($next_id eq '031011' or $next_id eq '031012') { }
4402 0 0 if $Spew
4404 6 0 if $Spew
4406 6 0 if ($idesc < @desc) { }
4418 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
4424 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
4442 0 0 if $desc_ref->[$idesc] != $id
4459 0 0 if $flow eq 'next'
4460 0 0 if $flow eq 'last'
4463 0 346 if ($self->{'CHANGE_REFERENCE_VALUE'})
4467 0 0 if $id =~ /^9/
4468 0 0 if $f > 0
4481 0 346 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
4483 0 0 if $desc_ref->[$idesc] != 999999
4490 0 0 if $Spew
4506 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
4509 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
4511 0 0 unless defined $data_idesc
4517 0 0 unless defined $data_idesc
4527 0 346 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 692 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
4532 0 0 if (defined $value and $value == 0)
4536 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
4538 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
4545 0 0 if $i < 0
4550 0 0 if $self->{'BITMAP_START'}[$numb] < 0
4557 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
4563 0 346 unless exists $desc_ref->[$idesc]
4565 0 346 if $desc_ref->[$idesc] != $id
4570 0 346 unless exists $B_table->{$id}
4573 0 346 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4574 346 0 if ($Spew)
4576 139 207 defined $value ? :
4581 0 346 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4582 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4583 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4588 0 0 if defined $self->{'CHANGE_SCALE'}
4589 0 0 if defined $self->{'CHANGE_WIDTH'}
4594 0 0 if $width <= 0
4596 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4598 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4612 207 139 if (not defined $value) { }
3 136 elsif ($unit eq 'CCITTIA5') { }
4619 0 3 if length $value > $num_bytes
4626 0 136 unless &looks_like_number($value)
4629 0 136 if $value < 0
4631 0 136 if $value > $max_value
4634 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4651 0 1 $self->{'BUFR_EDITION'} < 4 ? :
4652 1 0 if ($padnum > 0)
4673 0 0 if $Spew
4675 0 0 if ($refval >= 0) { }
4676 0 0 if $refval > 2 ** $width - 1
4683 0 0 if -$refval > 2 ** ($width - 1) - 1
4699 0 6 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4700 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4701 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4706 0 0 if defined $self->{'CHANGE_SCALE'}
4707 0 0 if defined $self->{'CHANGE_WIDTH'}
4712 0 0 if $width <= 0
4714 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4716 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4730 0 6 if (not defined $value) { }
0 6 elsif ($unit eq 'CCITTIA5') { }
4737 0 0 if length $value > $num_bytes
4744 0 6 unless &looks_like_number($value)
4747 0 6 if $value < 0
4749 0 6 if $value > $max_value
4752 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4778 0 0 if $Spew
4781 0 0 if ($refval >= 0) { }
4782 0 0 if $refval > 2 ** $width - 1
4788 0 0 if -$refval > 2 ** ($width - 1) - 1
4807 0 0 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4808 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4809 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4814 0 0 if defined $self->{'CHANGE_SCALE'}
4815 0 0 if defined $self->{'CHANGE_WIDTH'}
4820 0 0 if $width <= 0
4821 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
4823 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4842 0 0 if (defined $value and $unit ne 'CCITTIA5' and not &looks_like_number($value))
4846 0 0 if ($all_equal)
4847 0 0 if (defined $value and defined $first_value) { }
0 0 elsif (defined $value or defined $first_value) { }
4848 0 0 if ($unit eq 'CCITTIA5') { }
4849 0 0 if $value ne $first_value
4851 0 0 if $value != $first_value
4857 0 0 if (not defined $value) { }
0 0 elsif ($unit eq 'CCITTIA5') { }
4865 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1)
4866 0 0 if (defined $value and $value ne 'missing' and $value % 2)
4875 0 0 if ($all_equal) { }
4877 0 0 if (defined $first_value) { }
4878 0 0 if ($unit eq 'CCITTIA5') { }
4882 0 0 if length $first_value > $num_bytes
4888 0 0 unless &looks_like_number($first_value)
4891 0 0 if $first_value < 0
4893 0 0 if $first_value > 2 ** $width - 1
4907 0 0 if ($unit eq 'CCITTIA5') { }
4920 0 0 if (defined $value) { }
4930 0 0 if defined $first_value and not &looks_like_number($first_value)
4932 0 0 defined $first_value ? :
4937 0 0 if $min_value < 0
4940 0 0 defined $_ ? :
4946 0 0 $id eq '999999' ? :
4950 0 0 if $Spew
4954 0 0 if $Spew
4959 0 0 defined $inc_values[$_] ? :
0 0 if $Spew
4963 0 0 if (defined $value) { }
4964 0 0 if $Strict_checking and $value + $min_value > 2 ** $width - 1
4995 0 0 if (exists $Descriptors_already_expanded{$alias}) { }
5018 0 0 if $num_d != $num_desc
5030 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
5032 0 0 if ($x == 0)
5037 0 0 if $y > 0
5042 0 0 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
5043 0 0 if $desc_ref->[$idesc] != $next_id
5047 0 0 if ($Spew)
5062 0 0 if ($next_id eq '031011' or $next_id eq '031012') { }
5068 0 0 if $Spew
5070 0 0 if $Spew
5072 0 0 if ($idesc < @desc) { }
5084 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
5090 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
5108 0 0 if $desc_ref->[$idesc] != $id
5127 0 0 if $flow eq 'next'
5128 0 0 if $flow eq 'last'
5131 0 0 if ($self->{'CHANGE_REFERENCE_VALUE'})
5135 0 0 if $id =~ /^9/
5136 0 0 if $f > 0
5142 0 0 if $val != $new_refval
5156 0 0 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
5158 0 0 if $desc_ref->[$idesc] != 999999
5165 0 0 if ($Spew)
5186 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
5189 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5191 0 0 unless defined $data_idesc
5197 0 0 unless defined $data_idesc
5205 0 0 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 0 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
5212 0 0 if ($data_refs->[1][$idesc] == 0)
5216 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
5218 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
5225 0 0 if $i < 0
5230 0 0 if $self->{'BITMAP_START'}[$numb] < 0
5237 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
5244 0 0 if $desc_ref->[$idesc] != $id
5249 0 0 unless exists $B_table->{$id}
5251 0 0 if ($Spew)
5254 0 0 defined $data_refs->[$_][$idesc] ? :
5265 0 0 $self->{'BUFR_EDITION'} < 4 ? :
5266 0 0 if ($padnum > 0)
5284 0 3 if ($comp_len > $actual_len) { }
5289 3 0 unless $Strict_checking
5291 0 0 if $Noqc
5295 0 0 if ($bufr_edition < 4 and $actual_bytes % 2)
5300 0 0 if $comp_len % 8
5301 0 0 if $bufr_edition < 4 and $comp_bytes % 2
5302 0 0 if ($actual_bytes > $comp_bytes)
5314 0 7 unless defined $str
5315 0 7 if ($str =~ /\0/) { }
0 14 elsif ($Strict_checking and $str =~ /^ +$/) { }
5328 0 7 if ($Strict_checking and $str ne '')
5330 0 0 if (ord $char > 127)
5347 0 0 if (defined $string)
5350 0 0 if (length $string > $largest_length)
5356 0 0 if (defined $string)
5368 0 0 $bufr_edition < 4 ? :
5370 0 0 $bufr_edition == 4 ? :
5374 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
5382 0 0 if $@
5389 0 0 if $n == 0
5396 0 0 $x == $n ? :
5409 0 0 unless defined $v
5410 0 0 if ($v < $min)
5423 0 0 unless defined $v
5424 0 0 if ($v > $max)
5428 0 0 if $max < 0
5436 2 3 if ($list->[$i] eq $value)
5455 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) { }
5458 0 0 if $Strict_checking and not grep({$_ == $x;} @operators)
5460 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) { }
5461 0 0 if $self->{'CHANGE_WIDTH'}
5464 0 0 if $self->{'CHANGE_SCALE'}
5467 0 0 if $self->{'NEW_REFVAL_OF'}
5470 0 0 if $self->{'CHANGE_SRW'}
5473 0 0 if $self->{'CHANGE_CCITTIA5_WIDTH'}
5476 0 0 if $Spew
5483 0 0 if grep {$_ == 7;} @operators
5484 0 0 unless $self->{'CHANGE_WIDTH'}
5486 0 0 if $Spew
5492 0 0 if grep {$_ == 7;} @operators
5493 0 0 unless $self->{'CHANGE_SCALE'}
5495 0 0 if $Spew
5502 0 0 defined $self->{'CHANGE_REFERENCE_VALUE'} ? :
0 0 if $Spew
5504 0 0 unless defined $self->{'CHANGE_REFERENCE_VALUE'}
5510 0 0 if grep {$_ == 7;} @operators
5511 0 0 if $Spew
5513 0 0 unless $self->{'CHANGE_REFERENCE_VALUE'}
5519 0 0 if ($y > 0) { }
5521 0 0 if $self->{'ADD_ASSOCIATED_FIELD'}
5526 0 0 unless defined $self->{'ADD_ASSOCIATED_FIELD'}
5543 0 0 if $ff != 0
5546 0 0 if ($Strict_checking)
5549 0 0 if $xx < 48 and $yy < 192
5553 0 0 if (exists $self->{'B_TABLE'}{$next_id} and (split(/\0/, $self->{'B_TABLE'}{$next_id}, 0))[-1] == $y) { }
5555 0 0 if $Spew
5559 0 0 if $self->{'CODING'} eq 'ENCODE'
5560 0 0 if $Spew
5569 0 0 unless $_ == 1 or $_ == 2
0 0 if grep {$_ == 3 unless $_ == 1 or $_ == 2;} @operators
5570 0 0 unless $self->{'CHANGE_SRW'}
5572 0 0 if $Spew
5577 0 0 unless $self->{'CHANGE_CCITTIA5_WIDTH'}
5579 0 0 if $Spew
5595 0 0 $Noqc ? :
5612 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '223000'
5613 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5615 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5619 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5635 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '224000'
5636 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5638 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5642 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5658 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '225000'
5659 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5661 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5665 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5669 0 0 unless $self->{'DIFFERENCE_STATISTICAL_VALUE'}
5688 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '232000'
5689 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5691 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5695 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5713 0 0 unless defined $self->{'BITMAPS'}
5720 0 0 unless defined $self->{'REUSE_BITMAP'}
5759 2 1 if (ref $arg eq 'Geo::BUFR') { }
1 0 elsif (ref $arg eq 'ARRAY') { }
5763 0 1 unless $last_arg_was_bufr
5778 1 1 if (not exists $subset_list[$i]) { }
5781 1 1 unless $data
5782 1 0 if $Spew
5791 1 3 unless $data
5793 2 1 if (defined $index)
5794 2 0 if $Spew
5804 0 1 if $num_found != @{$subset_list[$i];}