version 1.259, 2011/11/21 01:37:12
|
version 1.264, 2011/12/31 15:29:25
|
Line 1
|
Line 1
|
\ Gforth primitives |
\ Gforth primitives |
|
|
\ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010,2011 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
Line 1103 lshift ( u1 n -- u2 ) core l_shift
|
Line 1103 lshift ( u1 n -- u2 ) core l_shift
|
: |
: |
0 ?DO 2* LOOP ; |
0 ?DO 2* LOOP ; |
|
|
|
umax ( u1 u2 -- u ) core |
|
if (u1<u2) |
|
u = u2; |
|
else |
|
u = u1; |
|
: |
|
2dup u< IF swap THEN drop ; |
|
|
|
umin ( u1 u2 -- u ) core |
|
if (u1<u2) |
|
u = u1; |
|
else |
|
u = u2; |
|
: |
|
2dup u> IF swap THEN drop ; |
|
|
\g compare |
\g compare |
|
|
\ comparisons(prefix, args, prefix, arg1, arg2, wordsets...) |
\ comparisons(prefix, args, prefix, arg1, arg2, wordsets...) |
Line 2035 dsystem = DZERO;
|
Line 2051 dsystem = DZERO;
|
|
|
ntime ( -- dtime ) gforth |
ntime ( -- dtime ) gforth |
""Report the current time in nanoseconds since some epoch."" |
""Report the current time in nanoseconds since some epoch."" |
struct timespec t; |
struct timespec time1; |
clock_gettime(CLOCK_REALTIME,&t); |
#ifdef HAVE_CLOCK_GETTIME |
dtime = timespec2ns(&t); |
clock_gettime(CLOCK_REALTIME,&time1); |
|
#else |
|
struct timeval time2; |
|
gettimeofday(&time2,NULL); |
|
time1.tv_sec = time2.tv_sec; |
|
time1.tv_nsec = time2.tv_usec*1000; |
|
#endif |
|
dtime = timespec2ns(&time1); |
|
|
\+ |
\+ |
|
|