The Evaluate Polynomials routine (D-floating values) allows higher-level language users to evaluate D-floating value polynomials. D-floating values are not supported in full precision in native OpenVMS Alpha and I64 programs. They are precise to 56 bits on VAX systems, 53 or 56 bits in translated VAX images, and 53 bits in native OpenVMS Alpha and I64 programs. Format LIB$POLYD polynomial-argument ,degree ,coefficient ,floating-point-result
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value
2 – Arguments
polynomial-argument OpenVMS usage:floating_point type: D_floating access: read only mechanism: by reference The address of a D-floating number that is the argument for the polynomial. degree OpenVMS usage:word_signed type: word integer (signed) access: read only mechanism: by reference The address of a signed word integer that is the highest-numbered nonzero coefficient to participate in the evaluation. If the degree is 0, the result equals C[0]. The range of the degree is 0 to 31. coefficient OpenVMS usage:floating_point type: D_floating access: read only mechanism: by reference, array reference The address of an array of D-floating coefficients. The coefficient of the highest-order term of the polynomial is the lowest-addressed element in the array. floating-point-result OpenVMS usage:floating_point type: D_floating access: write only mechanism: by reference The address of a floating-point number that is the result of the calculation. LIB$POLYD writes the address of floating-point- result into a D-floating number. Intermediate multiplications are carried out using extended floating-point fractions (63 bits for POLYD).