From: Phil Burk Date: Sun, 31 Oct 2021 23:51:04 +0000 (-0700) Subject: pforth: fix FROUND (#101) X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=83798fe4d7af4f01580535962f4e9956c7c6c49e;p=debian%2Fpforth pforth: fix FROUND (#101) It used to push the result to the integer data stack. That was wrong. It should go to the float stack. Fixes #69 --- diff --git a/csrc/pfinnrfp.h b/csrc/pfinnrfp.h index 21d3484..4a3095b 100644 --- a/csrc/pfinnrfp.h +++ b/csrc/pfinnrfp.h @@ -209,9 +209,11 @@ break; case ID_FP_FROUND: - PUSH_TOS; - TOS = (cell_t)fp_round(FP_TOS); - M_FP_DROP; + /* This was broken before and used to push its result to the + * integer data stack! Now it conforms to the ANSI standard. + * https://github.com/philburk/pforth/issues/69 + */ + FP_TOS = (PF_FLOAT)fp_round(FP_TOS); break; case ID_FP_FSWAP: /* ( -- ) ( F: r1 r2 -- r2 r1 ) */