Diff for /gforth/prim between versions 1.250 and 1.253

version 1.250, 2010/05/17 09:01:11 version 1.253, 2010/08/20 20:17:28
Line 2492  c_addr = "libltdl is not configured"; Line 2492  c_addr = "libltdl is not configured";
 u = strlen(c_addr);  u = strlen(c_addr);
 #endif  #endif
   
 w!be ( w c_addr -- )    gforth w_store_be  be-w! ( w c_addr -- )   gforth w_store_be
 ""Store the bottom 16 bits of @i{w} at @i{c_addr} in big endian format.""  ""Store the bottom 16 bits of @i{w} at @i{c_addr} in big endian format.""
 *(Wyde*)(c_addr) = htobe16(w);  c_addr[0] = w >> 8;
   c_addr[1] = w;
   
 l!be ( w c_addr -- )    gforth l_store_be  be-l! ( w c_addr -- )   gforth l_store_be
 ""Store the bottom 32 bits of @i{w} at @i{c_addr} in big endian format.""  ""Store the bottom 32 bits of @i{w} at @i{c_addr} in big endian format.""
 *(Tetrabyte*)(c_addr) = htobe32(w);  c_addr[0] = w >> 24;
   c_addr[1] = w >> 16;
   c_addr[2] = w >> 8;
   c_addr[3] = w;
   
 x!be ( w c_addr -- )    gforth x_store_be  be-x! ( w c_addr -- )   gforth x_store_be
 ""Store the bottom 64 bits of @i{w} at @i{c_addr} in big endian format.""  ""Store the bottom 64 bits of @i{w} at @i{c_addr} in big endian format.""
 *(Octabyte*)(c_addr) = htobe64(w);  c_addr[0] = w >> 56;
   c_addr[1] = w >> 48;
   c_addr[2] = w >> 40;
   c_addr[3] = w >> 32;
   c_addr[4] = w >> 24;
   c_addr[5] = w >> 16;
   c_addr[6] = w >> 8;
   c_addr[7] = w;
   
 w!le ( w c_addr -- )    gforth w_store_le  le-w! ( w c_addr -- )   gforth w_store_le
 ""Store the bottom 16 bits of @i{w} at @i{c_addr} in big endian format.""  ""Store the bottom 16 bits of @i{w} at @i{c_addr} in big endian format.""
 *(Wyde*)(c_addr) = htole16(w);  c_addr[1] = w >> 8;
   c_addr[0] = w;
   
 l!le ( w c_addr -- )    gforth l_store_le  le-l! ( w c_addr -- )   gforth l_store_le
 ""Store the bottom 32 bits of @i{w} at @i{c_addr} in big endian format.""  ""Store the bottom 32 bits of @i{w} at @i{c_addr} in big endian format.""
 *(Tetrabyte*)(c_addr) = htole32(w);  c_addr[3] = w >> 24;
   c_addr[2] = w >> 16;
   c_addr[1] = w >> 8;
   c_addr[0] = w;
   
 x!le ( w c_addr -- )    gforth x_store_le  le-x! ( w c_addr -- )   gforth x_store_le
 ""Store the bottom 64 bits of @i{w} at @i{c_addr} in big endian format.""  ""Store the bottom 64 bits of @i{w} at @i{c_addr} in big endian format.""
 *(Octabyte*)(c_addr) = htole64(w);  c_addr[7] = w >> 56;
   c_addr[6] = w >> 48;
   c_addr[5] = w >> 40;
   c_addr[4] = w >> 32;
   c_addr[3] = w >> 24;
   c_addr[2] = w >> 16;
   c_addr[1] = w >> 8;
   c_addr[0] = w;
   
 w@be ( c_addr -- u )    gforth w_fetch_be  be-uw@ ( c_addr -- u )  gforth w_fetch_be
 ""@i{u} is the zero-extended 16-bit big endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 16-bit big endian value stored at @i{c_addr}.""
 u = be16toh(*(UWyde*)(c_addr));  u = (c_addr[0] << 8) | (c_addr[1]);
   
 l@be ( c_addr -- u )    gforth l_fetch_be  be-ul@ ( c_addr -- u )  gforth l_fetch_be
 ""@i{u} is the zero-extended 32-bit big endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 32-bit big endian value stored at @i{c_addr}.""
 u = be32toh(*(UTetrabyte*)(c_addr));  u = (c_addr[0] << 24) | (c_addr[1] << 16) | (c_addr[2] << 8) | (c_addr[3]);
   
 x@be ( c_addr -- u )    gforth x_fetch_be  be-ux@ ( c_addr -- u )  gforth x_fetch_be
 ""@i{u} is the zero-extended 64-bit big endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 64-bit big endian value stored at @i{c_addr}.""
 u = be64toh(*(UOctabyte*)(c_addr));  u = (((Cell)(c_addr[0]) << 56) |
        ((Cell)(c_addr[1]) << 48) |
        ((Cell)(c_addr[2]) << 40) |
        ((Cell)(c_addr[3]) << 32) |
        ((Cell)(c_addr[4]) << 24) |
        ((Cell)(c_addr[5]) << 16) |
        ((Cell)(c_addr[6]) << 8) |
        ((Cell)(c_addr[7])));
   
 w@le ( c_addr -- u )    gforth w_fetch_le  le-uw@ ( c_addr -- u )  gforth w_fetch_le
 ""@i{u} is the zero-extended 16-bit little endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 16-bit little endian value stored at @i{c_addr}.""
 u = le16toh(*(UWyde*)(c_addr));  u = (c_addr[1] << 8) | (c_addr[0]);
   
 l@le ( c_addr -- u )    gforth l_fetch_le  le-ul@ ( c_addr -- u )  gforth l_fetch_le
 ""@i{u} is the zero-extended 32-bit little endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 32-bit little endian value stored at @i{c_addr}.""
 u = le32toh(*(UTetrabyte*)(c_addr));  u = (c_addr[3] << 24) | (c_addr[2] << 16) | (c_addr[1] << 8) | (c_addr[0]);
   
 x@le ( c_addr -- u )    gforth x_fetch_le  le-ux@ ( c_addr -- u )  gforth x_fetch_le
 ""@i{u} is the zero-extended 64-bit little endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 64-bit little endian value stored at @i{c_addr}.""
 u = le64toh(*(UOctabyte*)(c_addr));  u = (((Cell)(c_addr[7]) << 56) |
        ((Cell)(c_addr[6]) << 48) |
        ((Cell)(c_addr[5]) << 40) |
        ((Cell)(c_addr[4]) << 32) |
        ((Cell)(c_addr[3]) << 24) |
        ((Cell)(c_addr[2]) << 16) |
        ((Cell)(c_addr[1]) << 8) |
        ((Cell)(c_addr[0])));
   
 \+  \+
 \g peephole  \g peephole

Removed from v.1.250  
changed lines
  Added in v.1.253


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