|
The mi_fp_argprec() accessor function obtains the precision of an argument of a user-defined routine from its associated MI_FPARAM structure.
fparam_ptr | is a pointer to the associated MI_FPARAM structure. |
arg_pos | is the index position into the argument-precision array for the argument whose precision you want. |
The mi_fp_argprec() function obtains the precision of the routine argument at position arg_pos from the MI_FPARAM structure that fparam_ptr references. The precision is an attribute of the data type that represents the total number of digits the routine argument can hold, as follows.
If you call mi_fp_argprec() on some other data type, the function returns zero (0).
The MI_FPARAM structure stores information about the precision of routine arguments in the zero-based argument-precision array. To obtain information about the nth argument, use an arg_pos value of n-1. For example, the following call to mi_fp_argprec() obtains the precision for the third argument of the my_func() UDR, with which fparam1 is associated:
>=0 | is the precision, in number of digits, of the fixed-point or floating-point argument at position arg_pos. |
MI_ERROR | indicates that the function was not successful. |
See the descriptions of the following functions: mi_fp_argisnull(), mi_fp_arglen(), mi_fp_argscale(), mi_fp_argtype(), mi_fp_retprec(), mi_fp_setargprec(), and mi_fp_setretprec().
For more information about the precision of a fixed-point data type, see Chapter 3, Using Numeric Data Types.