S>D

( n -- d )

Convert the number n to the double-cell number d with the same numerical value.

Testing:

T{       0 S>D ->       0  0 }T
T{       1 S>D ->       1  0 }T
T{       2 S>D ->       2  0 }T
T{      -1 S>D ->      -1 -1 }T
T{      -2 S>D ->      -2 -1 }T
T{ MIN-INT S>D -> MIN-INT -1 }T
T{ MAX-INT S>D -> MAX-INT  0 }T

ruvWord set of S>D wordRequest for clarification2020-05-29 10:10:51

Why `S>D` word is placed into CORE word set? What we can do with a double number (that `S>D` produces) without other words for double numbers?

It seems this word should be in Double-Number word set. What do you think?

MarcelHendrix 2020-05-30 04:18:16

Didn't you forget about number formatting, interfacing with FM/MOD, SM/REM, REPOSITION-FILE and FILE-SIZE ?

MarcelHendrix 2020-05-30 04:18:38

Didn't you forget about number formatting, interfacing with FM/MOD, SM/REM, REPOSITION-FILE and FILE-SIZE ?

AntonErtl 2020-05-30 09:36:27

A quick (and possibly incomplete) search of words found the following words that take a d as input and do not require the double wordset to be present:

core: fm/mod sm/rem

float: d>f

Number conversion words and REPOSITION-FILE take an ud, so do not need S>D. Anyway, the words above seem to be good reasons for having s>d in core.

But in any case, it's water down the river. There is very little point in changing the wordset of a word in a later release. There is probably also little harm in this case, because most (all?) standard systems include double by default, but that reinforces the point that there is little point.

StephenPelc 2020-09-02 21:10:07

The Technical committee has considered your submission.
The number conversion words <# # #S #> and friends require double numbers.
In order to use these words to display both single and double numbers S>D is required. Therefore we leave S>D in the CORE word set.

Closed