version 1.277, 2012/09/17 19:58:36
|
version 1.280, 2012/12/31 15:25:18
|
Line 1
|
Line 1
|
\ Gforth primitives |
\ Gforth primitives |
|
|
\ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010,2011 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
Line 1109 if (u1<u2)
|
Line 1109 if (u1<u2)
|
else |
else |
u = u1; |
u = u1; |
: |
: |
2dup u< IF swap THEN drop ; |
2dup u> select ; |
|
|
umin ( u1 u2 -- u ) core |
umin ( u1 u2 -- u ) core |
if (u1<u2) |
if (u1<u2) |
Line 1117 if (u1<u2)
|
Line 1117 if (u1<u2)
|
else |
else |
u = u2; |
u = u2; |
: |
: |
2dup u> IF swap THEN drop ; |
2dup u< select ; |
|
|
|
mux ( u1 u2 u3 -- u ) gforth |
|
""multiplex @i{u1} for 1 bits in @i{u3}, @i{u2} for 0 bits in @i{u3} into @i{u}"" |
|
u = (u3 & u1) | (~u3 & u2); |
|
: |
|
tuck and >r invert and r> ; |
|
|
|
select ( u1 u2 f -- u ) gforth |
|
""select @i{u1} if @i{f} is true, @i{u2} if false."" |
|
u = f ? u1 : u2; |
|
: |
|
IF swap THEN nip ; |
|
|
\g compare |
\g compare |
|
|
Line 1519 c_addr2 = c_addr1+1;
|
Line 1531 c_addr2 = c_addr1+1;
|
cell/ ( n1 -- n2 ) gforth cell_divide |
cell/ ( n1 -- n2 ) gforth cell_divide |
""@i{n2} is the number of cells that fit into @i{n1}"" |
""@i{n2} is the number of cells that fit into @i{n1}"" |
n2 = n1 / sizeof(Cell); |
n2 = n1 / sizeof(Cell); |
|
: |
|
[ cell |
|
2/ dup [IF] ] 2/ [ [THEN] |
|
2/ dup [IF] ] 2/ [ [THEN] |
|
2/ dup [IF] ] 2/ [ [THEN] |
|
2/ dup [IF] ] 2/ [ [THEN] |
|
drop ] ; |
|
|
\g compiler |
\g compiler |
|
|
Line 2083 clock_gettime(CLOCK_REALTIME,&time1);
|
Line 2102 clock_gettime(CLOCK_REALTIME,&time1);
|
#else |
#else |
struct timeval time2; |
struct timeval time2; |
gettimeofday(&time2,NULL); |
gettimeofday(&time2,NULL); |
time1.tv_sec = time2.tv_sec;1 |
time1.tv_sec = time2.tv_sec; |
time1.tv_nsec = time2.tv_usec*1000; |
time1.tv_nsec = time2.tv_usec*1000; |
#endif |
#endif |
dtime = timespec2ns(&time1); |
dtime = timespec2ns(&time1); |