Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.c > #396721
| Path | csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
| Newsgroups | comp.lang.c |
| Subject | Re: printf and time_t |
| Date | Sun, 01 Mar 2026 23:21:05 -0800 |
| Organization | A noiseless patient Spider |
| Lines | 40 |
| Message-ID | <864imyg0im.fsf@linuxsc.com> (permalink) |
| References | <10jfol6$2u6r8$1@news.xmission.com> <10jfs23$2liif$1@dont-email.me> <10jgc2t$2rp4s$2@nntp.eternal-september.org> <86o6n5pocw.fsf@linuxsc.com> <10jm6se$r6nl$1@dont-email.me> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=us-ascii |
| Injection-Date | Mon, 02 Mar 2026 07:21:10 +0000 (UTC) |
| Injection-Info | dont-email.me; posting-host="879346d16fc7c1cd3f18baf5c462c148"; logging-data="970912"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/uTpMmVPuK3PlsxfgLZ4TnRpiO83VH66M=" |
| User-Agent | Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) |
| Cancel-Lock | sha1:3TFleYtdoAUffBuSaOtiM8a8mNI= sha1:WAiBl9M2wlqHhD3Ub1n7rLtDI+0= |
| Xref | csiph.com comp.lang.c:396721 |
Show key headers only | View raw
"James Russell Kuyper Jr." <jameskuyper@alumni.caltech.edu> writes: > On 2026-01-07 08:02, Tim Rentsch wrote: > >> James Kuyper <jameskuyper@alumni.caltech.edu> writes: >> >>> On 2026-01-05 03:17, Andrey Tarasevich wrote: > > ... > >>>> You can't. As far as the language is concerned, `time_t` is intended >>>> to be an opaque type. It has to be a real type, ... >>> >>> In C99, it was only required to be an arithmetic type. I pointed out >>> that this would permit it to be, for example, double _Imaginary. [...] >> >> It's hard to imagine how time_t being an imaginary type could >> provide the semantics described in the C standard for time_t. > > You'll need to elaborate on that. time_t is an opaque type which > could, on one implementation, have been long double. Another > implementation could have stored the same value as the imaginary > component of _Imaginary long double, and could work with that value > the same way as the first one. [...] The C standard doesn't say that time_t is an opaque type. What it does say (in the C99 standard) is that it is an arithmetic type capable of representing times, and that the range and precision of those times are implementation defined. The idea that time_t is an opaque type doesn't mesh with that description, nor does it mesh with historical usage that predates even the earliest work on the original (ANSI) C standard. Even if we don't know the range and precision, we expect to be able to operate on time values with standard arithmetic operators, but that doesn't work for complex or imaginary values because of the rules for relational operators. Besides all of that, _Imaginary types don't satisify the condition for time_t to be an arithmetic type. Annex G says the imaginary types are floating types, but in C99 Annex G is informative, not normative.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar
Re: printf and time_t Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-01-07 05:02 -0800
Re: printf and time_t "James Russell Kuyper Jr." <jameskuyper@alumni.caltech.edu> - 2026-01-07 12:58 -0500
Re: printf and time_t Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-03-01 23:21 -0800
Re: printf and time_t Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-03-02 03:37 -0800
Re: printf and time_t James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-03-02 17:53 -0500
Re: printf and time_t Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-03-02 18:04 -0800
csiph-web