Return to prim CVS log | Up to [gforth] / gforth |
version 1.103, 2002/12/03 10:47:49 | version 1.106, 2002/12/16 20:40:10 |
---|---|
Line 1288 while(u1--) | Line 1288 while(u1--) |
ASCII strings (larger if ubits is large), and should share no | ASCII strings (larger if ubits is large), and should share no |
divisors with ubits. | divisors with ubits. |
*/ | */ |
unsigned rot = ((char []){5,0,1,2,3,4,5,5,5,5,3,5,5,5,5,7,5,5,5,5,7,5,5,5,5,6,5,5,5,5,7,5,5})[ubits]; | static char rot_values[] = {5,0,1,2,3,4,5,5,5,5,3,5,5,5,5,7,5,5,5,5,7,5,5,5,5,6,5,5,5,5,7,5,5}; |
unsigned rot = rot_values[ubits]; | |
Char *cp = c_addr; | Char *cp = c_addr; |
for (ukey=0; cp<c_addr+u; cp++) | for (ukey=0; cp<c_addr+u; cp++) |
ukey = ((((ukey<<rot) | (ukey>>(ubits-rot))) | ukey = ((((ukey<<rot) | (ukey>>(ubits-rot))) |
Line 1808 floor ( r1 -- r2 ) float | Line 1809 floor ( r1 -- r2 ) float |
/* !! unclear wording */ | /* !! unclear wording */ |
r2 = floor(r1); | r2 = floor(r1); |
(fround) ( r1 -- r2 ) gforth paren_f_round | fround ( r1 -- r2 ) gforth f_round |
""Round to the nearest integral value. Primitive variant (unused)"" | ""Round to the nearest integral value."" |
/* !! eliminate this as primitive? */ | |
/* !! unclear wording */ | |
#ifdef HAVE_RINT | |
r2 = rint(r1); | r2 = rint(r1); |
#else | |
r2 = floor(r1+0.5); | |
/* !! This is not quite true to the rounding rules given in the standard */ | |
#endif | |
fmax ( r1 r2 -- r3 ) float f_max | fmax ( r1 r2 -- r3 ) float f_max |
if (r1<r2) | if (r1<r2) |
Line 2750 SUPER_CONTINUE; | Line 2744 SUPER_CONTINUE; |
cell+ | cell+ |
THEN >r ; | THEN >r ; |
\ set-next-code and call2 do not appear in images and can be | |
\ renumbered arbitrarily | |
set-next-code ( #w -- ) gforth set_next_code | set-next-code ( #w -- ) gforth set_next_code |
#ifdef NO_IP | #ifdef NO_IP |
next_code = (Label)w; | next_code = (Label)w; |
Line 2773 finish-code ( -- ) gforth finish_code | Line 2770 finish-code ( -- ) gforth finish_code |
flushing)."" | flushing)."" |
finish_code(); | finish_code(); |
forget-dyncode ( c_code -- f ) gforth-internal forget_dyncode | |
f = forget_dyncode(c_code); | |
decompile-prim ( a_code -- a_prim ) gforth-internal decompile_prim | |
""a_prim is the code address of the primitive that has been | |
compile_prim1ed to a_code"" | |
a_prim = decompile_code(a_code); | |
\+ | \+ |
include(peeprules.vmg) | include(peeprules.vmg) |