| Time-TT documentation | Contained in the Time-TT distribution. |
Time::TT::InterpolatingRealisation - TT realised by interpolation
use Time::TT::InterpolatingRealisation; $rln = Time::TT::InterpolatingRealisation->new($interpolator); $tai_instant = $rln->to_tai($instant); $instant = $rln->from_tai($tai_instant); $rln1_instant = $rln0->to_realisation($rln1, $rln0_instant); $rln0_instant = $rln0->from_realisation($rln1, $rln1_instant);
This class implements a realisation of Terrestrial Time (TT) by interpolation between known points of correlation between the realisation and International Atomic Time (TAI). See Time::TT::Realisation for the interface.
Normally one won't use this constructor directly. See the
tt_realisation function in Time::TT, which will construct a range
of published realisations, most of which are implemented using this class.
Use this directly only if the realisation that you desire is not available
by that means.
Constructs and returns an object representing a realisation of
TT that is defined by isolated points of correlation between it
and TAI. The INTERPOLATOR argument must be an object of a subclass
of Math::Interpolator, supplying the x and y methods. The x
coordinate of the interpolator's curve must represent TAI, and the y
coordinate the realisation of interest. Times on both coordinates are
represented as the number of seconds since the 1958 epoch, as described
in Time::TT. All numbers must be Math::BigRat objects.
The class Time::TT::OffsetKnot may be useful in building the required
interpolator.
These methods are part of the standard Time::TT::Realisation interface.
Andrew Main (Zefram) <zefram@fysh.org>
Copyright (C) 2006, 2007, 2010 Andrew Main (Zefram) <zefram@fysh.org>
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Time-TT documentation | Contained in the Time-TT distribution. |
package Time::TT::InterpolatingRealisation; { use 5.006; } use warnings; use strict; our $VERSION = "0.004"; use parent "Time::TT::Realisation";
sub new { my($class, $interpolator) = @_; return bless(\$interpolator, $class); }
sub to_tai { my($self, $t) = @_; return ${$self}->x($t); } sub from_tai { my($self, $t) = @_; return ${$self}->y($t); }
1;