To: J3 J3/07-117
Subject: Feature creep in Clause 13
From: Van Snyder
Date: 2007 January 22
1 Edits
Edits refer to 07-007. Page and line numbers are displayed in the margin.
Absent other instructions, a page and line number or line number range
implies all of the indicated text is to be replaced by associated text,
while a page and line number followed by + (-) indicates that associated
text is to be inserted after (before) the indicated line. Remarks are
noted in the margin, or appear between [ and ] in the text.
1.1 More Bessel functions
Bessel functions of general order are usually computed using a Miller
algorithm. Therefore, to compute Jn (x) it is necessary to compute Jn-1
(x). Furthermore, Bessel functions of several consecutive orders are
frequently needed, for example for Neumann expansions.
[359:8] ------------------------------------------------------------------
[Editor: Add "or BESSEL JN (N1,N2,X)".]
[359:10] -----------------------------------------------------------------
Class.
Case (i): BESSEL JN (N,X) is elemental.
Case (ii): BESSEL JN (N1,N2,X) is transformational.
[359:12+] ----------------------------------------------------------------
N1 shall be of type integer and nonnegative.
N2 shall be of type integer and nonnegative.
[359:14] -----------------------------------------------------------------
Result Characteristics. Same type and kind as X.
Case (i): The result of BESSEL JN (N,X) is scalar.
Case (ii): The result of BESSEL JN (N1,N2,X) is a rank-one
array with extent MAX(N2-N1+1,0).
[359:15-16] --------------------------------------------------------------
Result Value.
Case (i): The result value of BESSEL JN (N,X) is a
processor-dependent approximation to the Bessel
function of the first kind of order N of X.
Case (ii): Element i of the result value of BESSEL JN (N1,N2,X)
is a processor-dependent approximation to the Bessel
function of the first kind of order N1+i - 1 of X.
[360:2] ------------------------------------------------------------------
[Editor: Add "or BESSEL YN (N1,N2,X)".]
[360:4] ------------------------------------------------------------------
Class.
Case (i): BESSEL YN (N,X) is elemental.
Case (ii): BESSEL YN (N1,N2,X) is transformational.
[360:6+] -----------------------------------------------------------------
N1 shall be of type integer and nonnegative.
N2 shall be of type integer and nonnegative.
[360:8] ------------------------------------------------------------------
Result Characteristics. Same type and kind as X.
Case (i): The result of BESSEL YN (N,X) is scalar.
Case (ii): The result of BESSEL YN (N1,N2,X) is a rank-one
array with extent MAX(N2-N1+1,0).
[360:9-10] ---------------------------------------------------------------
Result Value.
Case (i): The result value of BESSEL YN (N,X) is a
processor-dependent approximation to the Bessel
function of the first kind of order N of X.
Case (ii): Element i of the result value of BESSEL YN
(N1,N2,X) is a processor-dependent approximation
to the Bessel function of the second kind of order
N1+i - 1 of X.
1.2 Another shift function
We have SHIFT, SHIFTL and SHIFTR, but only DSHIFTL and DSHIFTR.
[375:26+] ----------------------------------------------------------------
13.7.55 1 DSHIFT (I,J,SHIFT)
2
Description. Combined shift.
Class. Elemental function.
Arguments.
I shall be of type integer or bits.
J shall be of type integer or bits.
SHIFT shall be of type integer. Its magnitude shall
be less than or equal to BIT SIZE(I).
Result Characteristics. Same as I.
Result Value. If SHIFT is nonnegative the result value is the
same as DSHIFTL(I,J,SHIFT). If SHIFT is negative the result value
is the same as DSHIFTR(I,J,-SHIFT).
1.3 Embellishment of NORM2
[411:16] -----------------------------------------------------------------
[Editor: Insert "[, DIM]" after "X".]
[411:19-23] --------------------------------------------------------------
Arguments.
X shall be a real array.
DIM (optional) shall be an integer scalar. The corresponding
actual argument shall not be an optional
dummy argument
Result Characteristics. The result is of the same type and type
parameters as X. It is scalar if DIM is absent; otherwise the
result has rank n - 1 and shape [d1 , d2 , . . . , dDIM-1 ,
dDIM+1 , . . . , dn ], where n is the rank of X and [d1 , d2 , .
. . , dn ] is the shape of X.]
Result Value.
Case (i): The result of NORM2(X) has a value equal to a
processor-dependent approxima- tion to the
generalized L2 norm of X, which is the square root
of the sum of the squares of the elements of X.
Case (ii): The result of NORM2(X,DIM=DIM) has a value equal
to that of NORM2(X) if X has rank one. Otherwise,
the value of element (s1 , s2 , . . . , sDIM-1 ,
sDIM+1 , . . . sn ) of the result is equal to
NORM2(X(s1 , s2 , . . . , sDIM-1 , :, sDIM+1 , . .
. sn )).
It is recommended that the processor compute the result without undue
overflow or underflow.
[411:24] -----------------------------------------------------------------
[ 1.0 2.0 ]
[Editor: Append "If X has the value [ ] then NORM(X,DIM=1) is
[ 3.0 4.0 ]
[3.162, 4.472] (approximately) and NORM(X,DIM=2) is [2.236, 5.0]
(approximately)."]