source: branches/FACT++_lidctrl_usb/erfa/src/ut1tai.c@ 19875

Last change on this file since 19875 was 18711, checked in by tbretz, 10 years ago
Updated to ERFA 1.3.0 (no relevant code change except the leap second at the beginning of 2017)
File size: 4.3 KB
Line 
1#include "erfa.h"
2
3int 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-2016, 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 dtad = dta / ERFA_DAYSEC;
47 if ( ut11 > ut12 ) {
48 *tai1 = ut11;
49 *tai2 = ut12 - dtad;
50 } else {
51 *tai1 = ut11 - dtad;
52 *tai2 = ut12;
53 }
54
55/* Status (always OK). */
56 return 0;
57
58}
59/*----------------------------------------------------------------------
60**
61**
62** Copyright (C) 2013-2016, 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*/
Note: See TracBrowser for help on using the repository browser.