… | |
… | |
5048 | |
5048 | |
5049 | The type C<double> is used to represent timestamps. It is required to |
5049 | The type C<double> is used to represent timestamps. It is required to |
5050 | have at least 51 bits of mantissa (and 9 bits of exponent), which is |
5050 | have at least 51 bits of mantissa (and 9 bits of exponent), which is |
5051 | good enough for at least into the year 4000 with millisecond accuracy |
5051 | good enough for at least into the year 4000 with millisecond accuracy |
5052 | (the design goal for libev). This requirement is overfulfilled by |
5052 | (the design goal for libev). This requirement is overfulfilled by |
5053 | implementations using IEEE 754, which is basically all existing ones. With |
5053 | implementations using IEEE 754, which is basically all existing ones. |
|
|
5054 | |
5054 | IEEE 754 doubles, you get microsecond accuracy until at least 2200. |
5055 | With IEEE 754 doubles, you get microsecond accuracy until at least the |
|
|
5056 | year 2255 (and millisecond accuray till the year 287396 - by then, libev |
|
|
5057 | is either obsolete or somebody patched it to use C<long double> or |
|
|
5058 | something like that, just kidding). |
5055 | |
5059 | |
5056 | =back |
5060 | =back |
5057 | |
5061 | |
5058 | If you know of other additional requirements drop me a note. |
5062 | If you know of other additional requirements drop me a note. |
5059 | |
5063 | |