I'm not aware of any C implementation that actually generated code for MAX and MIN using these operators, although the operators were certainly discussed with that spelling.  I think many people just made do with:   #define MAX(a,b)  ((a)>(b))?(a):(b) despite the fact that it is wrong if a or b has side effects.   And with register variables, you could generate excellent code for max and min if that was a consideration. I think the reason was partly that the operators look a bit clunky.   And also that the implementation, like ? :, can be trickier than it first appears... Steve ----- Original Message ----- From: "Lawrence Stewart" To: "The Eunuchs Hysterical Society" Cc: Sent: Fri, 3 Nov 2017 08:53:40 -0400 Subject: [TUHS] Fwd: [Simh] An abandoned piece of K&R C This caught my attention.  Did early C really have min and max?  Were they used for anything?  In those days I was a BCPL user, which IIRC, did not have such things. -Larry Begin forwarded message: FROM: Leo Broukhis SUBJECT: [SIMH] AN ABANDONED PIECE OF K&R C DATE: 2017, November 3 at 1:14:42 AM EDT TO: "simh at trailing-edge.com [2]" https://retrocomputing.stackexchange.com/q/4965/4025 [4] In the UNIX V7 version of the C language, there were the / (min) and the / (max) operators. In the source of the scanner part of the compiler, case BSLASH:     if (subseq('/', 0, 1))         return(MAX);     goto unkn; case DIVIDE:     if (subseq('', 0, 1))         return(MIN); ... However, attempting to use them reveals that the corresponding part in the code generator is missing. Trying to compile foo(a, b) { return a / b; } results in 1: No code table for op: / The scanner piece survived in the copies of the compiler for various systems for several years. I tried to look for copies of the code generator table which would contain an implementation, but failed. Has anyone ever seen a working MIN/MAX operator in K&R C? Thanks,Leo _______________________________________________ Simh mailing list Simh at trailing-edge.com [5] http://mailman.trailing-edge.com/mailman/listinfo/simh Links: ------ [1] mailto:leob at mailcom.com [2] mailto:simh at trailing-edge.com [3] mailto:simh at trailing-edge.com [4] https://retrocomputing.stackexchange.com/q/4965/4025 [5] mailto:Simh at trailing-edge.com -------------- next part -------------- An HTML attachment was scrubbed... URL: