int tai_from_utc (struct tai *t, uint64 u) { if (leapsecs_add(&u, 0) < 0) return 0 ; u += 10 ; t->x = u ; return 1 ; }
struct tai taitime2tai(struct taitime ct) { int32_t day,s; struct tai t; day = taidate_mjd(ct.date); s = ct.hour * 60 + ct.minute; s = (s - ct.offset) * 60 + ct.second; t.x = day * 86400ULL + 4611686014920671114ULL + (uint64_t)s; t.millis = ct.millis; return(leapsecs_add(t,ct.second == 60)); }