Fix floating point conversion and printing.
[pforth] / csrc / pfinnrfp.h
index 0428b25..e6c0104 100644 (file)
@@ -22,8 +22,8 @@
 ***************************************************************/\r
 \r
 #ifdef PF_SUPPORT_FP\r
 ***************************************************************/\r
 \r
 #ifdef PF_SUPPORT_FP\r
-\r
-#define FP_DHI1  (((PF_FLOAT)0x40000000)*4.0)\r
+
+#define FP_DHI1 (((PF_FLOAT)(1L<<(sizeof(cell_t)*8-2)))*4.0)\r
 \r
        case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */\r
                PUSH_FP_TOS;\r
 \r
        case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */\r
                PUSH_FP_TOS;\r