The MSVC x86_64 compiler defines long as 32-bits.
[pforth] / csrc / pfinnrfp.h
index b74b045..23b379b 100644 (file)
@@ -23,7 +23,7 @@
 
 #ifdef PF_SUPPORT_FP
 
 
 #ifdef PF_SUPPORT_FP
 
-#define FP_DHI1 (((PF_FLOAT)(1L<<(sizeof(cell_t)*8-2)))*4.0)
+#define FP_DHI1 (((PF_FLOAT)((cell_t)1<<(sizeof(cell_t)*8-2)))*4.0)
 
     case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */
         PUSH_FP_TOS;
 
     case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */
         PUSH_FP_TOS;
         break;
 
     case ID_FP_FROUND:
         break;
 
     case ID_FP_FROUND:
-        ERR("\nID_FP_FROUND -  Not Yet!! FIXME\n");
+        PUSH_TOS;
+        TOS = (cell_t)fp_round(FP_TOS);
+        M_FP_DROP;
         break;
 
     case ID_FP_FSWAP: /* ( -- ) ( F: r1 r2 -- r2 r1 ) */
         break;
 
     case ID_FP_FSWAP: /* ( -- ) ( F: r1 r2 -- r2 r1 ) */