/[gcl]/gcl/o/hash.d
ViewVC logotype

Diff of /gcl/o/hash.d

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.22 by camm, Thu Oct 6 20:30:08 2005 UTC revision 1.23 by camm, Fri Oct 7 16:15:47 2005 UTC
# Line 260  BEGIN: Line 260  BEGIN:
260    
261      case t_package:      case t_package:
262        break;        break;
263      case t_bitvector:  /*     case t_bitvector: */
264        {  /*       { */
265          static char ar[10];  /*      static char ar[10]; */
266          i = x->bv.bv_fillp;  /*      i = x->bv.bv_fillp; */
267          h += i;  /*      h += i; */
268          i = i/8;  /*      i = i/8; */
269          if (i > 10) i= 10;  /*      if (i > 10) i= 10; */
270          s = x->bv.bv_self;  /*      s = x->bv.bv_self; */
271          if (x->bv.bv_offset) {  /*      if (x->bv.bv_offset) { */
272            long k,j,e=i;  /*        long k,j,e=i; */
273            s = ar;  /*        s = ar; */
274            /* 8 should be CHAR_SIZE but this needs to be changed            /* 8 should be CHAR_SIZE but this needs to be changed
275               everywhere .. */               everywhere .. */
276            e = e * 8;  /*        e = e * 8; */
277            bzero(ar,sizeof(ar)); /*FIXME is this not a generic copy? */  /*        bzero(ar,sizeof(ar)); /\*FIXME is this not a generic copy? *\/ */
278            for (k = x->bv.bv_offset, j = 0;  k < e;  k++, j++)  /*        for (k = x->bv.bv_offset, j = 0;  k < e;  k++, j++) */
279              if (x->bv.bv_self[k/8]&(0200>>k%8))  /*          if (x->bv.bv_self[k/8]&(0200>>k%8)) */
280                ar[j/8]  |= 0200>>j%8;  /*            ar[j/8]  |= 0200>>j%8; */
281          }  /*      } */
282          for (;  i > 0;  --i, s++)  /*      for (;  i > 0;  --i, s++) */
283            h += (*s & 0377)*12345 + 1;  /*        h += (*s & 0377)*12345 + 1; */
284        }  /*       } */
285        break;  /*       break; */
286    
287      case t_string:      case t_string:
288        case t_bitvector:
289      case t_vector:      case t_vector:
290        j=x->v.v_fillp;        j=x->v.v_fillp;
291        h+=j*12345;        h+=j*12345;

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26