### Diff for /gforth/prim between versions 1.53 and 1.54

version 1.53, 2000/08/11 19:49:39 version 1.54, 2000/08/14 19:15:53
u=sizeof(newline);  u=sizeof(newline);
:  :
"newline count ;   "newline count ;
Create "newline 1 c, \$0A c,  Create "newline e? crlf [IF] 2 c, \$0D c, [ELSE] 1 c, [THEN] \$0A c,

\+os

utime   ( -- dtime )    gforth  utime   ( -- dtime )    gforth
""Report the current time in microseconds since some epoch.""  ""Report the current time in microseconds since some epoch.""
Line 2287  duser = timeval2us(&time1); Line 2289  duser = timeval2us(&time1);
dsystem = (DCell)0;  dsystem = (DCell)0;
#endif  #endif

\+

\+floating

v*      ( f_addr1 nstride1 f_addr2 nstride2 ucount -- r ) gforth v_star  v*      ( f_addr1 nstride1 f_addr2 nstride2 ucount -- r ) gforth v_star
""dot-product: r=v1*v2.  The first element of v1 is at f_addr1, the  ""dot-product: r=v1*v2.  The first element of v1 is at f_addr1, the
next at f_addr1+nstride1 and so on (similar for v2). Both vectors have  next at f_addr1+nstride1 and so on (similar for v2). Both vectors have
Line 2296  for (r=0.; ucount>0; ucount--) { Line 2302  for (r=0.; ucount>0; ucount--) {
}  }
:
>r swap 2swap swap 0e r> 0 ?DO
dup f@ over + 2swap dup f@ f* f+ over + 2swap
LOOP 2drop 2drop ;

faxpy   ( ra f_x nstridex f_y nstridey ucount -- )      gforth  faxpy   ( ra f_x nstridex f_y nstridey ucount -- )      gforth
""vy=ra*vx+vy""  ""vy=ra*vx+vy""
Line 2304  for (; ucount>0; ucount--) { Line 2314  for (; ucount>0; ucount--) {
f_x = (Float *)(((Address)f_x)+nstridex);    f_x = (Float *)(((Address)f_x)+nstridex);
f_y = (Float *)(((Address)f_y)+nstridey);    f_y = (Float *)(((Address)f_y)+nstridey);
}  }
:
>r swap 2swap swap r> 0 ?DO
fdup dup f@ f* over + 2swap dup f@ f+ dup f! over + 2swap
LOOP 2drop 2drop fdrop ;

\+

 Removed from v.1.53 changed lines Added in v.1.54

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>