H** V4R2 --> BNDDIR(QC2LE) 0010 /COPY datatype 0020 D intPart S Like(double) 0030 D nPwr S Like(int) 0040 D p_Int S Like(Ptr) inz 0050 D p_Float S Like(Ptr) inz 0060 D p_Double S Like(Ptr) inz 0070 D p_Char S Like(Ptr) inz ***************************************************** ** Working storage -- work fields for example * ** calls to the C runtime library. * ** ------------------------------------------------- ** Exponent power of frexp( num: *exponent) 0080 D nPower S Like(int) 0090 D dIntegral S Like(double) 0100 D dResult S Like(double) ***************************************************** ** Include the RPG IV prototypes for the Math functions ***************************************************** 0110 /copy mathproto ***************************************************** 0120 C Eval dResult = sin ( 3.1415926 ) 0130 C Eval dResult = asin ( double ) 0140 C Eval dResult = atan ( double ) 0150 C Eval dResult = atan2 ( double :double ) 0160 C Eval dResult = ceil ( double ) 0170 C Eval dResult = cos ( double ) 0180 C Eval dResult = cosh ( double ) 0190 C Eval dResult = exp ( double ) 0200 C Eval dResult = fabs ( double ) 0210 C Eval dResult = floor ( double ) 0220 C Eval dResult = fmod ( double: double ) ** Since second parm is modified, a pointer field is passed ** Get the address of the second parameter, store it in a pointer ** field, pass the pointer field to the frexp() function. 0230 C Eval p_Int = %Addr( nPwr ) 0240 C Eval dResult = frexp ( double : p_Int ) 0250 C Eval dResult = ldexp ( double : int ) 0260 C Eval dResult = log ( double ) 0270 C Eval dResult = log10 ( double ) 0280 C Eval p_Double = %addr( intpart ) 0290 C Eval dResult = modf ( double: p_Double) 0300 C Eval dResult = pow ( double: double ) 0310 C Eval dResult = sin ( double ) 0320 C Eval dResult = sinh ( double ) 0330 C Eval dResult = sqrt ( double ) 0340 C Eval dResult = tan ( double ) 0350 C Eval dResult = tanh ( double ) ** End the RPG cycle 0360 C EVAL *INLR = *ON ** End the Activation Group 0370 C CALLB(D) 'CEETREC' ** Return to the caller 0380 C return