J3/97-208R1 Date: 1997 August 12 To: J3 From: Loren P. Meissner Subject: Syntax and Edits for M.6: Extend Initialization Expressions References: X3J3/96-165, J3/97-157 PROPOSAL: Permit all elemental intrinsic functions in an initialization expression except the math functions ABS(z), ACOS, ASIN, ATAN, ATAN2, CABS, COS, COSH, EXP, LOG, LOG10, SIN, SINH, SQRT, TAN, and TANH. (CABS is a specific intrinsic name.) The generic intrinsic functions permitted are: ABS (with real or integer argument), ACHAR, ADJUSTL, ADJUSTR, AIMAG, AINT, ANINT, BTEST, CEILING, CHAR, CMPLX, CONJG, DBLE, DIM, DPROD, EXPONENT, FLOOR, FRACTION, IACHAR, IAND, IBCLR, IBITS, IBSET, ICHAR, IEOR, INDEX, INT, IOR, ISHFT, ISHFTC, LEN_TRIM, LGE, LGT, LLE, LLT, MAX, MERGE, MIN, MOD, MODULO, NEAREST, NINT, NOT, REAL, RRSPACING, SCALE, SCAN, SET_EXPONENT, SIGN, SPACING, VERIFY. The specific intrinsic functions permitted are AMAX0, AMAX1, AMIN0, AMIN1, AMOD, DABS, DDIM, DINT, DMAX1, DMIN1, DMOD, DNINT, DSIGN, FLOAT, IABS, IDIM, IDINT, IDNINT, IFIX, ISIGN, LOGICAL, MAX0, MAX1, MIN0, MIN1, and SNGL. SYNTAX: Permit the following elemental intrinsic functions in an initialization expression: ABS (with real or integer argument), ACHAR, ADJUSTL, ADJUSTR, AIMAG, AINT, AMAX0, AMAX1, AMIN0, AMIN1, AMOD, ANINT, BTEST, CEILING, CHAR, CMPLX, CONJG, DABS, DBLE, DDIM, DIM, DINT, DMAX1, DMIN1, DMOD, DNINT, DPROD, DSIGN, EXPONENT, FLOAT, FLOOR, FRACTION, IABS, IACHAR, IAND, IBCLR, IBITS, IBSET, ICHAR, IDIM, IDINT, IDNINT, IEOR, IFIX, INDEX, INT, IOR, ISHFT, ISHFTC, ISIGN, LEN_TRIM, LGE, LGT, LLE, LLT, LOGICAL, MAX, MAX0, MAX1, MERGE, MIN, MIN0, MIN1, MOD, MODULO, NEAREST, NINT, NOT, REAL, RRSPACING, SCALE, SCAN, SET_EXPONENT, SIGN, SNGL, SPACING, VERIFY EDITS: In 7.1.6.1 under initialization expression replace numbered paragraph (4) with the following: (4) A reference to the elemental intrinsic function ABS where the argument is an initialization expression of type integer or real; or a reference to one of the elemental intrinsic functions ACHAR, ADJUSTL, ADJUSTR, AIMAG, AINT, AMAX0, AMAX1, AMIN0, AMIN1, AMOD, ANINT, BTEST, CEILING, CHAR, CMPLX, CONJG, DABS, DBLE, DDIM, DIM, DINT, DMAX1, DMIN1, DMOD, DNINT, DPROD, DSIGN, EXPONENT, FLOAT, FLOOR, FRACTION, IABS, IACHAR, IAND, IBCLR, IBITS, IBSET, ICHAR, IDIM, IDINT, IDNINT, IEOR, IFIX, INDEX, INT, IOR, ISHFT, ISHFTC, ISIGN, LEN_TRIM, LGE, LGT, LLE, LLT, LOGICAL, MAX, MAX0, MAX1, MERGE, MIN, MIN0, MIN1, MOD, MODULO, NEAREST, NINT, NOT, REAL, RRSPACING, SCALE, SCAN, SET_EXPONENT, SIGN, SNGL, SPACING, or VERIFY, where each argument is an initialization expression.