I am familiar with the inline option. What it does is not what I had in mind. I should have been more specific. I meant independent C implementations. IBM C and IBM PL/I share the same optimizing and code-generation machinery.
A [simple] mathematical example will make the appropriate distinctions clearer. Consider declare i signed binary fixed(63,0), ((x, y) real, z complex) decimal float(16), abs builtin ; . . . i = abs(i) ; /* example 1 */ x = abs(x) ; /* example 2 */ y = abs(z) ; /* example 3 */ Example 1 and example 2 are always evaluated by trivial compiled code. They reduce conceptually to a single machine instruction. Example 3 is instead evaluated by a library subroutine. Why? Recall that for complex z = a + bi, abs(z) = sqrt(a**2 + b**2). Here, as usual, generic functions employing syntactically identical constructs are evaluated in datatype- and domain-specific ways. (All this is of course irrelevant for FORTRAN-like C, which does not have generic functions.) John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
