tai(3)                                                     tai(3)



NAME
       tai - manipulate times with 1-second precision

SYNTAX
       #include <tai.h>

       double tai_approx(&_t);

       int tai_less(&_a,&_b);
       void tai_add(&_t,&_a,&_b);
       void tai_sub(&_t,&_a,&_b);

       struct tai _t;
       struct tai _a;
       struct tai _b;

DESCRIPTION
       A  struct  tai  stores  an integer between 0 inclusive and
       2^64 exclusive.  The format of struct tai is  designed  to
       speed  up  common operations; applications should not look
       inside struct tai.

       A struct tai variable is commonly used to  store  a  TAI64
       label.   Each  TAI64  label  refers  to one second of real
       time.  TAI64 labels span a period of hundreds of  billions
       of  years.   See http://pobox.com/~djb/proto/tai64.txt for
       more information.

       A struct tai variable may also be used to store the numer-
       ical difference between two TAI64 labels.

ARITHMETIC
       tai_approx  returns a double-precision approximation to _t.
       The result of tai_approx is always nonnegative.

       tai_less returns 1 if _a is smaller than _b, 0 otherwise.

       tai_add adds _a and _b modulo 2^64 and puts the result  into
       _t.  The inputs and outputs may overlap.

       tai_sub subtracts _b from _a modulo 2^64 and puts the result
       into _t.  The inputs and outputs may overlap.

SEE ALSO
       tai_now(3), tai_pack(3), taia(3), utc(3)



                                                           tai(3)
