File Coverage

erfasrc/src/ut1tai.c
Criterion Covered Total %
statement 0 8 0.0
branch 0 2 0.0
condition n/a
subroutine n/a
pod n/a
total 0 10 0.0


line stmt bran cond sub pod time code
1             #include "erfa.h"
2              
3 0           int eraUt1tai(double ut11, double ut12, double dta,
4             double *tai1, double *tai2)
5             /*
6             ** - - - - - - - - - -
7             ** e r a U t 1 t a i
8             ** - - - - - - - - - -
9             **
10             ** Time scale transformation: Universal Time, UT1, to International
11             ** Atomic Time, TAI.
12             **
13             ** Given:
14             ** ut11,ut12 double UT1 as a 2-part Julian Date
15             ** dta double UT1-TAI in seconds
16             **
17             ** Returned:
18             ** tai1,tai2 double TAI as a 2-part Julian Date
19             **
20             ** Returned (function value):
21             ** int status: 0 = OK
22             **
23             ** Notes:
24             **
25             ** 1) ut11+ut12 is Julian Date, apportioned in any convenient way
26             ** between the two arguments, for example where ut11 is the Julian
27             ** Day Number and ut12 is the fraction of a day. The returned
28             ** tai1,tai2 follow suit.
29             **
30             ** 2) The argument dta, i.e. UT1-TAI, is an observed quantity, and is
31             ** available from IERS tabulations.
32             **
33             ** Reference:
34             **
35             ** Explanatory Supplement to the Astronomical Almanac,
36             ** P. Kenneth Seidelmann (ed), University Science Books (1992)
37             **
38             ** Copyright (C) 2013-2020, NumFOCUS Foundation.
39             ** Derived, with permission, from the SOFA library. See notes at end of file.
40             */
41             {
42             double dtad;
43              
44              
45             /* Result, safeguarding precision. */
46 0           dtad = dta / ERFA_DAYSEC;
47 0 0         if ( fabs(ut11) > fabs(ut12) ) {
48 0           *tai1 = ut11;
49 0           *tai2 = ut12 - dtad;
50             } else {
51 0           *tai1 = ut11 - dtad;
52 0           *tai2 = ut12;
53             }
54              
55             /* Status (always OK). */
56 0           return 0;
57              
58             }
59             /*----------------------------------------------------------------------
60             **
61             **
62             ** Copyright (C) 2013-2020, NumFOCUS Foundation.
63             ** All rights reserved.
64             **
65             ** This library is derived, with permission, from the International
66             ** Astronomical Union's "Standards of Fundamental Astronomy" library,
67             ** available from http://www.iausofa.org.
68             **
69             ** The ERFA version is intended to retain identical functionality to
70             ** the SOFA library, but made distinct through different function and
71             ** file names, as set out in the SOFA license conditions. The SOFA
72             ** original has a role as a reference standard for the IAU and IERS,
73             ** and consequently redistribution is permitted only in its unaltered
74             ** state. The ERFA version is not subject to this restriction and
75             ** therefore can be included in distributions which do not support the
76             ** concept of "read only" software.
77             **
78             ** Although the intent is to replicate the SOFA API (other than
79             ** replacement of prefix names) and results (with the exception of
80             ** bugs; any that are discovered will be fixed), SOFA is not
81             ** responsible for any errors found in this version of the library.
82             **
83             ** If you wish to acknowledge the SOFA heritage, please acknowledge
84             ** that you are using a library derived from SOFA, rather than SOFA
85             ** itself.
86             **
87             **
88             ** TERMS AND CONDITIONS
89             **
90             ** Redistribution and use in source and binary forms, with or without
91             ** modification, are permitted provided that the following conditions
92             ** are met:
93             **
94             ** 1 Redistributions of source code must retain the above copyright
95             ** notice, this list of conditions and the following disclaimer.
96             **
97             ** 2 Redistributions in binary form must reproduce the above copyright
98             ** notice, this list of conditions and the following disclaimer in
99             ** the documentation and/or other materials provided with the
100             ** distribution.
101             **
102             ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
103             ** the International Astronomical Union nor the names of its
104             ** contributors may be used to endorse or promote products derived
105             ** from this software without specific prior written permission.
106             **
107             ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
108             ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
109             ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
110             ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
111             ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
112             ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
113             ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
114             ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
115             ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
116             ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
117             ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
118             ** POSSIBILITY OF SUCH DAMAGE.
119             **
120             */