Hi Paul, On Wed, Oct 15, 2025 at 01:14:07PM -0400, Paul Koning wrote: > > > > On Oct 15, 2025, at 12:10 PM, Michael Matz <[email protected]> wrote: > > > > ... > >> And as we're seeing, bool belongs in a third class of integer types, in > >> which it is the only member. It doesn't belong in the class of unsigned > >> integer types (which is BTW something under discussion in the > >> C Committee at the moment). > > > > If saturated types are ever included it won't be the only member of that > > class. Even absent that the loneliness of bool doesn't imply anything > > specific. > > I don't see how saturation, or the lack of it, is relevant. "max" and "min" > are defined in terms of the < operator, so any type for which < is defined > can define min/max as well. Python is an example of a language that does > this uniformly (for example, max("abc","abxq") is valid). > > I take it that the C standard says < is defined for boolean type. That's all > the answer that seems needed. Conversely, in a language where < is not a > valid operator for booleans (such as ALGOL) min/max would not be, either.
The _Maxof and _Minof operators we're discussing are unrelated to MAX(3) and MIN(3). MAX(3) and MIN(3) return the maximum or minimum of two numbers. _Maxof() and _Minof() return the maximum or minimum representable value of a type. Have a lovely night! Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>).
signature.asc
Description: PGP signature
