Round down or up to the nearest integer.
+B<ROUND>
+
+Round to the nearest integer.
+
B<DEG2RAD, RAD2DEG>
Convert angle in degrees to radians, or radians to degrees.
add_op(OP_ROLL, ROLL)
add_op(OP_INDEX, INDEX)
add_op(OP_POW, POW)
+ add_op(OP_ROUND, ROUND)
#undef add_op
}
(*str)[offset] = '\0';
match_op(OP_STDEV, STDEV)
match_op(OP_PERCENT, PERCENT)
match_op(OP_POW, POW)
+ match_op(OP_ROUND, ROUND)
#undef match_op
else if ((sscanf(expr, DEF_NAM_FMT "%n", vname, &pos) == 1)
stackunderflow(0);
rpnstack->s[stptr] = ceil(rpnstack->s[stptr]);
break;
+ case OP_ROUND:
+ stackunderflow(0);
+ rpnstack->s[stptr] = round(rpnstack->s[stptr]);
+ break;
case OP_FLOOR:
stackunderflow(0);
rpnstack->s[stptr] = floor(rpnstack->s[stptr]);
OP_MEDIAN, OP_PREDICTPERC,
OP_DEPTH, OP_COPY, OP_ROLL, OP_INDEX, OP_STEPWIDTH,
OP_NEWDAY, OP_NEWWEEK, OP_NEWMONTH, OP_NEWYEAR,
- OP_SMIN, OP_SMAX, OP_STDEV, OP_PERCENT, OP_POW
+ OP_SMIN, OP_SMAX, OP_STDEV, OP_PERCENT, OP_POW, OP_ROUND
};
typedef struct rpnp_t {