Skip to content
Manvendra Bhangui edited this page Feb 25, 2024 · 5 revisions

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 numerical 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)

Clone this wiki locally