Branch Coverage

blib/lib/Astro/Coord/ECI.pm
Criterion Covered Total %
branch 279 434 64.2


line true false branch
139 0 172 if ref $static{'sun'}
140 140 32 if @args
142 172 0 unless exists $self->{'almanac_horizon'}
143 0 172 if ($self->{'debug'})
187 0 1205 unless ref $B and $B->represents("Astro::Coord::ECI") and ref $C and $C->represents("Astro::Coord::ECI")
193 1 1204 $self->{'inertial'} ? :
195 1 1204 $self->{'inertial'} ? :
224 0 0 exists $mutator{$_[1]} ? :
262 0 16905 if @_ > 2
265 0 16905 $_[2] ? :
357 0 21993 if ($self->{'debug'})
375 16896 5097 if (defined $velocity[2])
377 16895 1 unless (defined $freq)
379 0 16895 if defined $freq
384 1 16895 if (defined $freq)
392 1466 20527 if $offset
398 21993 0 if $self->{'refraction'}
450 21076 1 ref $self ? :
457 5961 15116 if ($elevation > $horizon - "0.0349065850398866")
477 0 5961 if $self->get("debug")
506 917 0 $h >= 0 ? :
533 58315 129 unless (@args)
534 0 58315 unless ref $self
544 129 0 if (@args == 1) { }
546 12 117 unless ref $self
612 55526 2114 unless (@args)
614 25605 29921 if $cache->{'fixed'}{'ecef'}
615 29921 0 if $self->{'inertial'}
621 2114 0 if @args == 3
623 2114 0 if (@args == 6) { }
695 32740 34163 unless (@args)
697 32733 7 if $cache->{'inertial'}{'eci'}
698 7 0 if $self->{'specified'}
707 34163 0 if (@args == 3 or @args == 6) { }
758 13058 1362 if (@args) { }
759 0 13058 if @args % 3
785 237 1125 if $self->{'_ECI_cache'}{'inertial'}{'ecliptic_cartesian'}
847 13058 1378 if (@args) { }
849 0 13058 if @args % 3
897 0 1 if (&looks_like_number($self))
902 0 1 unless defined $time
1003 3 3385 if @args and embodies($args[0], "Astro::Coord::ECI")
1008 3385 3 unless $body
1010 2253 1135 if (@args) { }
3 1132 elsif ($body) { }
1011 0 2253 if @args % 3
1013 0 2253 if $body
1055 0 1 unless $station ||= $self->get("station")
1116 4 0 if ($body) { }
1119 0 4 @pos < @base ? :
1126 0 0 if $self->{'_ECI_cache'}{'inertial'}{'equatorial_unreduced'}
1175 3 1 if (@pos >= 6)
1191 0 4 unless $body
1201 3 1 if (@rslt >= 6)
1223 31897 0 if (@_ > 1) { }
1268 14557 2107 unless (@args)
1270 6700 7857 unless ($self->{'_ECI_cache'}{'fixed'}{'geocentric'})
1278 0 6700 if $self->get("debug")
1296 2107 0 if (@args == 3) { }
1304 0 2107 if $self->get("debug")
1379 0 27116 @args == 1 || @args == 4 ? :
1381 0 27116 $elps ? :
1386 0 27116 if $elps
1390 25011 2105 unless (@args)
1396 23171 1840 if $self->{'_ECI_cache'}{'fixed'}{'geodetic'} and not $elps
1397 0 1840 if ($self->{'debug'})
1406 0 1840 $elps ? :
1407 0 1840 if ($self->{'debug'})
1423 3 1837 if $z < 0
1444 0 1840 $vp * $vp >= abs $P ? :
1447 1840 0 $D >= 0 ? :
1462 3 1837 if $X < 0
1474 0 1840 unless $elps
1478 0 1840 if $self->get("debug")
1508 2105 0 if (@args == 3) { }
1512 0 2105 if $elps
1530 2105 0 $rhocoslatprime ? :
1592 1 99517 unless ref $self
1595 0 99518 unless exists $mutator{$name}
1597 1263 98255 if ($accessor{$name}) { }
1603 32669 66849 wantarray ? :
1623 3 0 if @vector > 3
1641 0 6 unless my $station = $self->get("station")
1674 0 0 if (@args == 3) { }
0 0 elsif (@args) { }
1680 0 0 unless my $sun = $self->get("sun")
1694 0 0 if $self->{'_ECI_cache'}{'inertial'}{'heliocentric_ecliptic_cartesian'}
1696 0 0 unless my $sun = $self->get("sun")
1722 0 0 if (@args) { }
1723 0 0 if @args % 3
1750 0 21999 if ($self->{'debug'})
1799 16902 5097 if (@tgt > 5)
1840 0 2 unless ref $self
1844 1 1 unless (@args)
1845 0 1 unless $self->{'universal'}
1850 1 0 unless defined $self->{'local_mean_time'}
1854 1 0 if (@args == 1) { }
1856 0 1 unless $self->{'specified'}
1859 0 1 if $self->{'inertial'}
1956 1042 1043 if (@args > 1 or defined $args[0] and $args[0] =~ / [^0-9] /msx) { }
1958 1042 0 unless defined $alt
1961 0 1042 if $precision % 2
1971 4166 2084 if ($base > 10) { }
1972 0 4166 if (my $inx = index($alpha, lc $chr)) < 0
1975 2082 2084 @chars > 1 ? :
1976 0 4166 if $inx > $limit
1983 0 2084 if $chr =~ / [^0-9] /msx
2001 0 1043 unless defined $precision and $precision > 0
2027 4168 2084 $base > 10 ? :
2034 1043 0 if @rslt
2035 1043 0 if @rslt > 1
2049 4167 2084 $inx % 2 ? :
2069 264 264 $self->can('period') ? :
2090 0 0 unless ref $self
2094 0 0 unless $body->represents("Astro::Coord::ECI")
2100 0 0 $want ? :
0 0 if defined $want
2105 0 0 if ($denom = abs $denom) < "1e-11"
2131 0 0 $mid_angle >= 3.1415926535897931 ? :
2181 0 241 unless ref $self
2185 0 241 unless $body->represents("Astro::Coord::ECI")
2191 204 37 unless defined $upper
2192 31 210 $upper ? :
2206 241 0 unless ($elev < $angle || 0) == $rise
2208 0 0 if $end - $original > $give_up
2217 1755 1934 ($elev < $angle || 0) == $rise ? :
2223 225 16 wantarray ? :
2288 0 264 unless ref $self
2292 0 264 unless $body->represents("Astro::Coord::ECI")
2297 184 57 $want ? :
241 23 if defined $want
2301 0 264 $denom >= 0 ? :
2302 0 264 if ($denom = abs $denom) < "1e-11"
2312 74 190 mod2pi(($body->universal($begin)->geocentric)[1] - ($self->universal($begin)->geocentric)[1]) >= 3.1415926535897931 ? :
2321 108 156 if (defined $want and $want != $above)
2323 59 49 $opposite ? :
2333 1606 1696 mod2pi($long - $merid + $opposite) < 3.1415926535897931 ? :
2340 256 8 wantarray ? :
2358 1124 14861 unless defined $time
2398 0 14185 if (&looks_like_number($self))
2403 14183 2 unless defined $time
2424 2 0 if $_[1]
2460 0 1127 unless $end
2465 0 1127 unless $self->get("inertial")
2468 0 1127 unless defined(my $start = $self->get("equinox_dynamical"))
2474 1 1126 if ($sta = $self->get("station") and $sta->get("inertial"))
2476 0 1 if $sta->get("station")
2482 2 1125 if $start == $end
2636 0 0 unless my $name = pop @args
2639 0 0 if (@args == 0) { }
0 0 elsif (@args == 2) { }
2640 0 0 unless $known_ellipsoid{$name}
2678 42462 46 __classisa($_[0]->represents, $_[1]) ? :
42508 42510 defined $_[1] ? :
2702 18 1600 unless ref $self
2704 0 1618 if @args % 2
2710 0 1647 unless exists $mutator{$name}
2712 0 1647 unless "CODE" eq ref $mutator{$name}
2718 7 1610 if ref $self and $self->{'specified'} and $action & 1
2762 0 172 unless defined $value
2764 0 172 if ($special{$value}) { }
172 0 elsif (&looks_like_number($value) and $value >= -1.5707963267948966 and $value <= 1.5707963267948966) { }
2804 0 1 unless defined $value
2805 1 0 unless &looks_like_number($value) and $value >= "-1.5707963267949" and $value <= "1.5707963267949"
2816 12 0 if (defined $value)
2817 0 12 unless embodies($value, "Astro::Coord::ECI")
2820 0 12 if $value->get("station")
2831 0 2 unless embodies($value, $self->SUN_CLASS)
2834 2 0 unless ref $value
2845 90 49 if $_[0]->can("rebless")
2855 0 31 unless defined $value
2858 0 31 unless exists $known_ellipsoid{$value}
2893 0 140693 if @args
2899 65243 75450 if (defined $time) { }
2902 0 75450 unless ref $self
2907 0 75450 unless defined $self->{'universal'}
2918 0 84084 unless defined $time
2920 6 84078 unless ref $self
2923 25754 58330 if defined $self->{'universal'} and $time == $self->{'universal'}
2926 57787 543 if $run_model
2936 58230 114 if ($self->{'specified'})
2937 31846 26384 if ($self->{'inertial'}) { }
2948 0 30 unless "ARRAY" eq ref $tplt
3013 26424 31492 unless $self->can("time_set")
3015 31374 118 unless ($self->{'_no_set'}++)
3016 14 31360 unless eval { do { $self->time_set; 1 } }
3019 31374 118 unless --$self->{'_no_set'}
3020 14 31478 if ($exception)
3046 14 200553 unless (ref $self)
3047 0 14 unless @$args
3054 0 200567 if ($self->{'debug'})
3063 263135 0 if defined $_
3067 0 0 unless defined $_
3076 17 200550 if @$args % 3 == 1
3078 198107 2460 if ($self->{'specified'})
3079 66398 131709 if (@$args) { }
4 131705 elsif ($self->{'_need_purge'}) { }
3103 0 6465 unless -&PIOVER2 <= $_[1] and $_[1] <= &PIOVER2
3117 0 4212 unless -&TWOPI <= $_[1] and $_[1] <= &TWOPI
3131 0 2253 unless 0 <= $_[1] and $_[1] <= &TWOPI
3158 0 15312 unless @sph_data and not @sph_data % 3
3183 1 15311 if (@sph_data)
3257 0 24487 unless @cart_data and not @cart_data % 3
3266 24486 1 $cart_pos[0] || $cart_pos[1] ? :
3269 24486 1 $range ? :
3277 16898 7589 if (@cart_data)
3315 16898 0 if ($range > 0) { }
3318 16898 0 if ($diag > 0) { }
3391 0 7 if $self->{'debug'}
3399 0 7 if $self->{'debug'}
3403 7 0 if (@data > 5)
3432 0 29921 if (abs $equi - $dyn > $EQUINOX_TOLERANCE)
3442 18309 11612 if (@ecef > 3)
3452 0 29921 unless defined wantarray
3466 17 39386 unless (embodies($args[1], "Astro::Coord::ECI"))
3468 0 17 unless embodies($args[0], "Astro::Coord::ECI")
3471 17 0 if defined $args[1]{'universal'}