09-101 To: J3 From: Malcolm Cohen Subject: More editorial corrections to 08-007r2 Date: 2009 January 08 1. Introduction --------------- This paper lists additional corrections, of an editorial or trivial technical nature, to the draft CD N1723. My apologies for forgetting to submit this at meeting 186. 2. The Problems --------------- (i) Apparently NORM2(X,DIM=999) is allowed - the DIM argument description differs from all the other reductions like PRODUCT, SUM, MAXVAL, ... (ii) The BNF term does not correspond to the plain term "specification statement" and is not used productively in any way, serving only to confuse. (It is defined once and used exactly once.) (iii) Missing braces from C examples, probably due to changing from verbatim to alltt for code examples. (iv) Inconsistent semicolons in C examples. For example, a semicolon is definitely always required to terminate a typedef statement, but we omitted it. A C prototype can have the semi-colon omitted when it's a formal parameter, but we have it in Note 15.22 (after omitting it in Note 15.21). These are examples, so we should just include the semicolon always (makes it look more natural). (v) "may be X only in Y" does not require that X only be in Y, it permits all of the Xs to be in Ys. The word we are looking for here is SHALL; it is absolutely forbidden to use "may" to indicate a requirement! 3. Edits to 08-007r2 (N1723) ---------------------------- [26-27:2.2 R207,R212] "specification-stmt" -> "other-specification-stmt", twice. {Change term to avoid confusion with the general term "specification statement".} [57:4.4.5.4p1] Change "{0<=I "shall be" {We are requiring, not permitting.} [342:13.7.49p5] Replace the second sentence "It is ... precision." by "DPROD(X,Y) should have the same value as DBLE(X)*DBLE(Y)." {The existing text is not grammatical, too verbose, and unnecessarily vague. "should" is the preferred ISO term for recommendation.} [350:13.7.66p5] Do not begin a new paragraph here, this should be part of paragraph 4. Put language keywords into upper case. Unindent. {This example looks wildly different from our others; we ought to be more consistent.} [374:13.7.123 NORM2 p3] After "shall be an integer scalar" insert "with a value in the range $1 \leq \text{DIM} \leq n$, where $n$ is the \termi{rank} of X". NOTE: "of ARRAY" assuming that change from 08-020r1/08-217 is done. [432:15.3.4 Note 15.13] Reinstate missing braces, and terminate typedef statement with a semicolon. {a: Fix LaTeX error. b: Fix C error.} [433:15.3.6 Note 15.17] Terminate C declaration with a semicolon. {Consistent style.} [434:15.3.7 Note 15.21] Terminate C prototype with a semicolon. {Consistent style.} [436:15.4.1 Note 15.23] Separate Fortran code and C code with a blank line, Begin C code with comment line "/* Global variables. */", Reinstate braces in the penultimate line. {a: Fix LaTeX error. b: Improve style.} [516:C.11.3p2,4,6,8] Indent code consistently, like we did in C.11.2. {Fix weird-looking alignment.} [516:C.11.3p4] Reinstate braces. {a: Fix LaTeX error.} ===END===