Here is the output of spops.c for ROUND:
================================
A68_INT TGAAASP_round(A68_REAL R)
{
A68_INT UGAAASP_n;
A68_SBITS VGAAASP_ocw;
A68_INT WGAAASP; /* clause result */
A_PROC_ENTRY(round);
/* line 101: */
/* line 102: */
{
/* line 103: */
VFAAASP_getfpucw((&VGAAASP_ocw));
/* line 104: */
WFAAASP_setfpucw((A68_SBITS )(VGAAASP_ocw&QGAAASP_fpucwalgol68round));
/* line 105: */
XFAAASP_phround(R, (&UGAAASP_n));
/* line 106: */
WFAAASP_setfpucw(VGAAASP_ocw);
/* line 107: */
/* line 108: */
WGAAASP = UGAAASP_n;
}
A_PROC_EXIT(round);
return( WGAAASP );
}
#undef NL
================================
And here are the two 16-bit definitions
================================
#define QGAAASP_fpucwalgol68round 0Xf3e2U
#define RGAAASP_fpucwalgol68entier 0X400U
================================
Not being a C programmer, I find it hard to produce a working C program.
Can you manage with the code snippet I've given? If not, I'll try to
produce a working C program.
Regards