3 int eraUt1utc(
double ut11,
double ut12,
double dut1,
4 double *utc1,
double *utc2)
70 int i, iy, im,
id, js;
71 double duts, u1, u2, d1, dats1, d2, fd, dats2, ddats, us1, us2, du;
77 big1 = ( ut11 >= ut12 );
89 for ( i = -1; i <= 3; i++ ) {
91 if (
eraJd2cal(d1, d2, &iy, &im, &
id, &fd) )
return -1;
92 js =
eraDat(iy, im,
id, 0.0, &dats2);
93 if ( js < 0 )
return -1;
94 if ( i == - 1 ) dats1 = dats2;
95 ddats = dats2 - dats1;
96 if ( fabs(ddats) >= 0.5 ) {
99 if ( ddats * duts >= 0 ) duts -= ddats;
102 if (
eraCal2jd(iy, im,
id, &d1, &d2) )
return -1;
115 duts += ddats * ( fd <= 1.0 ? fd : 1.0 );
int eraJd2cal(double dj1, double dj2, int *iy, int *im, int *id, double *fd)
int eraDat(int iy, int im, int id, double fd, double *deltat)
int eraUt1utc(double ut11, double ut12, double dut1, double *utc1, double *utc2)
int eraCal2jd(int iy, int im, int id, double *djm0, double *djm)