Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #9318

Re: Hash table implementation.

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Hash table implementation.
Date 2011-08-12 18:40 -0700
Organization None to speak of
Message-ID <lnliuy5brv.fsf@nuthaus.mib.org> (permalink)
References (2 earlier) <6c50701d-345b-4573-8ee7-cdd09d9498d4@a27g2000yqc.googlegroups.com> <pan.2011.08.12.08.47.35.423000@nowhere.com> <009f21dc-6939-444e-8d74-c2fa9e8a41be@k15g2000yqd.googlegroups.com> <lnr54q7i8g.fsf@nuthaus.mib.org> <L5idnevnpJAGUNjTnZ2dnUVZ_jKdnZ2d@posted.internetamerica>

Show all headers | View raw


gordonb.4sxmx@burditt.org (Gordon Burditt) writes:
> IEEE floating point numbers have at least two different representations
> for zero and negative zero.  They can't *BOTH* be represented by
> all-bits-zero.  That's a very large chunk of implementations that
> have at least one representation for zero that isn't all-bits-zero.

Your fear of properly attributing quoted text has led you to snip
the entire context for this.  Thank you for respecting my wishes by
not quoting my text without attribution, though.  (Would changing
your attribution lines to "Someone posting as So-and-so appears to
have written:" work for you?)

Anyway...

The fact that there can be more than one representation for zero
isn't a problem for calloc(), as long as all-bits-zero is *a*
representation for zero.

Integer types can have multiple representations for 0, either because
they use either 1s'-complement or sign-and-magnitude, or because they
have padding bits.  The standard merely requires that all-bits-zero
must be one of the representations (more commonly it's the only
representation for zero).  This requirement was added in one of the
post-C99 Technical Corrigenda.  (Presumably the committee was willing
to do this because every implementation already satisified it.)

That's enough to ensure that

    int *p = calloc(N, sizeof *p);

will set all N elements of the allocated array to 0 (if it doesn't
return NULL, of course).

If there were similar guarantees for floating-point and pointer
types, then calloc() could be used to initialize any object to zero
in a manner similar to a "{ 0 }" initializer.

I'm not entirely convinced that adding such guarantees to the
language would be a bad idea.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Hash table implementation. lolzy@live.nl - 2011-08-11 10:43 -0700
  Re: Hash table implementation. China Blue Tip Wrench <chine.bleu@yahoo.com> - 2011-08-11 11:25 -0700
  Re: Hash table implementation. Keith Thompson <kst-u@mib.org> - 2011-08-11 11:49 -0700
    Re: Hash table implementation. Ralf Damaschke <rwspam@gmx.de> - 2011-08-11 20:02 +0000
  Re: Hash table implementation. Ike Naar <ike@sverige.freeshell.org> - 2011-08-11 22:02 +0000
  Re: Hash table implementation. "Scott Fluhrer" <sfluhrer@ix.netcom.com> - 2011-08-11 18:14 -0400
    Re: Hash table implementation. lolzy@live.nl - 2011-08-11 23:55 -0700
      Re: Hash table implementation. lolzy@live.nl - 2011-08-12 01:38 -0700
      Re: Hash table implementation. Nobody <nobody@nowhere.com> - 2011-08-12 09:47 +0100
        Re: Hash table implementation. tom st denis <tom@iahu.ca> - 2011-08-12 06:15 -0700
          Re: Hash table implementation. James Kuyper <jameskuyper@verizon.net> - 2011-08-12 11:34 -0400
            Re: Hash table implementation. Keith Thompson <kst-u@mib.org> - 2011-08-12 08:50 -0700
              Re: Hash table implementation. James Kuyper <jameskuyper@verizon.net> - 2011-08-12 12:24 -0400
          Re: Hash table implementation. Keith Thompson <kst-u@mib.org> - 2011-08-12 08:38 -0700
            Re: Hash table implementation. tom st denis <tom@iahu.ca> - 2011-08-12 10:17 -0700
              Re: Hash table implementation. James Kuyper <jameskuyper@verizon.net> - 2011-08-12 13:54 -0400
                Re: Hash table implementation. tom st denis <tom@iahu.ca> - 2011-08-12 11:30 -0700
                Re: Hash table implementation. Seebs <usenet-nospam@seebs.net> - 2011-08-12 20:39 +0000
                Re: Hash table implementation. Keith Thompson <kst-u@mib.org> - 2011-08-12 14:08 -0700
            Re: Hash table implementation. gordonb.4sxmx@burditt.org (Gordon Burditt) - 2011-08-12 20:04 -0500
              Re: Hash table implementation. Keith Thompson <kst-u@mib.org> - 2011-08-12 18:40 -0700
                Re: Hash table implementation. Harald van Dijk <truedfx@gmail.com> - 2011-08-13 12:59 -0700
              Re: Hash table implementation. Seebs <usenet-nospam@seebs.net> - 2011-08-13 02:34 +0000
      Re: Hash table implementation. Ike Naar <ike@iceland.freeshell.org> - 2011-08-12 11:13 +0000
      Re: Hash table implementation. Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-08-12 07:24 -0400
      Re: Hash table implementation. Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-08-12 09:27 -0600
      Re: Hash table implementation. Seebs <usenet-nospam@seebs.net> - 2011-08-12 18:37 +0000
      Re: Hash table implementation. Jens Gustedt <Jens.Gustedt@loria.fr> - 2011-08-13 00:08 +0200
        Re: Hash table implementation. Keith Thompson <kst-u@mib.org> - 2011-08-12 15:26 -0700
          Re: Hash table implementation. Jens Gustedt <Jens.Gustedt@loria.fr> - 2011-08-13 15:11 +0200
            Re: Hash table implementation. Keith Thompson <kst-u@mib.org> - 2011-08-13 11:38 -0700
              Re: Hash table implementation. Jens Gustedt <Jens.Gustedt@loria.fr> - 2011-08-13 21:03 +0200
        Re: Hash table implementation. "Herbert Rosenau" <os2guy@pc-rosenau.de> - 2011-08-19 08:17 +0000
          Re: Hash table implementation. Jens Gustedt <jens.gustedt@loria.fr> - 2011-08-19 13:29 +0200
          Re: Hash table implementation. Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-08-19 14:35 +0300
  Re: Hash table implementation. Michael Angelo Ravera <maravera@prodigy.net> - 2011-08-12 02:54 -0700
  Re: Hash table implementation. Rui Maciel <rui.maciel@gmail.com> - 2011-08-13 23:11 +0100
    Re: Hash table implementation. Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-08-14 00:56 +0100
      Re: Hash table implementation. lolzy@live.nl - 2011-08-14 00:11 -0700
        Re: Hash table implementation. Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-08-14 11:57 +0100

csiph-web