/[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.23 by camm, Fri Oct 7 16:15:47 2005 UTC revision 1.24 by camm, Wed Oct 12 03:12:57 2005 UTC
# Line 660  print_hash_table (object ht,char *proced Line 660  print_hash_table (object ht,char *proced
660    else    else
661       FEerror("~S is an illegal hash-table test function.",1, test);       FEerror("~S is an illegal hash-table test function.",1, test);
662    
663    if (type_of(size)!=t_fixnum || fix(size)<=0)    if (type_of(size)!=t_fixnum || fix(size)<0)
664       FEerror("~S is an illegal hash-table size.", 1, size);       FEerror("~S is an illegal hash-table size.", 1, size);
665    
666    err=0;    err=0;
# Line 684  print_hash_table (object ht,char *proced Line 684  print_hash_table (object ht,char *proced
684    switch(type_of(rehash_threshold)) {    switch(type_of(rehash_threshold)) {
685    case t_fixnum:    case t_fixnum:
686      max_ent=fix(rehash_threshold);      max_ent=fix(rehash_threshold);
687      if (max_ent<=0 || max_ent>=fix(size)) err=1;      if (max_ent<0 || max_ent>fix(size)) err=1;
688      break;      break;
689    case t_shortfloat:    case t_shortfloat:
690      max_ent=(fixnum)(sf(rehash_threshold)*fix(size)+0.5);      max_ent=(fixnum)(sf(rehash_threshold)*fix(size)+0.5);
691      if (sf(rehash_threshold)<=0.0 || sf(rehash_threshold)>=1.0) err=1;      if (sf(rehash_threshold)<0.0 || sf(rehash_threshold)>1.0) err=1;
692      break;      break;
693    case t_longfloat:    case t_longfloat:
694      max_ent=(fixnum)(lf(rehash_threshold)*fix(size)+0.5);      max_ent=(fixnum)(lf(rehash_threshold)*fix(size)+0.5);
695      if (lf(rehash_threshold)<=0.0 || lf(rehash_threshold)>=1.0) err=1;      if (lf(rehash_threshold)<0.0 || lf(rehash_threshold)>1.0) err=1;
696      break;      break;
697      case t_ratio:
698        {
699          double d=number_to_double(rehash_threshold);
700          max_ent=(fixnum)(d*fix(size)+0.5);
701          if (d<0.0 || d>1.0) err=1;
702          break;
703        }
704          
705    default:    default:
706      max_ent = (7 * fix(size)) / 10;  /* Default to 70% */          max_ent = (7 * fix(size)) / 10;  /* Default to 70% */    
707      err=1;      err=1;

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

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