Branch Coverage

blib/lib/Geo/BUFR.pm
Criterion Covered Total %
branch 398 1906 20.8


line true false branch
170 0 0 if ($Strict_checking == 1) { }
0 0 elsif ($Strict_checking > 1) { }
181 1714 7 if (ref $self) { }
183 1662 52 if $level > $self->{'VERBOSE'} and $level > $Verbose
185 3 4 if $level > $Verbose
188 28 28 if (@_) { }
229 2 4 if (@_ % 2)
250 0 2 unless ref $bufr eq 'Geo::BUFR'
253 2 0 if ($what eq 'metadata') { }
0 0 elsif ($what eq 'all') { }
263 50 0 if (exists $bufr->{$_}) { }
267 0 0 if exists $self->{$_}
273 0 0 if ($key eq 'FILEHANDLE') { }
0 0 elsif (ref $value and not $key =~ /[BCD]_TABLE/) { }
302 0 1 if (ref $self) { }
311 1 0 if $verbose > 1
319 1 0 defined $n ? :
328 0 0 defined $n ? :
337 0 0 unless defined $n
348 0 0 defined $n ? :
356 0 0 unless defined $bufr_edition
358 0 0 unless $bufr_edition =~ /^\d+$/
360 0 0 unless $bufr_edition >= 0 and $bufr_edition < 5
368 0 0 defined $self->{'BUFR_EDITION'} ? :
372 0 0 unless defined $master_table
374 0 0 unless $master_table =~ /^\d+$/
377 0 0 if $master_table > 255
384 0 0 defined $self->{'MASTER_TABLE'} ? :
388 0 0 unless defined $centre
390 0 0 unless $centre =~ /^\d+$/
393 0 0 if $centre > 65535
400 0 0 defined $self->{'CENTRE'} ? :
404 0 0 unless defined $subcentre
406 0 0 unless $subcentre =~ /^\d+$/
408 0 0 if $subcentre > 65535
415 0 0 defined $self->{'SUBCENTRE'} ? :
419 0 0 unless defined $update_number
421 0 0 unless $update_number =~ /^\d+$/
423 0 0 if $update_number > 255
430 0 0 defined $self->{'UPDATE_NUMBER'} ? :
434 0 0 unless defined $optional_section
436 0 0 unless $optional_section eq '0' or $optional_section eq '1'
443 0 0 defined $self->{'OPTIONAL_SECTION'} ? :
447 0 0 unless defined $data_category
449 0 0 unless $data_category =~ /^\d+$/
451 0 0 if $data_category > 255
458 0 0 defined $self->{'DATA_CATEGORY'} ? :
462 0 0 unless defined $int_data_subcategory
464 0 0 unless $int_data_subcategory =~ /^\d+$/
466 0 0 if $int_data_subcategory > 255
473 0 0 defined $self->{'INT_DATA_SUBCATEGORY'} ? :
477 0 0 unless defined $loc_data_subcategory
479 0 0 unless $loc_data_subcategory =~ /^\d+$/
481 0 0 if $loc_data_subcategory > 255
488 0 0 defined $self->{'LOC_DATA_SUBCATEGORY'} ? :
492 0 0 unless defined $data_subcategory
494 0 0 unless $data_subcategory =~ /^\d+$/
496 0 0 if $data_subcategory > 255
503 0 0 defined $self->{'DATA_SUBCATEGORY'} ? :
507 0 0 unless defined $master_table_version
509 0 0 unless $master_table_version =~ /^\d+$/
511 0 0 if $master_table_version > 255
519 0 0 defined $self->{'MASTER_TABLE_VERSION'} ? :
523 0 0 unless defined $local_table_version
525 0 0 unless $local_table_version =~ /^\d+$/
527 0 0 if $local_table_version > 255
535 0 0 defined $self->{'LOCAL_TABLE_VERSION'} ? :
539 0 0 unless defined $year_of_century
541 0 0 unless $year_of_century =~ /^\d+$/
543 0 0 if $year_of_century > 100
546 0 0 $year_of_century == 0 ? :
551 0 0 if (defined $self->{'YEAR_OF_CENTURY'}) { }
0 0 elsif (defined $self->{'YEAR'}) { }
555 0 0 $yy == 0 ? :
562 0 0 unless defined $year
564 0 0 unless $year =~ /^\d+$/
566 0 0 if $year > 65535
573 0 0 defined $self->{'YEAR'} ? :
577 0 0 unless defined $month
579 0 0 unless $month =~ /^\d+$/
581 0 0 if $month == 0 or $month > 12
588 0 0 defined $self->{'MONTH'} ? :
592 0 0 unless defined $day
594 0 0 unless $day =~ /^\d+$/
596 0 0 if $day == 0 or $day > 31
603 0 0 defined $self->{'DAY'} ? :
607 0 0 unless defined $hour
609 0 0 unless $hour =~ /^\d+$/
611 0 0 if $hour > 23
618 0 0 defined $self->{'HOUR'} ? :
622 0 0 unless defined $minute
624 0 0 unless $minute =~ /^\d+$/
626 0 0 if $minute > 59
633 0 0 defined $self->{'MINUTE'} ? :
637 0 0 unless defined $second
639 0 0 unless $second =~ /^\d+$/
641 0 0 if $second > 59
648 0 0 defined $self->{'SECOND'} ? :
652 0 0 unless defined $local_use
659 0 0 defined $self->{'LOCAL_USE'} ? :
663 0 2 unless defined $number_of_subsets
665 0 2 unless $number_of_subsets =~ /^\d+$/
667 0 2 if $number_of_subsets > 65535
674 0 0 defined $self->{'NUM_SUBSETS'} ? :
678 0 0 unless defined $observed_data
680 0 0 unless $observed_data eq '0' or $observed_data eq '1'
687 0 0 defined $self->{'OBSERVED_DATA'} ? :
691 0 2 unless defined $compressed_data
693 0 2 unless $compressed_data eq '0' or $compressed_data eq '1'
697 0 0 if $compressed_data and defined $self->{'NUM_SUBSETS'} and $self->{'NUM_SUBSETS'} == 1
703 0 0 defined $self->{'COMPRESSED_DATA'} ? :
707 0 0 unless defined $descriptors_unexpanded
715 0 0 defined $self->{'DESCRIPTORS_UNEXPANDED'} ? :
723 6 0 defined $self->{'CURRENT_SUBSET'} ? :
728 0 0 defined $self->{'CURRENT_MESSAGE'} ? :
733 4 1 defined $self->{'CURRENT_AHL'} ? :
739 0 0 defined $n ? :
746 0 0 defined $self->{'REUSED_CURRENT_AHL'} ? :
753 0 0 if (ref $cb eq 'CODE') { }
765 0 0 defined $self->{'IS_FILTERED'} ? :
770 9 0 defined $self->{'BAD_LENGTH'} ? :
777 0 0 unless defined $format
779 0 0 unless uc $format eq 'BUFRDC' or uc $format eq 'ECCODES'
788 0 0 exists $BUFR_table{'FORMAT'} ? :
806 0 0 if (exists $BUFR_table{'PATH'}) { }
807 0 0 wantarray ? :
824 2 5 if ($table)
825 2 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
827 0 2 if ($table =~ /wmo/ or $table =~ /local/)
836 0 0 unless $table =~ /wmo/ or $table =~ /local/
846 0 20 unless defined $self->{$metadata}
854 0 5 if ($local_table_version == 0 or $local_table_version == 255)
862 5 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
867 0 0 if ($local_table_version == 0) { }
888 0 5 unless $BUFR_table{'PATH'}
892 5 0 if (-e catfile($_, $fname))
899 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC')
903 0 0 if ($path)
920 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
921 0 0 if length $fname < 20
927 0 0 unless defined $self->{$metadata}
931 0 0 if $master_table eq $fname
935 0 0 if (-e catfile($_, $master_table))
951 0 2 unless my($path, $tname) = $self->_locate_table($fname)
957 0 2 if ($tname ne $fname)
959 0 0 if exists $BUFR_table{"B$master_version"}
963 0 2 unless open my $TABLE, '<', $tablefile
967 0 2 if $self->{'LOCAL_TABLES_NOT_FOUND'}
974 0 2748 unless defined $bits
993 0 0 unless ($path)
994 0 0 if ($version =~ /wmo/) { }
1007 0 0 unless open my $TABLE, '<', $tablefile
1014 0 0 if /^#/
1019 0 0 unless defined $width
1020 0 0 if $unit eq 'CCITT IA5'
1042 0 2 unless my($path, $tname) = $self->_locate_table($fname)
1048 0 2 if ($tname ne $fname)
1050 0 0 if exists $BUFR_table{"D$master_version"}
1054 0 2 unless open my $TABLE, '<', $tablefile
1058 0 2 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1064 0 7422 if $line =~ /^\s*$/
1066 6594 828 if (substr($line, 0, 5) eq ' ') { }
1090 0 0 unless ($path)
1091 0 0 if ($version =~ /wmo/) { }
1104 0 0 unless open my $TABLE, '<', $tablefile
1125 0 0 if (substr($_, 0, 1) eq '"') { }
1127 0 0 if $txt
1135 0 0 if $txt
1167 0 1 if ($BUFR_table{'FORMAT'} eq 'ECCODES')
1168 0 0 if ($version =~ /,/) { }
1180 0 1 unless $path
1184 0 1 if ($tname ne $fname)
1186 0 0 if exists $BUFR_table{"C$master_version"}
1190 0 1 unless open my $TABLE, '<', $tablefile
1194 0 1 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1200 0 4751 if $line =~ /^\s*$/
1202 535 4216 if (substr($line, 0, 15) eq ' ') { }
3882 334 elsif (substr($line, 0, 10) eq ' ') { }
1204 0 535 if $line eq 'NOT DEFINED' or $line eq 'RESERVED'
1210 52 3829 if not defined $txt or $txt eq 'NOT DEFINED' or $txt eq 'RESERVED'
1217 2 332 if defined $C_table{$table}
1219 29 305 if not defined $txt or $txt eq 'NOT DEFINED' or $txt eq 'RESERVED'
1234 0 0 unless ($path)
1235 0 0 if ($version =~ /wmo/) { }
1236 0 0 if not $path and $version =~ /wmo/
1249 0 0 unless chdir $tabledir
1255 0 0 if @table_files
1260 0 0 unless $table
1263 0 0 unless open my $IN, '<', $table_file
1268 0 0 if $Strict_checking and $num ne $val
1281 0 0 if $Strict_checking and not $C_table{$table}
1301 0 6 unless my $version = $self->{'TABLE_VERSION'} = $self->get_table_version($table)
1304 6 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1308 0 0 if ($version =~ /,/) { }
1314 0 0 exists $BUFR_table{"B$local"} ? :
1317 0 0 exists $BUFR_table{"D$local"} ? :
1335 0 0 unless $version or $default_table
1338 1 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
0 0 elsif ($BUFR_table{'FORMAT'} eq 'ECCODES') { }
1341 0 0 if ($version =~ /,/) { }
1346 0 0 exists $BUFR_table{"C$local"} ? :
1355 0 1 if ($default_table and not $self->{'C_TABLE'})
1358 0 0 unless $version
1360 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1366 0 1 unless ($self->{'C_TABLE'})
1367 0 0 if ($BUFR_table{'FORMAT'} eq 'BUFRDC') { }
1381 0 1 unless my $filename = shift()
1383 0 1 unless -e $filename
1384 0 1 unless -f $filename
1388 0 1 unless open $self->{'FILEHANDLE'}, '<', $filename
1402 0 0 if ($self->{'FILEHANDLE'})
1404 0 0 unless close $self->{'FILEHANDLE'}
1422 2 2 if (exists $self->{'FILEHANDLE'}) { }
0 2 elsif (not $self->{'IN_BUFFER'}) { }
1423 0 2 unless seek $self->{'FILEHANDLE'}, 0, 0
1450 3 11 $self->{'FILEHANDLE'} ? :
1451 11 3 $self->{'IN_BUFFER'} ? :
1452 0 14 unless $filehandle or $in_buffer
1458 10 4 defined $self->{'POS'} ? :
1461 3 11 if $pos < 0
1463 6 5 if ($ahl) { }
5 0 elsif (not $Reuse_current_ahl) { }
0 0 elsif (defined $self->{'CURRENT_AHL'}) { }
1476 2 9 if $Spew
1480 2 9 if ($filehandle) { }
1481 0 2 if (read($filehandle, $sec0, 8) != 8)
1488 0 9 if (length $in_buffer < $pos + 8)
1500 2 9 if $Spew
1501 0 11 if $edition < 2 or $edition > 4
1506 2 9 if ($filehandle) { }
1507 0 2 if (read($filehandle, $msg, $length - 8) != $length - 8) { }
1521 0 2 if (substr($msg, -4) ne '7777')
1528 0 9 if (length $in_buffer < $pos + $length) { }
1538 3 6 if (substr($msg, -4) ne '7777')
1545 2 9 if ($Spew)
1546 2 0 if ($msgisOK) { }
1575 3 11 if ($filehandle) { }
1580 1 2 if (CORE::eof $filehandle or substr($slurp, -4) ne 'BUFR') { }
1590 0 2 if ($slurp =~ /($ahl_regex)((?:\r\r)?\n+BUFR)$/)
1595 0 0 if $at eq 'at_ahl'
1597 0 0 if $Spew
1606 2 9 if ($new_pos < 0) { }
1609 6 3 if (substr($in_buffer, $pos, $new_pos - $pos) =~ /($ahl_regex)((?:\r\r)?\n+)$/)
1611 0 6 if $Spew
1612 0 6 if ($at eq 'at_ahl')
1619 3 11 if ($self->{'EOF'})
1620 0 3 if ($pos == 0)
1621 0 0 if ($filehandle) { }
1623 0 0 if $Spew
1625 0 0 if $Spew
1631 11 0 wantarray ? :
1638 0 5 if ($self->{'BAD_LENGTH'} or $self->{'ERROR_IN_MESSAGE'})
1642 0 5 unless ($self->{'FILEHANDLE'} or $self->{'IN_BUFFER'})
1646 0 5 unless (exists $self->{'START_POS'} and $self->{'BUFR_LENGTH'})
1652 0 5 if (exists $self->{'FILEHANDLE'}) { }
5 0 elsif (exists $self->{'IN_BUFFER'}) { }
1681 2 9 if $Spew
1685 2 9 if $Spew
1688 0 11 if ($self->{'BUFR_EDITION'} < 4) { }
11 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
1694 0 0 if $sec1[0] < 17
1698 0 0 if $sec1[0] > length $self->{'BUFR_STREAM'}
1728 0 11 if $sec1[0] < 22
1732 0 11 if $sec1[0] > length $self->{'BUFR_STREAM'}
1754 0 11 $sec1[0] > 22 ? :
1761 2 9 if $Spew
1762 2 9 if $Spew
1764 0 11 if $Strict_checking
1768 2 9 if $Spew
1770 0 11 if ($self->{'OPTIONAL_SECTION'}) { }
1774 0 0 if $sec2[0] < 4
1778 0 0 if $sec2[0] > length $self->{'BUFR_STREAM'}
1784 0 0 if $Spew
1792 2 9 if $Spew
1797 0 11 if $sec3[0] < 8
1801 0 11 if $sec3[0] > length $self->{'BUFR_STREAM'}
1813 2 9 if $Spew
1815 2 9 if $Spew
1817 0 11 if $Strict_checking and $self->{'NUM_SUBSETS'} == 0
1818 0 11 if $Strict_checking and ($sec3[3] & 63) != 0
1820 8 3 if ($Spew == 6 or $Nodata)
1822 8 0 @unexpanded ? :
1828 0 11 defined $self->{'FILTER_CB'} ? :
1829 8 3 if $self->{'IS_FILTERED'} or $Nodata
1833 2 1 if $Spew
1836 2 1 if $Spew
1839 0 3 if $sec4_len < 4
1844 0 3 if $sec4_len > length $self->{'BUFR_STREAM'}
1852 2 1 if $Spew
1859 0 3 if ($len > 4 or $len == 4 and substr($str, 0, 4) ne '7777')
1864 0 0 if ($len > 4 and substr($str, 0, 4) eq '7777') { }
0 0 elsif ($len == 4 and substr($str, 0, 4) ne '7777') { }
1881 4 10 if $Spew
1893 11 3 if $msg
1895 0 14 if ($@)
1901 3 11 unless ($msg)
1903 2 1 if $Spew
1909 8 3 if $Nodata or $self->{'IS_FILTERED'}
1914 0 3 if ($@)
1921 0 3 unless defined $unexpanded[0]
1925 0 3 if $self->{'LOCAL_TABLES_NOT_FOUND'}
1927 2 1 if $Spew
1929 2 1 if $Spew
1931 2 1 if (exists $Descriptors_already_expanded{$alias}) { }
1938 0 1 if ($@)
1945 2 1 if $Spew
1947 0 3 if ($self->{'COMPRESSED_DATA'}) { }
1953 0 3 if ($@)
1971 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}) { }
1979 0 0 $BUFR_table{'FORMAT'} eq 'BUFRDC' ? :
1999 6 10 if $Spew
2004 0 16 if ($self->{'ERROR_IN_MESSAGE'})
2009 0 0 if $self->{'FILEHANDLE'}
2010 0 0 if $Spew
2016 0 0 if ($self->{'EOF'}) { }
2017 0 0 if $Spew
2025 10 2 if ($self->{'CURRENT_MESSAGE'} == 0 or $self->{'ERROR_IN_MESSAGE'} or $self->{'CURRENT_SUBSET'} >= $self->{'NUM_SUBSETS'})
2057 3 11 if $self->{'EOF'}
2059 8 3 if ($Nodata or $self->{'IS_FILTERED'})
2061 3 5 if ($self->{'BAD_LENGTH'})
2067 0 3 if $self->{'FILEHANDLE'}
2070 0 3 if $Spew
2081 0 5 if ($self->{'COMPRESSED_DATA'}) { }
2100 0 0 exists $options->{'bitmap'} ? :
2107 0 0 if ($current_subset_number == 1)
2109 0 0 defined $current_ahl ? :
2116 0 0 if ($current_subset_number > 0)
2118 0 0 $bitmap ? :
2129 0 2 unless $self->{'BUFR_LENGTH'}
2143 0 2 unless $self->{'SEC1_STREAM'}
2146 0 2 if ($self->{'BUFR_EDITION'} < 4) { }
2195 0 2 if $self->{'LOCAL_USE'} and length $self->{'LOCAL_USE'} > 1
2202 0 0 unless defined $self->{'SEC2'}
2205 0 0 unless defined $sec2_code_ref and ref $sec2_code_ref eq 'CODE'
2220 0 8 unless $self->{'SEC3_STREAM'}
2242 0 0 if ref $width or not $width =~ /^\d+$/
2256 0 0 defined $data->[$idx] ? :
2259 0 0 if ($f == 2) { }
0 0 elsif ($f == 9 and $id != 999999) { }
0 0 elsif ($id == 31031) { }
2260 0 0 if ($id =~ /^205/) { }
2266 0 0 if ($operator_name)
2281 0 0 if $value eq 'missing'
2284 0 0 unless exists $B_table->{$id}
2289 0 0 if ($unit_start eq 'CODE') { }
0 0 elsif ($unit_start eq 'FLAG') { }
2298 0 0 if ($Strict_checking and $short_unit eq 'FLAG TABLE' and $bits > 1)
2299 0 0 if ($value ne 'missing' and $value % 2)
2309 0 0 if ($C_table and $id != 31031 and $value ne 'missing')
2358 0 0 if ($OPERATOR_NAME_A{$id}) { }
0 0 elsif ($Show_all_operators) { }
2361 0 0 if ($OPERATOR_NAME_B{$id}) { }
2365 0 0 if ($OPERATOR_NAME_C{$fx})
2392 0 0 unless (defined $self->{'BITMAPS'})
2397 0 0 if $Show_all_operators
2408 0 0 if $self->{'COMPRESSED_DATA'}
2432 0 0 if substr($id, 0, 1) eq '2' and $id =~ /^22[2-5]/ || $id =~ /^232/
2436 0 0 defined $data->[$idx] ? :
2438 0 0 unless exists $B_table->{$id}
2448 0 0 if ($bitmap_array[$bitmap_num]{$idx}) { }
2451 0 0 defined $data->[$bitmapped_idesc] ? :
2453 0 0 if length $val > $max_len
2465 0 0 if ($unit_start eq 'CODE') { }
0 0 elsif ($unit_start eq 'FLAG') { }
2474 0 0 if ($Strict_checking and $short_unit eq 'FLAG TABLE' and $bits > 1)
2475 0 0 if ($value ne 'missing' and $value % 2)
2484 0 0 if ($C_table and $value ne 'missing')
2508 0 0 if ($unit =~ /^CODE[ ]?TABLE/i) { }
0 0 elsif ($unit =~ /^FLAG[ ]?TABLE/i) { }
2511 0 0 unless exists $C_table->{$code_table}
2512 0 0 if ($C_table->{$code_table}{$value})
2521 0 0 unless exists $C_table->{$flag_table}
2526 0 0 if $width > 32
2531 0 0 if (defined $check_illegal and $value > $max_value) { }
0 0 elsif ($value == $max_value) { }
2541 0 0 if (substr($bitstring, $i - 1, 1) == 1)
2544 0 0 if ($C_table->{$flag_table}{$i}) { }
2555 0 0 if (defined $check_illegal and $txt =~ /bit $width set/)
2567 5 6 @_ > 1 ? :
2578 0 150 unless $descriptor =~ /^\d{6}$/
2581 7 143 if ($f == 1) { }
29 114 elsif ($f == 3) { }
2584 5 2 if ($y > 0) { }
2586 0 5 if $di + $x + 1 > @_
2593 5 0 if @r
2599 0 2 if ($di + 2 == @_ and $_[$di + 1] =~ /^0310(00|01|02|11|12)$/)
2605 0 2 if $di + $x + 1 > @_
2608 0 2 unless $_[$di + 1] =~ /^0310(00|01|02|11|12)$/
2618 2 0 if @r
2627 0 29 unless exists $D_table->{$descriptor}
2659 0 0 unless /^\d+$/
2667 0 0 unless grep {$how eq $_;} @allowed_hows
2669 0 0 unless ($self->{'B_TABLE'})
2670 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2684 0 0 if (substr($id, 0, 1) eq '3')
2688 0 0 if ($need_Dtable and not $self->{'D_TABLE'}) { }
2689 0 0 if ($BUFR_table{'FORMAT'} eq 'ECCODES' and $self->{'LOCAL_TABLES_NOT_FOUND'}) { }
2702 0 0 if ($how eq 'simply' or $how eq 'partially')
2706 0 0 if ($f == 3) { }
2708 0 0 unless $D_table->{$id}
2714 0 0 if ($how eq 'simply') { }
2720 0 0 if ($how eq 'fully')
2721 0 0 if (@desc == 1 and $desc[0] =~ /^1/) { }
2730 0 0 if ($id =~ /^[123]/) { }
0 0 elsif ($B_table->{$id}) { }
2752 0 2 unless $desc =~ /^\d+$/
2755 0 2 unless defined $self->{'B_TABLE'}
2756 1 1 unless defined $self->{'B_TABLE'}{$desc}
2759 0 1 unless defined $width and $width =~ /\d+$/
2771 0 3 unless $desc =~ /^\d+$/
2773 0 3 unless defined $self->{'D_TABLE'}
2774 1 2 unless defined $self->{'D_TABLE'}{$desc}
2775 1 1 if (wantarray) { }
2788 0 0 if $value < 0
2809 0 1 unless $code_table =~ /^\d+$/
2816 1 0 unless $C_table->{$code_table}
2864 4 3 if $Spew
2884 14 782 if ($f == 1) { }
0 782 elsif ($f == 2) { }
2886 0 14 if ($x == 0)
2891 0 14 if $y > 0
2896 0 14 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
2905 0 14 unless (defined $factor)
2908 8 6 if ($Spew)
2909 0 8 if ($_ eq '031011' or $_ eq '031012') { }
2920 0 14 if ($_ eq '031011' or $_ eq '031012')
2930 0 14 if ($repeat_factor) { }
2934 0 0 if $Spew
2936 8 6 if $Spew
2938 14 0 if ($idesc < @desc) { }
2950 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
2956 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
2971 0 0 if ($Show_all_operators)
2997 0 0 if ($Show_all_operators) { }
3005 0 0 if $flow eq 'next'
3006 0 0 if $flow eq 'last'
3007 0 0 if ($flow eq 'skip')
3013 0 782 if ($self->{'CHANGE_REFERENCE_VALUE'})
3016 0 0 if $f > 0
3022 0 0 $new_refval & 1 << $num_bits - 1 ? :
3025 0 0 $new_refval > 0 ? :
0 0 if $Spew
3038 0 782 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
3044 0 0 unless defined $value
3048 0 0 if $Spew
3059 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
3062 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
3064 0 0 unless defined $data_idesc
3070 0 0 unless defined $data_idesc
3080 0 782 unless exists $B_table->{$id}
3082 455 327 if $Spew
3085 0 782 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3086 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3087 0 0 if (defined $self->{'CHANGE_SRW'}) { }
3092 0 0 if defined $self->{'CHANGE_SCALE'}
3093 0 0 if defined $self->{'CHANGE_WIDTH'}
3101 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
3103 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3110 0 782 if $width <= 0
3113 7 775 if ($unit eq 'CCITTIA5') { }
3115 0 7 if $width % 8
3118 4 0 defined $value ? :
4 3 if $Spew
3123 402 373 if (defined $value)
3126 318 84 $scale <= 0 ? :
3129 202 249 defined $value ? :
451 324 if $Spew
3135 0 782 if ($repeat_X)
3140 0 0 if (--$repeat_X == 0)
3152 0 782 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 1564 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3157 0 0 if (defined $value)
3161 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3163 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3170 0 0 if $i < 0
3175 0 0 if $self->{'BITMAP_START'}[$numb] < 0
3182 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3230 0 0 if $nsubsets == 1
3249 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
3251 0 0 if ($x == 0)
3256 0 0 if $y > 0
3261 0 0 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
3271 0 0 unless (defined $factor)
3281 0 0 if ($_ eq '031011' or $_ eq '031012') { }
3286 0 0 if $Spew
3288 0 0 if $Spew
3293 0 0 if ($Spew)
3294 0 0 if ($repeat_factor) { }
3301 0 0 if ($idesc < @desc) { }
3313 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
3319 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
3334 0 0 if ($Show_all_operators)
3360 0 0 if ($Show_all_operators) { }
3370 0 0 if $flow eq 'next'
3371 0 0 if $flow eq 'last'
3372 0 0 if ($flow eq 'skip')
3378 0 0 if ($self->{'CHANGE_REFERENCE_VALUE'})
3381 0 0 if $f > 0
3387 0 0 $new_refval & 1 << $num_bits - 1 ? :
3390 0 0 $new_refval > 0 ? :
0 0 if $Spew
3405 0 0 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
3417 0 0 if ($repeat_X)
3424 0 0 if (--$repeat_X == 0)
3463 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
3466 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
3468 0 0 unless defined $data_idesc
3474 0 0 unless defined $data_idesc
3484 0 0 if ($id == 999999) { }
0 0 elsif ($id =~ /^205(\d\d\d)/) { }
3498 0 0 unless exists $B_table->{$id}
3502 0 0 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
3503 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
3504 0 0 if (defined $self->{'CHANGE_SRW'}) { }
3509 0 0 if defined $self->{'CHANGE_SCALE'}
3510 0 0 if defined $self->{'CHANGE_WIDTH'}
3515 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
3517 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
3525 0 0 if $Spew
3526 0 0 if $width <= 0
3528 0 0 if ($unit eq 'CCITTIA5') { }
3530 0 0 if $width % 8
3533 0 0 if ($Spew)
3534 0 0 if ($minval eq "\000" x ($width / 8)) { }
3543 0 0 if $Spew
3545 0 0 if ($deltabytes and defined $minval) { }
3550 0 0 if $Strict_checking and $minval ne "\000" x $nbytes
3556 0 0 if ($Spew)
3557 0 0 defined $string ? :
3564 0 0 if ($Spew)
3571 0 0 defined $minval ? :
3580 0 0 defined $subset_data_ref->[$_][-1] ? :
0 0 if $Spew
3585 0 0 if defined $minval
3587 0 0 if $Spew and defined $minval
3592 0 0 if $Spew
3594 0 0 if ($deltabits and defined $minval) { }
3599 0 0 if $Strict_checking and defined $value and $value + $minval > 2 ** $width
3603 0 0 defined $value ? :
0 0 if $Spew
3604 0 0 if (defined $value)
3607 0 0 $scale <= 0 ? :
3612 0 0 if ($id == 999999 and not defined $value)
3618 0 0 if ($Spew)
3626 0 0 if (defined $minval)
3629 0 0 $scale <= 0 ? :
3634 0 0 if ($id == 999999 and not defined $value)
3640 0 0 if defined $deltabits
3646 0 0 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 0 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
3647 0 0 if $deltabits
3652 0 0 if (defined $minval)
3656 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
3658 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
3665 0 0 if $i < 0
3668 0 0 if ($Show_all_operators) { }
3676 0 0 if $self->{'BITMAP_START'}[$numb] < 0
3683 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
3689 0 0 defined $subset_data_ref->[$_][-1] ? :
0 0 if $Spew
3731 0 0 if $i >= @lines - 1
3736 0 0 unless defined $self->{'BUFR_EDITION'}
3740 0 0 if $i >= @lines
3742 0 0 if ($self->{'BUFR_EDITION'} < 4) { }
0 0 elsif ($self->{'BUFR_EDITION'} == 4) { }
3772 0 0 unless defined $self->{'MINUTE'}
3807 0 0 unless defined $self->{'SECOND'}
3812 0 0 if $i >= @lines
3818 0 0 if $self->{'NUM_SUBSETS'} == 0
3826 0 0 unless defined $self->{'DESCRIPTORS_UNEXPANDED'}
3833 0 0 if /^$/ or /^Subset/
3834 0 0 if /^Message/
3837 0 0 unless /^\d/
3839 0 0 if $n == 1
3840 0 0 if (defined $value) { }
3842 0 0 if $value eq '' or $value eq 'missing'
3854 0 0 if ($self->{'OPTIONAL_SECTION'})
3873 0 1 unless $desc_refs
3876 1 0 if $Spew
3880 1 0 if $Spew
3884 1 0 if $Spew
3905 0 2 unless my $bufr_edition = $self->{'BUFR_EDITION'}
3910 0 2 if ($bufr_edition < 4) { }
2 0 elsif ($bufr_edition == 4) { }
3919 0 32 unless defined $self->{$key}
3922 0 2 if $Strict_checking
3926 0 2 if ($bufr_edition < 4) { }
2 0 elsif ($bufr_edition == 4) { }
3927 0 0 unless defined $self->{'LOCAL_USE'}
3943 0 0 $self->{'OPTIONAL_SECTION'} ? :
3961 0 2 $self->{'OPTIONAL_SECTION'} ? :
3963 0 2 if defined $self->{'LOCAL_USE'}
3967 0 2 if ($bufr_edition < 4)
3969 0 0 if ($sec1_len % 2)
3984 0 1 if ($self->{'OPTIONAL_SECTION'}) { }
3986 0 0 unless defined $self->{'SEC2_STREAM'}
4001 0 8 unless defined $self->{$key}
4029 0 2 if ($self->{'BUFR_EDITION'} < 4)
4031 0 0 if ($sec3_len % 2)
4052 0 1 unless @$desc_refs == $nsubsets + 1
4058 0 1 $self->{'COMPRESSED_DATA'} ? :
4079 0 1 unless $stationid_ref
4083 0 1 unless my $bufr_edition = $self->{'BUFR_EDITION'}
4093 0 1 if $Spew
4122 1 0 defined $delayed_repl_ref ? :
4125 1 0 unless ($self->{'DESCRIPTORS_EXPANDED'})
4127 0 1 unless $self->{'DESCRIPTORS_UNEXPANDED'}
4130 0 1 unless $self->{'D_TABLE'}
4132 1 0 if (exists $Descriptors_already_expanded{$alias}) { }
4157 2 128 if ($f == 1) { }
0 128 elsif ($f == 2) { }
4159 0 2 if ($x == 0)
4164 0 2 if $y > 0
4169 0 2 unless /^0310(00|01|02|11|12)/ and exists $B_table->{$_}
4171 2 0 if (@delayed_repl and /^03100(1|2)/)
4173 0 2 if not $factor =~ /^\d+$/ or $factor == 0
4178 0 2 if ($Spew)
4189 0 2 if $Spew
4192 2 0 if ($idesc < @desc) { }
4205 0 0 if $flow eq 'next'
4212 0 128 unless exists $B_table->{$id}
4214 0 128 if $Spew
4217 0 128 if ($self->{'NUM_CHANGE_OPERATORS'} > 0)
4218 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4219 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4224 0 0 if defined $self->{'CHANGE_SCALE'}
4225 0 0 if defined $self->{'CHANGE_WIDTH'}
4230 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
4232 0 128 if $width <= 0
4234 3 125 if ($stationid_ref->{$id}) { }
4236 0 3 if $Spew
4237 1 2 if ($unit eq 'CCITTIA5') { }
4241 0 1 if length $value > $num_bytes
4248 0 2 if $value < 0
4260 0 1 $self->{'BUFR_EDITION'} < 4 ? :
4261 1 0 if ($padnum > 0)
4285 1 0 if (exists $Descriptors_already_expanded{$alias}) { }
4300 3 0 if $Spew
4327 6 346 if ($f == 1) { }
0 346 elsif ($f == 2) { }
4329 0 6 if ($x == 0)
4334 0 6 if $y > 0
4339 0 6 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
4340 0 6 if $desc_ref->[$idesc] != $next_id
4344 6 0 if ($Spew)
4358 0 6 if ($next_id eq '031011' or $next_id eq '031012') { }
4364 0 0 if $Spew
4366 6 0 if $Spew
4368 6 0 if ($idesc < @desc) { }
4380 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
4386 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
4404 0 0 if $desc_ref->[$idesc] != $id
4421 0 0 if $flow eq 'next'
4422 0 0 if $flow eq 'last'
4425 0 346 if ($self->{'CHANGE_REFERENCE_VALUE'})
4429 0 0 if $id =~ /^9/
4430 0 0 if $f > 0
4443 0 346 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
4445 0 0 if $desc_ref->[$idesc] != 999999
4452 0 0 if $Spew
4468 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
4471 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
4473 0 0 unless defined $data_idesc
4479 0 0 unless defined $data_idesc
4489 0 346 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 692 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
4494 0 0 if (defined $value and $value == 0)
4498 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
4500 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
4507 0 0 if $i < 0
4512 0 0 if $self->{'BITMAP_START'}[$numb] < 0
4519 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
4525 0 346 unless exists $desc_ref->[$idesc]
4527 0 346 if $desc_ref->[$idesc] != $id
4532 0 346 unless exists $B_table->{$id}
4535 0 346 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4536 346 0 if ($Spew)
4538 139 207 defined $value ? :
4543 0 346 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4544 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4545 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4550 0 0 if defined $self->{'CHANGE_SCALE'}
4551 0 0 if defined $self->{'CHANGE_WIDTH'}
4556 0 0 if $width <= 0
4558 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4560 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4574 207 139 if (not defined $value) { }
3 136 elsif ($unit eq 'CCITTIA5') { }
4581 0 3 if length $value > $num_bytes
4588 0 136 unless &looks_like_number($value)
4591 0 136 if $value < 0
4593 0 136 if $value > $max_value
4596 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4613 0 1 $self->{'BUFR_EDITION'} < 4 ? :
4614 1 0 if ($padnum > 0)
4635 0 0 if $Spew
4637 0 0 if ($refval >= 0) { }
4638 0 0 if $refval > 2 ** $width - 1
4645 0 0 if -$refval > 2 ** ($width - 1) - 1
4661 0 6 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4662 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4663 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4668 0 0 if defined $self->{'CHANGE_SCALE'}
4669 0 0 if defined $self->{'CHANGE_WIDTH'}
4674 0 0 if $width <= 0
4676 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id} and defined $self->{'NEW_REFVAL_OF'}{$id}{$isub}
4678 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4692 0 6 if (not defined $value) { }
0 6 elsif ($unit eq 'CCITTIA5') { }
4699 0 0 if length $value > $num_bytes
4706 0 6 unless &looks_like_number($value)
4709 0 6 if $value < 0
4711 0 6 if $value > $max_value
4714 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1 and $value < $max_value and $value % 2)
4740 0 0 if $Spew
4743 0 0 if ($refval >= 0) { }
4744 0 0 if $refval > 2 ** $width - 1
4750 0 0 if -$refval > 2 ** ($width - 1) - 1
4769 0 0 if ($self->{'NUM_CHANGE_OPERATORS'} > 0 and $id != 999999)
4770 0 0 if ($unit ne 'CCITTIA5' and not $unit =~ /^(CODE|FLAG)/) { }
0 0 elsif ($unit eq 'CCITTIA5' and defined $self->{'CHANGE_CCITTIA5_WIDTH'}) { }
4771 0 0 if (defined $self->{'CHANGE_SRW'}) { }
4776 0 0 if defined $self->{'CHANGE_SCALE'}
4777 0 0 if defined $self->{'CHANGE_WIDTH'}
4782 0 0 if $width <= 0
4783 0 0 if defined $self->{'NEW_REFVAL_OF'}{$id}
4785 0 0 if ($self->{'DIFFERENCE_STATISTICAL_VALUE'})
4804 0 0 if (defined $value and $unit ne 'CCITTIA5' and not &looks_like_number($value))
4808 0 0 if ($all_equal)
4809 0 0 if (defined $value and defined $first_value) { }
0 0 elsif (defined $value or defined $first_value) { }
4810 0 0 if ($unit eq 'CCITTIA5') { }
4811 0 0 if $value ne $first_value
4813 0 0 if $value != $first_value
4819 0 0 if (not defined $value) { }
0 0 elsif ($unit eq 'CCITTIA5') { }
4827 0 0 if ($Strict_checking and $unit =~ /^FLAG[ ]?TABLE/ and $width > 1)
4828 0 0 if (defined $value and $value ne 'missing' and $value % 2)
4837 0 0 if ($all_equal) { }
4839 0 0 if (defined $first_value) { }
4840 0 0 if ($unit eq 'CCITTIA5') { }
4844 0 0 if length $first_value > $num_bytes
4850 0 0 unless &looks_like_number($first_value)
4853 0 0 if $first_value < 0
4855 0 0 if $first_value > 2 ** $width - 1
4869 0 0 if ($unit eq 'CCITTIA5') { }
4882 0 0 if (defined $value) { }
4892 0 0 if defined $first_value and not &looks_like_number($first_value)
4894 0 0 defined $first_value ? :
4899 0 0 if $min_value < 0
4902 0 0 defined $_ ? :
4908 0 0 $id eq '999999' ? :
4912 0 0 if $Spew
4916 0 0 if $Spew
4921 0 0 defined $inc_values[$_] ? :
0 0 if $Spew
4925 0 0 if (defined $value) { }
4926 0 0 if $Strict_checking and $value + $min_value > 2 ** $width - 1
4957 0 0 if (exists $Descriptors_already_expanded{$alias}) { }
4980 0 0 if $num_d != $num_desc
4992 0 0 if ($f == 1) { }
0 0 elsif ($f == 2) { }
4994 0 0 if ($x == 0)
4999 0 0 if $y > 0
5004 0 0 unless $next_id =~ /^0310(00|01|02|11|12)/ and exists $B_table->{$next_id}
5005 0 0 if $desc_ref->[$idesc] != $next_id
5009 0 0 if ($Spew)
5024 0 0 if ($next_id eq '031011' or $next_id eq '031012') { }
5030 0 0 if $Spew
5032 0 0 if $Spew
5034 0 0 if ($idesc < @desc) { }
5046 0 0 if ($flow eq 'redo_bitmap') { }
0 0 elsif ($flow eq 'signify_character') { }
0 0 elsif ($flow eq 'no_value') { }
5052 0 0 if (not defined $bm_idesc) { }
0 0 elsif (not $Show_all_operators) { }
5070 0 0 if $desc_ref->[$idesc] != $id
5089 0 0 if $flow eq 'next'
5090 0 0 if $flow eq 'last'
5093 0 0 if ($self->{'CHANGE_REFERENCE_VALUE'})
5097 0 0 if $id =~ /^9/
5098 0 0 if $f > 0
5104 0 0 if $val != $new_refval
5118 0 0 if ($self->{'ADD_ASSOCIATED_FIELD'} and $id ne '031021')
5120 0 0 if $desc_ref->[$idesc] != 999999
5127 0 0 if ($Spew)
5148 0 0 if (substr($id, 0, 3) eq '033' and defined $self->{'BITMAP_OPERATORS'} and $self->{'BITMAP_OPERATORS'}[-1] eq '222000')
5151 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5153 0 0 unless defined $data_idesc
5159 0 0 unless defined $data_idesc
5167 0 0 if ($id eq '031031' and $self->{'BUILD_BITMAP'}) { }
0 0 elsif ($self->{'BUILD_BITMAP'} and $self->{'BITMAP_INDEX'} > 0) { }
5174 0 0 if ($data_refs->[1][$idesc] == 0)
5178 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} == $self->{'NUM_BITMAPS'})
5180 0 0 if (not defined $self->{'BITMAP_START'}[$numb]) { }
5187 0 0 if $i < 0
5192 0 0 if $self->{'BITMAP_START'}[$numb] < 0
5199 0 0 if ($self->{'BACKWARD_DATA_REFERENCE'} != $self->{'NUM_BITMAPS'})
5206 0 0 if $desc_ref->[$idesc] != $id
5211 0 0 unless exists $B_table->{$id}
5213 0 0 if ($Spew)
5216 0 0 defined $data_refs->[$_][$idesc] ? :
5227 0 0 $self->{'BUFR_EDITION'} < 4 ? :
5228 0 0 if ($padnum > 0)
5246 0 3 if ($comp_len > $actual_len) { }
5251 3 0 unless $Strict_checking
5253 0 0 if $Noqc
5257 0 0 if ($bufr_edition < 4 and $actual_bytes % 2)
5262 0 0 if $comp_len % 8
5263 0 0 if $bufr_edition < 4 and $comp_bytes % 2
5264 0 0 if ($actual_bytes > $comp_bytes)
5276 0 7 unless defined $str
5277 0 7 if ($str =~ /\0/) { }
0 14 elsif ($Strict_checking and $str =~ /^ +$/) { }
5290 0 7 if ($Strict_checking and $str ne '')
5292 0 0 if (ord $char > 127)
5309 0 0 if (defined $string)
5312 0 0 if (length $string > $largest_length)
5318 0 0 if (defined $string)
5330 0 0 $bufr_edition < 4 ? :
5332 0 0 $bufr_edition == 4 ? :
5336 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
5344 0 0 if $@
5351 0 0 if $n == 0
5358 0 0 $x == $n ? :
5371 0 0 unless defined $v
5372 0 0 if ($v < $min)
5385 0 0 unless defined $v
5386 0 0 if ($v > $max)
5390 0 0 if $max < 0
5398 2 3 if ($list->[$i] eq $value)
5417 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) { }
5420 0 0 if $Strict_checking and not grep({$_ == $x;} @operators)
5422 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) { }
5423 0 0 if $self->{'CHANGE_WIDTH'}
5426 0 0 if $self->{'CHANGE_SCALE'}
5429 0 0 if $self->{'NEW_REFVAL_OF'}
5432 0 0 if $self->{'CHANGE_SRW'}
5435 0 0 if $self->{'CHANGE_CCITTIA5_WIDTH'}
5438 0 0 if $Spew
5445 0 0 if grep {$_ == 7;} @operators
5446 0 0 unless $self->{'CHANGE_WIDTH'}
5448 0 0 if $Spew
5454 0 0 if grep {$_ == 7;} @operators
5455 0 0 unless $self->{'CHANGE_SCALE'}
5457 0 0 if $Spew
5464 0 0 defined $self->{'CHANGE_REFERENCE_VALUE'} ? :
0 0 if $Spew
5466 0 0 unless defined $self->{'CHANGE_REFERENCE_VALUE'}
5472 0 0 if grep {$_ == 7;} @operators
5473 0 0 if $Spew
5475 0 0 unless $self->{'CHANGE_REFERENCE_VALUE'}
5481 0 0 if ($y > 0) { }
5483 0 0 if $self->{'ADD_ASSOCIATED_FIELD'}
5488 0 0 unless defined $self->{'ADD_ASSOCIATED_FIELD'}
5505 0 0 if $ff != 0
5508 0 0 if ($Strict_checking)
5511 0 0 if $xx < 48 and $yy < 192
5515 0 0 if (exists $self->{'B_TABLE'}{$next_id} and (split(/\0/, $self->{'B_TABLE'}{$next_id}, 0))[-1] == $y) { }
5517 0 0 if $Spew
5521 0 0 if $self->{'CODING'} eq 'ENCODE'
5522 0 0 if $Spew
5531 0 0 unless $_ == 1 or $_ == 2
0 0 if grep {$_ == 3 unless $_ == 1 or $_ == 2;} @operators
5532 0 0 unless $self->{'CHANGE_SRW'}
5534 0 0 if $Spew
5539 0 0 unless $self->{'CHANGE_CCITTIA5_WIDTH'}
5541 0 0 if $Spew
5557 0 0 $Noqc ? :
5574 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '223000'
5575 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5577 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5581 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5597 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '224000'
5598 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5600 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5604 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5620 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '225000'
5621 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5623 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5627 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5631 0 0 unless $self->{'DIFFERENCE_STATISTICAL_VALUE'}
5650 0 0 unless defined $self->{'CURRENT_BITMAP'} || defined $self->{'REUSE_BITMAP'} and $self->{'BITMAP_OPERATORS'}[-1] eq '232000'
5651 0 0 if (defined $self->{'REUSE_BITMAP'}) { }
5653 0 0 unless @{$self->{'REUSE_BITMAP'}[$isub];}
5657 0 0 unless @{$self->{'CURRENT_BITMAP'};}
5675 0 0 unless defined $self->{'BITMAPS'}
5682 0 0 unless defined $self->{'REUSE_BITMAP'}
5721 2 1 if (ref $arg eq 'Geo::BUFR') { }
1 0 elsif (ref $arg eq 'ARRAY') { }
5725 0 1 unless $last_arg_was_bufr
5740 1 1 if (not exists $subset_list[$i]) { }
5743 1 1 unless $data
5744 1 0 if $Spew
5753 1 3 unless $data
5755 2 1 if (defined $index)
5756 2 0 if $Spew
5766 0 1 if $num_found != @{$subset_list[$i];}