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


Groups > comp.lang.c > #83511 > unrolled thread

Testing nodes and lists for hashtable

Started byAlla _ <modelling.data@gmail.com>
First post2016-03-09 00:52 -0800
Last post2016-03-30 07:00 -0700
Articles 20 on this page of 330 — 24 participants

Back to article view | Back to comp.lang.c


Contents

  Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 00:52 -0800
    Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-09 10:13 +0000
      Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 02:19 -0800
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 02:23 -0800
        Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-09 13:00 +0000
    Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-09 02:38 -0800
      Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 02:59 -0800
        Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-09 10:35 -0800
          Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-10 00:20 -0800
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 02:56 -0800
      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-09 13:11 +0000
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 06:37 -0800
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-09 15:50 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 08:19 -0800
              Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-09 17:18 +0000
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-10 00:11 -0800
                  Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-10 08:48 +0000
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-10 04:17 -0800
                  Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-10 11:12 +0000
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-10 04:16 -0800
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-10 04:20 -0800
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 08:41 -0800
              Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-09 17:27 +0000
                Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-09 22:41 -0600
                  Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-10 10:38 +0000
                    Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-10 09:37 -0600
                      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-10 15:51 +0000
                        Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-10 18:42 -0600
                        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 04:17 -0800
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-10 00:18 -0800
                  Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-10 08:51 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 08:50 -0800
    Re: Testing nodes and lists for hashtable jadill33@gmail.com - 2016-03-09 07:16 -0800
    Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-09 09:27 -0600
      Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-09 07:46 -0800
        Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-09 10:56 -0800
          Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-10 00:25 -0800
            Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-10 08:55 -0800
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 01:14 -0800
      Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-11 01:53 -0800
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 02:25 -0800
          Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-11 12:31 -0800
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-12 00:03 -0800
              Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-12 09:04 -0800
        Re: Testing nodes and lists for hashtable mark.bluemel@gmail.com - 2016-03-11 02:30 -0800
          Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 02:39 -0800
            Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-11 02:52 -0800
              Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 04:09 -0800
              Re: Testing nodes and lists for hashtable mark.bluemel@gmail.com - 2016-03-14 08:41 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 02:34 -0800
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 02:41 -0800
          Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-11 12:14 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 04:20 -0800
              Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-11 12:33 +0000
              Re: Testing nodes and lists for hashtable Randy Howard <rhoward.mx@EverybodyUsesIt.com> - 2016-03-11 12:12 -0600
                Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-11 10:24 -0800
                Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-11 19:04 +0000
                  Re: Testing nodes and lists for hashtable Randy Howard <rhoward.mx@EverybodyUsesIt.com> - 2016-03-11 14:20 -0600
                  Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 23:55 -0800
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 04:23 -0800
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 04:25 -0800
              Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-11 12:36 +0000
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 05:56 -0800
                  Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-11 14:55 +0000
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 07:22 -0800
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 07:29 -0800
                      Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-11 16:01 +0000
                        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 23:41 -0800
                          Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-13 13:48 +0000
                    Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-11 20:20 +0000
                      Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-13 13:06 +0000
                  Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-12 17:41 -0600
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-13 05:03 -0700
                      Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-13 13:50 +0000
                        Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-13 10:32 -0500
                          Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 09:18 -0700
                          Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-13 16:31 +0000
                            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-13 10:17 -0700
                      Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-13 10:17 -0500
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-13 09:06 -0700
                      Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 09:51 -0700
                        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-13 10:31 -0700
                      Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-13 12:41 -0500
      Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-11 08:41 -0800
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-11 23:54 -0800
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-12 08:10 -0800
      Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-12 08:17 -0800
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-12 08:19 -0800
          Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-12 09:16 -0800
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-13 04:17 -0700
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-12 19:37 +0000
            Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-13 11:20 -0500
              Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-13 21:37 +0000
        Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-12 09:48 -0800
          Re: Testing nodes and lists for hashtable raltbos@xs4all.nl (Richard Bos) - 2016-03-12 20:31 +0000
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-12 21:18 +0000
          Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-12 17:54 -0600
          Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-13 04:25 -0700
            Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 04:44 -0700
              Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-13 12:31 -0500
                Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 11:14 -0700
                  Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-13 16:17 -0500
                    Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 14:37 -0700
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-13 11:43 -0700
      Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 12:08 -0700
      Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-13 16:31 -0500
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 01:12 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 01:21 -0700
          Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-14 13:48 -0500
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 01:43 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 01:35 -0700
          Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-14 13:44 -0500
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 01:39 -0700
      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-13 23:04 +0000
        Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 16:09 -0700
          Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-13 17:54 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 01:58 -0700
          Re: Testing nodes and lists for hashtable fir <profesor.fir@gmail.com> - 2016-03-14 03:08 -0700
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-14 10:59 +0000
            Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-14 04:59 -0700
              Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-14 13:15 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 11:09 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 03:18 -0700
          Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-14 11:03 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 11:17 -0700
              Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-14 15:16 -0700
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 01:59 -0700
                  Re: Testing nodes and lists for hashtable Barry Schwarz <schwarz45@yahoo.com> - 2016-03-15 20:13 -0700
                    Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-15 22:09 -0700
                    Re: Testing nodes and lists for hashtable BartC <bc@freeuk.com> - 2016-03-16 11:53 +0000
                    Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 09:39 -0500
                      Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 07:57 -0700
                        Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-16 08:38 -0700
                          Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 09:04 -0700
                            Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 11:22 -0500
                            Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-16 10:42 -0700
                              Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 10:57 -0700
                                Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-16 11:57 -0700
                        Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 10:43 -0500
                      Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-16 10:59 -0700
                        Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 13:22 -0500
                          Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-16 16:09 -0700
                            Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-16 17:03 -0700
                            Re: Testing nodes and lists for hashtable raltbos@xs4all.nl (Richard Bos) - 2016-03-20 13:04 +0000
                            Re: Testing nodes and lists for hashtable Tim Rentsch <txr@alumni.caltech.edu> - 2016-03-30 09:07 -0700
                              Re: Testing nodes and lists for hashtable luser droog <luser.droog@gmail.com> - 2016-03-31 20:34 -0700
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-14 14:04 +0000
          Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-14 11:07 -0700
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 03:49 -0700
      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-14 13:03 +0000
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 11:24 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-14 11:41 -0700
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-14 19:35 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 01:53 -0700
              Re: Testing nodes and lists for hashtable luser droog <luser.droog@gmail.com> - 2016-03-15 02:03 -0700
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 02:09 -0700
                  Re: Testing nodes and lists for hashtable luser droog <luser.droog@gmail.com> - 2016-03-15 02:13 -0700
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 02:22 -0700
                  Re: Testing nodes and lists for hashtable luser droog <luser.droog@gmail.com> - 2016-03-15 02:15 -0700
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 02:28 -0700
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 02:30 -0700
              Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-15 09:13 +0000
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 02:28 -0700
                Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-15 03:15 -0700
                  Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-15 13:26 +0000
                  Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-15 09:18 -0700
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 03:19 -0700
                  Re: Testing nodes and lists for hashtable David Brown <david.brown@hesbynett.no> - 2016-03-15 15:21 +0100
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 08:39 -0700
                      Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-15 09:26 -0700
                        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 00:10 -0700
                  Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-15 09:19 -0700
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 00:08 -0700
                      Re: Testing nodes and lists for hashtable David Brown <david.brown@hesbynett.no> - 2016-03-16 08:55 +0100
                      Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-16 09:17 -0700
                        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 09:25 -0700
          Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-14 13:06 -0700
            Re: Testing nodes and lists for hashtable Gareth Owen <gwowen@gmail.com> - 2016-03-14 20:29 +0000
            Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-14 21:03 +0000
              Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-14 14:57 -0700
                Re: Testing nodes and lists for hashtable raltbos@xs4all.nl (Richard Bos) - 2016-03-14 22:35 +0000
              Re: Testing nodes and lists for hashtable David Brown <david.brown@hesbynett.no> - 2016-03-16 19:47 +0100
            Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-14 14:26 -0700
      Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-14 11:37 -0700
      Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-14 11:37 -0700
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-15 08:58 -0700
      Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-15 16:12 +0000
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 00:04 -0700
      Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-15 10:48 -0700
        Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-15 18:00 +0000
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-15 19:20 +0000
            Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-15 21:24 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 00:50 -0700
              Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-16 11:19 +0000
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 04:37 -0700
                  Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 11:51 +0000
                    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 05:20 -0700
                      Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 07:13 -0700
                        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 09:05 -0700
                Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 11:45 +0000
                  Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-16 13:46 +0000
                    Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 14:00 +0000
                    Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 07:05 -0700
                      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-16 16:42 +0000
                        Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 10:21 -0700
                          Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 17:33 +0000
                            Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 10:44 -0700
                              Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 18:00 +0000
                                Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 11:08 -0700
                                  Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 18:19 +0000
                                    Re: Testing nodes and lists for hashtable Gareth Owen <gwowen@gmail.com> - 2016-03-16 19:38 +0000
                                      Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 14:00 -0700
                                      Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 21:52 +0000
                                        Re: Testing nodes and lists for hashtable Gareth Owen <gwowen@gmail.com> - 2016-03-16 22:12 +0000
                                Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 13:39 -0500
                          Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-16 15:39 -0700
                            Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-17 02:59 +0000
                              Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-17 04:20 -0700
                                Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-17 23:46 +0000
                                  Re: Testing nodes and lists for hashtable Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-17 20:04 -0400
                                    Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-18 01:05 +0000
                                      Re: Testing nodes and lists for hashtable Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-17 22:35 -0400
                                  Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-17 17:19 -0700
                                    Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-18 01:39 +0000
                                      Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-18 02:54 -0700
                                        Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-18 09:08 -0500
                                          Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-18 11:20 -0700
                                        Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-18 21:29 +0000
                                          Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-18 17:48 -0700
                            Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 22:09 -0500
                              Re: Testing nodes and lists for hashtable raltbos@xs4all.nl (Richard Bos) - 2016-03-17 11:49 +0000
                                Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-17 08:45 -0700
                                Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-17 12:11 -0500
                                  Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-17 10:31 -0700
                                    Re: Testing nodes and lists for hashtable Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-17 11:09 -0700
                                      Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-17 16:15 -0500
                                      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-18 00:39 +0000
                      Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 12:04 -0500
                    Re: Testing nodes and lists for hashtable Steve Thompson <stevet810@gmail.com> - 2016-03-17 14:21 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 00:53 -0700
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 01:00 -0700
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 01:24 -0700
              Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-16 11:08 +0000
                Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 11:25 +0000
          Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 00:41 -0700
            Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 08:27 -0500
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 06:43 -0700
      Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 14:07 +0000
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 08:16 -0700
          Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-16 15:25 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 08:30 -0700
      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-16 20:32 +0000
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 03:26 -0700
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-17 16:15 +0000
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 11:07 -0700
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 08:47 -0700
      Re: Testing nodes and lists for hashtable Stephen Sprunk <stephen@sprunk.org> - 2016-03-16 10:54 -0500
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 09:35 -0700
      Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-16 11:31 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 02:53 -0700
          Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-28 18:08 -0700
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 02:07 -0700
              Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-30 09:45 -0700
                Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-30 17:54 +0100
      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-16 20:26 +0000
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 03:00 -0700
          Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-17 16:05 +0000
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-16 09:10 -0700
      Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-16 12:24 -0700
        Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-16 13:16 -0700
          Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-16 16:20 -0700
            Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-16 16:54 -0700
            Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-16 17:27 -0700
        Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-16 13:18 -0700
      Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-16 20:21 +0000
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 04:23 -0700
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 04:47 -0700
      Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 05:40 -0700
        Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-17 12:49 +0000
          Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 06:45 -0700
        Re: Testing nodes and lists for hashtable mark.bluemel@gmail.com - 2016-03-17 10:00 -0700
          Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-17 12:40 -0700
    Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-28 12:00 -0700
      Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-28 12:37 -0700
        Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-28 17:43 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 01:31 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 01:55 -0700
          Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-30 10:23 +0100
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 02:32 -0700
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 02:33 -0700
          Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 07:04 -0700
            Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-30 15:17 +0100
              Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 07:46 -0700
                Re: Testing nodes and lists for hashtable Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-30 16:41 +0100
                  Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 09:16 -0700
                    Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 09:18 -0700
                    Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 09:37 -0700
          Re: Testing nodes and lists for hashtable Barry Schwarz <schwarzb@dqel.com> - 2016-03-30 10:32 -0700
            Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-30 12:10 -0700
      Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-28 17:42 -0700
        Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-29 08:51 -0700
          Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-29 09:56 -0700
            Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-29 12:09 -0700
              Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-29 16:34 -0700
                Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-29 16:50 -0700
                  Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-29 17:17 -0700
                  Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 02:30 -0700
                Re: Testing nodes and lists for hashtable Richard Heathfield <rjh@cpax.org.uk> - 2016-03-30 00:52 +0100
                  Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-29 17:27 -0700
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 02:26 -0700
                  Re: Testing nodes and lists for hashtable mark.bluemel@gmail.com - 2016-03-30 07:09 -0700
                  Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 07:33 -0700
                    Re: Testing nodes and lists for hashtable Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-30 11:32 -0400
                      Re: Testing nodes and lists for hashtable mrs@kithrup.com (Mike Stump) - 2016-04-29 08:21 +0000
                        Re: Testing nodes and lists for hashtable Jerry Stuckle <jstucklex@attglobal.net> - 2016-04-29 10:35 -0400
                          Re: Testing nodes and lists for hashtable Ken Brody <kenbrody@spamcop.net> - 2016-04-29 11:29 -0400
                            Re: Testing nodes and lists for hashtable Jerry Stuckle <jstucklex@attglobal.net> - 2016-04-29 12:21 -0400
                              Re: Testing nodes and lists for hashtable Ken Brody <kenbrody@spamcop.net> - 2016-05-02 11:55 -0400
                                Re: Testing nodes and lists for hashtable Jerry Stuckle <jstucklex@attglobal.net> - 2016-05-02 13:13 -0400
                  Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-30 08:15 -0700
                    Re: Testing nodes and lists for hashtable Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-30 11:39 -0400
                      Re: Testing nodes and lists for hashtable supercat@casperkitty.com - 2016-03-30 09:47 -0700
                  Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 08:48 -0700
            Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 02:18 -0700
              Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 06:56 -0700
                Re: Testing nodes and lists for hashtable Keith Thompson <kst-u@mib.org> - 2016-03-30 09:04 -0700
                  Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 09:25 -0700
                Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-04-01 00:52 -0700
        Re: Testing nodes and lists for hashtable Alla _ <modelling.data@gmail.com> - 2016-03-30 02:05 -0700
          Re: Testing nodes and lists for hashtable Geoff <geoff@invalid.invalid> - 2016-03-30 07:00 -0700

Page 7 of 17 — ← Prev page 1 … 5 6 [7] 8 9 … 17  Next page →


#83868

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2016-03-14 13:15 +0000
Message-ID<874mc95hfo.fsf@bsb.me.uk>
In reply to#83863
Malcolm McLean <malcolm.mclean5@btinternet.com> writes:

> On Monday, March 14, 2016 at 11:00:03 AM UTC, Ben Bacarisse wrote:
>> Alla _ <modelling.data@gmail.com> writes:
>> 
>
>> > Yes, yes - valgrind is a part of this problem set; once done with the 
>> > program I have to make sure there are no memory leaks by using 
>> > valgrind. But as with debugger (which I have not still bothered to 
>> > learn - I know how to do some basics), I believe it's better to learn
>> > to see my mistakes and create the logically correct code without additional
>> > help tools (at least at this stage while programs are so tiny).
>> 
>> I could not disagree more strongly.  I agree about what you call a
>> debugger -- I've found them to be far too annoying and distracting to
>> use routinely, though they can be invaluable in some instances and they
>> have saved my bacon more than once.  But valgrind is different.  It is
>> trivially easy to run and tells you things without any need to poke
>> about and waste time deciding what you want to know.  Anything it says
>> *must* be taken seriously (bugs in it excepted of course) so I can't see
>> any reason not to use it every time you run your tests.  (I'm assuming
>> you run "interactive tests" where you study the output.)
>> 
> Alla is right.
> Valgrind is great software and a huge time saver. But, as Miss Robertson
> said when she was teaching sewing, and someone was caught using a
> needle-threader "I'm not saying no, but you have to learn to do
> without it".

The problem is getting started.  If you are doing a face-to-face course,
you take your code the instructor who points out errors you've not seen.
valgrind is the instructor here.  Incorrect C programs often appear to
work (especially the simple ones that students are asked to write).  You
need something to tell that debugging is needed!

> valgrind or similar tools aren't always available, and the strategies you
> use are more useful if they extend to any programming language, not 
> just C. Pretty much every language allows commenting out and diagnostic 
> trace printouts.

Yes, and I didn't say Alla should not do that.  I've also recommended my
referred non-tool based debugging techniques.  That can all be used
(and learnt) in parallel.  In fact I would expect valgrind to help
here.  In my experience it tell you something and that is the start of
the investigation.  Sometime you can reason your way to finding the bug
and sometimes you need to put in some diagnostic prints, or maybe you
prefer to use an interactive debugger, but valgrind is not the end of
the process.

-- 
Ben.

[toc] | [prev] | [next] | [standalone]


#83899

FromAlla _ <modelling.data@gmail.com>
Date2016-03-14 11:09 -0700
Message-ID<c27b6202-aaf9-4638-9e6a-a1ea3b5b6904@googlegroups.com>
In reply to#83859
On Monday, March 14, 2016 at 3:00:03 PM UTC+4, Ben Bacarisse wrote:
> Alla _ <modelling.data@gmail.com> writes:
> 
> > On Monday, March 14, 2016 at 3:05:02 AM UTC+4, Ben Bacarisse wrote:
> >> Alla _ <modelling.data@gmail.com> writes:
> >> <snip>
> >> > - within main() function I have a problem with malloc function;
> >> > the compiler tells me that, if I understand it correctly, I am 
> >> > freeing something I have not allocated:
> >> >
> >> > load_test1(1395) malloc: *** error for object 0x7fff69f2fcfd: pointer
> >> > being freed was not allocated
> >> > *** set a breakpoint in malloc_error_break to debug
> >> > Abort trap: 6
> >> > Google search was not helpful on this error.
> >> 
> >> It seems clear to me (but I suppose it would).  "pointer being freed was
> >> not allocated": you called free on a [ointer that did not come from
> >> malloc (or calloc or realloc).
> >> 
> >> Big bit of advice...  Try to get hold of a program called "valgrind".
> > Thank you! )
> > Yes, yes - valgrind is a part of this problem set; once done with the 
> > program I have to make sure there are no memory leaks by using 
> > valgrind. But as with debugger (which I have not still bothered to 
> > learn - I know how to do some basics), I believe it's better to learn
> > to see my mistakes and create the logically correct code without additional
> > help tools (at least at this stage while programs are so tiny).
> 
> I could not disagree more strongly.  I agree about what you call a
> debugger -- I've found them to be far too annoying and distracting to
> use routinely, though they can be invaluable in some instances and they
> have saved my bacon more than once.  But valgrind is different.  It is
> trivially easy to run and tells you things without any need to poke
> about and waste time deciding what you want to know.  Anything it says
> *must* be taken seriously (bugs in it excepted of course) so I can't see
> any reason not to use it every time you run your tests.  (I'm assuming
> you run "interactive tests" where you study the output.)
> 
Heeded )

> <snip>
> > I dare to ask a personal question, if I may - why haven't you written
> > such a program yourself or with some of your peers back than, or were 
> > there not enough technical tools for that?
> 
> I never had time.  In the days when I would have wanted such a thing I
> had a full-time job where I was paid to do other things.  I did write an
> interactive debugger for a system that lacked such a tool, but I was
> asked to do that -- it was part of the system requirements.  And for my
> use on that project I wrote a "checking malloc" -- a version of
> malloc/calloc/reallloc and free that did extra checks to try to catch
> problems early and to find memory leaks, but that was a much smaller
> piece of work and could be seen as a normal part of the system's
> development.  (Pretty much all systems have such things now.)
>
Thank you! That's interesting.  
> <snip>
> >> This should strike you as odd.  It's a hash table, but you don't use the
> >> hash function!  Why not?
> > I have to think about it (I use it once, indeed).
> 
> I mean in this function.  I know you use the hash function elsewhere.

Do you mean something like this? ) I have changed check() function a bit,
so now I don't have to traverse the whole table )) But I have an issue 
with three 'return false' statements (has nothing to do with implementing 
hash function; I have just noticed that I have previously freed cursor
later that I should have, and also didn't have return false statements 
in all appropriate places) - do I need to keep this much of them?

[toc] | [prev] | [next] | [standalone]


#83857

FromAlla _ <modelling.data@gmail.com>
Date2016-03-14 03:18 -0700
Message-ID<47b17457-5c00-4de2-a62c-f1a7aac42ce1@googlegroups.com>
In reply to#83827
> <snip>
> > // return true if the word is in the dictionary
> > bool check(const char *text_word)
> > {
> >     if (text_word != NULL)
> >     {
> >         for (int i = 0; i < HASHTABLE_SIZE; i++)
> >         {
> >             if(strcmp(hashtable->list[i]->word, text_word) == 0)
> 
> Do you remember I said that every time you write a->b you must make sure
> that a is not NULL?  Do you know that hashtable->list[i] is not NULL for
> every i?
> 
Please, let me know if this is a correct way:
// return true if the word is in the dictionary
bool check(const char *text_word)
{
    if (text_word != NULL)
    {
        node *cursor = malloc(sizeof *hashtable->list);
        if(cursor != NULL)
        {
            for (int i = 0; hashtable->list[i] != NULL &&
                 i < HASHTABLE_SIZE; i++)
            {
                cursor = hashtable->list[i];
                while(cursor != NULL)
                {
                    if(strcmp(cursor->word, text_word)
                       == 0)
                    {
                        printf("%s   %s\n", cursor->word, text_word);
                        return true;
                    }
                    cursor = cursor->next;
                }                        
            }
            free(cursor);
        }
    }
    return false;
}

[toc] | [prev] | [next] | [standalone]


#83860

FromRichard Heathfield <rjh@cpax.org.uk>
Date2016-03-14 11:03 +0000
Message-ID<nc65jo$mpi$1@dont-email.me>
In reply to#83857
On 14/03/16 10:18, Alla _ wrote:
>
<snip>

> Please, let me know if this is a correct way:
> // return true if the word is in the dictionary
> bool check(const char *text_word)
> {
>      if (text_word != NULL)
>      {
>          node *cursor = malloc(sizeof *hashtable->list);

Two points about this line. Firstly, the pattern for malloc is:

T *p = malloc(n * sizeof *p)

where n * can be omitted if you only want one.

So, for cursor, it would be:

node *cursor = malloc(sizeof *cursor);

Second point: why are you allocating this memory in the first place? The 
purpose of cursor is to point to an existing node, not a new node.

>          if(cursor != NULL)
>          {
>              for (int i = 0; hashtable->list[i] != NULL &&
>                   i < HASHTABLE_SIZE; i++)
>              {
>                  cursor = hashtable->list[i];

Immediately you've thrown away the old value of cursor, the one that 
stored the address of the memory you just allocated. And that's /fine/, 
because you don't need that address, because you didn't need to allocate 
the memory. But you just created a leak, and the way to fix it is to 
scrap the malloc.

>                  while(cursor != NULL)
>                  {
>                      if(strcmp(cursor->word, text_word)
>                         == 0)
>                      {
>                          printf("%s   %s\n", cursor->word, text_word);
>                          return true;
>                      }
>                      cursor = cursor->next;
>                  }

That looks fine to me.

>              }
>              free(cursor);

This needs to go, too. cursor no longer points to allocated memory, so 
this line is just wrong. Remove it, and remove the malloc as well.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#83900

FromAlla _ <modelling.data@gmail.com>
Date2016-03-14 11:17 -0700
Message-ID<3fd782ed-d07e-474e-ae98-1e5794eabf85@googlegroups.com>
In reply to#83860
On Monday, March 14, 2016 at 3:03:26 PM UTC+4, Richard Heathfield wrote:
> On 14/03/16 10:18, Alla _ wrote:
> >
> <snip>
> 
> > Please, let me know if this is a correct way:
> > // return true if the word is in the dictionary
> > bool check(const char *text_word)
> > {
> >      if (text_word != NULL)
> >      {
> >          node *cursor = malloc(sizeof *hashtable->list);
> 
> Two points about this line. Firstly, the pattern for malloc is:
> 
> T *p = malloc(n * sizeof *p)
> 
> where n * can be omitted if you only want one.
> 
> So, for cursor, it would be:
> 
> node *cursor = malloc(sizeof *cursor);
> 
> Second point: why are you allocating this memory in the first place? The 
> purpose of cursor is to point to an existing node, not a new node.
> 
> >          if(cursor != NULL)
> >          {
> >              for (int i = 0; hashtable->list[i] != NULL &&
> >                   i < HASHTABLE_SIZE; i++)
> >              {
> >                  cursor = hashtable->list[i];
> 
> Immediately you've thrown away the old value of cursor, the one that 
> stored the address of the memory you just allocated. And that's /fine/, 
> because you don't need that address, because you didn't need to allocate 
> the memory. But you just created a leak, and the way to fix it is to 
> scrap the malloc.
> 
> >                  while(cursor != NULL)
> >                  {
> >                      if(strcmp(cursor->word, text_word)
> >                         == 0)
> >                      {
> >                          printf("%s   %s\n", cursor->word, text_word);
> >                          return true;
> >                      }
> >                      cursor = cursor->next;
> >                  }
> 
> That looks fine to me.
> 
> >              }
> >              free(cursor);
> 
> This needs to go, too. cursor no longer points to allocated memory, so 
> this line is just wrong. Remove it, and remove the malloc as well.
> 
Thank you! I see.

bool check(const char *text_word)
{
    if (text_word != NULL)
    {
        unsigned int hash_index = hash(text_word) % HASHTABLE_SIZE;
        node *cursor = NULL;
        
        if(hashtable->list[hash_index] != NULL)
        {
            cursor = hashtable->list[hash_index];
            while(cursor != NULL)
            {
                if(strcmp(cursor->word, text_word)
                    == 0)
                {
                    printf("%s   %s\n", cursor->word, text_word);
                    return true;
                }
                cursor = cursor->next;
            }
        }
        return false;
    }
    return false;
}

[toc] | [prev] | [next] | [standalone]


#83943

FromBarry Schwarz <schwarzb@dqel.com>
Date2016-03-14 15:16 -0700
Message-ID<sadeebl9ka5sm1gotkbo48ju6toik322bc@4ax.com>
In reply to#83900
On Mon, 14 Mar 2016 11:17:22 -0700 (PDT), Alla _
<modelling.data@gmail.com> wrote:

<snip>

>bool check(const char *text_word)
>{
>    if (text_word != NULL)
>    {
>        unsigned int hash_index = hash(text_word) % HASHTABLE_SIZE;

Can hash ever return a value >= HASHTABLE_SIZE?  If it does, will the
results of this division be meaningful?

By the way, HASHTABLE_SIZE is an int and hash returns an unsigned int.
It should not cause a problem here but it is good to avoid mixing
signed and unsigned in a single arithmetic operation.

>        node *cursor = NULL;
>        
>        if(hashtable->list[hash_index] != NULL)
>        {
>            cursor = hashtable->list[hash_index];
>            while(cursor != NULL)
>            {
>                if(strcmp(cursor->word, text_word)
>                    == 0)
>                {
>                    printf("%s   %s\n", cursor->word, text_word);

Since the two are equal, why print them both?

>                    return true;
>                }
>                cursor = cursor->next;
>            }
>        }
>        return false;

This return is superfluous.  The one below will cover both cases.

>    }
>    return false;
>}

-- 
Remove del for email

[toc] | [prev] | [next] | [standalone]


#83993

FromAlla _ <modelling.data@gmail.com>
Date2016-03-15 01:59 -0700
Message-ID<2bb482f7-83fb-42cf-807a-a0731093fbfe@googlegroups.com>
In reply to#83943
On Tuesday, March 15, 2016 at 2:16:55 AM UTC+4, Barry Schwarz wrote:
> On Mon, 14 Mar 2016 11:17:22 -0700 (PDT), Alla _
> <modelling.data@gmail.com> wrote:
> 
> <snip>
> 
> >bool check(const char *text_word)
> >{
> >    if (text_word != NULL)
> >    {
> >        unsigned int hash_index = hash(text_word) % HASHTABLE_SIZE;
> 
> Can hash ever return a value >= HASHTABLE_SIZE?  If it does, will the
> results of this division be meaningful?
Yes it can, if or when I change the number of buckets to make it smaller.
> 
> By the way, HASHTABLE_SIZE is an int and hash returns an unsigned int.
> It should not cause a problem here but it is good to avoid mixing
> signed and unsigned in a single arithmetic operation.
Heeded ) Thank you! I did try to stick to using same types; missed it this
time.
> 
> >        node *cursor = NULL;
> >        
> >        if(hashtable->list[hash_index] != NULL)
> >        {
> >            cursor = hashtable->list[hash_index];
> >            while(cursor != NULL)
> >            {
> >                if(strcmp(cursor->word, text_word)
> >                    == 0)
> >                {
> >                    printf("%s   %s\n", cursor->word, text_word);
> 
> Since the two are equal, why print them both?
> 
> >                    return true;
> >                }
> >                cursor = cursor->next;
> >            }
> >        }
> >        return false;
> 
> This return is superfluous.  The one below will cover both cases.
Thank you. These numerous return false worried me. I am glad I can have 
only one - I thought that I should end each 'if' part with return false,
indicating an 'else' occasion. 
> 
> >    }
> >    return false;
> >}
> 
> -- 
> Remove del for email

[toc] | [prev] | [next] | [standalone]


#84062

FromBarry Schwarz <schwarz45@yahoo.com>
Date2016-03-15 20:13 -0700
Message-ID<3d343f99-5c36-4059-b450-4990b5bfb0a3@googlegroups.com>
In reply to#83993
On Tuesday, March 15, 2016 at 1:59:52 AM UTC-7, Alla _ wrote:
> On Tuesday, March 15, 2016 at 2:16:55 AM UTC+4, Barry Schwarz wrote:
> > On Mon, 14 Mar 2016 11:17:22 -0700 (PDT), Alla _ wrote:
> > 
> > >bool check(const char *text_word)
> > >{
> > >    if (text_word != NULL)
> > >    {
> > >        unsigned int hash_index = hash(text_word) % HASHTABLE_SIZE;
> > 
> > Can hash ever return a value >= HASHTABLE_SIZE?  If it does, will the
> > results of this division be meaningful?
> Yes it can, if or when I change the number of buckets to make it smaller.

The stated purpose of hash() is to determine the hash value.  In that case, the division should occur inside that function and not be the responsibility of a user.  Someone calling hash() should not care how far the word is form 'a'.  Nor should they care how many buckets you are using.  The function should provide them the index they need.

[toc] | [prev] | [next] | [standalone]


#84063

Fromsupercat@casperkitty.com
Date2016-03-15 22:09 -0700
Message-ID<43abc2bc-71d3-4649-9958-37e28bd52b08@googlegroups.com>
In reply to#84062
On Tuesday, March 15, 2016 at 10:13:50 PM UTC-5, Barry Schwarz wrote:
> The stated purpose of hash() is to determine the hash value.  In that case, the division should occur inside that function and not be the responsibility of a user.  Someone calling hash() should not care how far the word is form 'a'.  Nor should they care how many buckets you are using.  The function should provide them the index they need.

A good pattern is to have a hash function return an arbitrary 32-bit
value which is "blenderized" and then masked to yield a bucket number.
An advantage of doing this, versus having the hash function yield a
bucket number directly, is that if the hash table keeps the hash codes
of the stored items, it only has to compare items whose 32-bit hash
values match perfectly.  Further, if the hash function adjusted its
result according to the number of buckets, resizing the table would
require rehashing everything.  If instead the hash function is independent
of table size, the stored hash values could be used for laying out the
new table.

[toc] | [prev] | [next] | [standalone]


#84086

FromBartC <bc@freeuk.com>
Date2016-03-16 11:53 +0000
Message-ID<ncbh9q$6uo$1@dont-email.me>
In reply to#84062
On 16/03/2016 03:13, Barry Schwarz wrote:
> On Tuesday, March 15, 2016 at 1:59:52 AM UTC-7, Alla _ wrote:
>> On Tuesday, March 15, 2016 at 2:16:55 AM UTC+4, Barry Schwarz wrote:
>>> On Mon, 14 Mar 2016 11:17:22 -0700 (PDT), Alla _ wrote:
>>>
>>>> bool check(const char *text_word)
>>>> {
>>>>     if (text_word != NULL)
>>>>     {
>>>>         unsigned int hash_index = hash(text_word) % HASHTABLE_SIZE;
>>>
>>> Can hash ever return a value >= HASHTABLE_SIZE?  If it does, will the
>>> results of this division be meaningful?
>> Yes it can, if or when I change the number of buckets to make it smaller.
>
> The stated purpose of hash() is to determine the hash value.  In that case, the division should occur inside that function and not be the responsibility of a user.  Someone calling hash() should not care how far the word is form 'a'.  Nor should they care how many buckets you are using.  The function should provide them the index they need.

A hash function should not need to know about the table size used by the 
caller, or in fact for what purpose it's going to be used.

Truncating it to fit a table size can be trivially done by the caller. 
The caller can also more efficiently divide by a power-of-two, if that 
is the size, then when the size is in a parameter.

-- 
bartc

[toc] | [prev] | [next] | [standalone]


#84106

FromStephen Sprunk <stephen@sprunk.org>
Date2016-03-16 09:39 -0500
Message-ID<ncbr0a$d18$2@dont-email.me>
In reply to#84062
On 15-Mar-16 22:13, Barry Schwarz wrote:
> Alla _ wrote:
>> Barry Schwarz wrote:
>>> Can hash ever return a value >= HASHTABLE_SIZE?  If it does, will
>>> the results of this division be meaningful?
>>
>> Yes it can, if or when I change the number of buckets to make it
>> smaller.
> 
> The stated purpose of hash() is to determine the hash value.  In that
> case, the division should occur inside that function and not be the
> responsibility of a user.

If you have several hash tables with different sizes, each needs a
distinct hash function that differs only by the modulus applied?  That
seems rather wasteful.

S

-- 
Stephen Sprunk         "God does not play dice."  --Albert Einstein
CCIE #3723         "God is an inveterate gambler, and He throws the
K5SSS        dice at every possible opportunity." --Stephen Hawking

[toc] | [prev] | [next] | [standalone]


#84108

FromMalcolm McLean <malcolm.mclean5@btinternet.com>
Date2016-03-16 07:57 -0700
Message-ID<986cd0b0-3570-412b-9d70-a06d35572ce5@googlegroups.com>
In reply to#84106
On Wednesday, March 16, 2016 at 2:39:12 PM UTC, Stephen Sprunk wrote:
> 
> > The stated purpose of hash() is to determine the hash value.  In that
> > case, the division should occur inside that function and not be the
> > responsibility of a user.
> 
> If you have several hash tables with different sizes, each needs a
> distinct hash function that differs only by the modulus applied?  That
> seems rather wasteful.
> 
If the hash is written

unsigned hash(const void *data, size_t N,  unsigned limitplusone)

It then returns a number uniformly distributed on 0 to limitplusone, with the
correlation between data (however interpreted)  and the result being zero.

it's the perfect spec, if you don't care about efficiency.
If you do care about efficiency, you might be able to special case some common
patterns (N*8 is smaller than the number of bits in the limit, the limit is
an exact factor of 256^N, N is huge in relation to the limit, the limit is 2^8,
or 2^16).
However it's hard to fold the special cases into the general-purpose function without
destroying its efficiency, or at least giving the optimiser a headache.  

[toc] | [prev] | [next] | [standalone]


#84117

Fromsupercat@casperkitty.com
Date2016-03-16 08:38 -0700
Message-ID<9cea129a-d93f-4fdb-a0a6-4668cf6d8f18@googlegroups.com>
In reply to#84108
On Wednesday, March 16, 2016 at 9:57:53 AM UTC-5, Malcolm McLean wrote:
> If the hash is written
> 
> unsigned hash(const void *data, size_t N,  unsigned limitplusone)
> 
> It then returns a number uniformly distributed on 0 to limitplusone, with the
> correlation between data (however interpreted)  and the result being zero.

How is that any better than simply having the function return an unsigned
value which is nominally distributed throughout the range of "unsigned"?  If
the number of hash buckets isn't a power of two (e.g. 24601), computing
hash % 24601 will cause some buckets to get mapped to only 174,585 possible
values while others get mapped to 174,586, but so what?  The effect on hash
distribution will be negligible.

[toc] | [prev] | [next] | [standalone]


#84127

FromMalcolm McLean <malcolm.mclean5@btinternet.com>
Date2016-03-16 09:04 -0700
Message-ID<23b082b8-5010-4bcf-941a-79b00566b2c0@googlegroups.com>
In reply to#84117
On Wednesday, March 16, 2016 at 3:39:09 PM UTC, supe...@casperkitty.com wrote:
> On Wednesday, March 16, 2016 at 9:57:53 AM UTC-5, Malcolm McLean wrote:
> > If the hash is written
> > 
> > unsigned hash(const void *data, size_t N,  unsigned limitplusone)
> > 
> > It then returns a number uniformly distributed on 0 to limitplusone, with the
> > correlation between data (however interpreted)  and the result being zero.
> 
> How is that any better than simply having the function return an unsigned
> value which is nominally distributed throughout the range of "unsigned"?  If
> the number of hash buckets isn't a power of two (e.g. 24601), computing
> hash % 24601 will cause some buckets to get mapped to only 174,585 possible
> values while others get mapped to 174,586, but so what?  The effect on hash
> distribution will be negligible.
>
If forces the caller to know the size of the base hash.

Let's say our table is always 42 buckets.

int index = hash(key, strlen(key), 42);
bucket[index] // do out stuff.

It slightly neater and nicer than

uint64_t hashval = hash(key, strlen(key));
int index = hashval % 42;
bucket[index]

which will break when the platform doesn't have the identifier uint64_t
 
Then, as you say, 42 is not a multiple of a power of 2, it's near enough
for most purposes, but not necessarily for everyone -eg if it's cryptography
and the values have a statistical distribution which is noticeably different
from uniform, with a detectable step, that could tell and enemy which
version of the encryption software he is dealign with.

[toc] | [prev] | [next] | [standalone]


#84132

FromStephen Sprunk <stephen@sprunk.org>
Date2016-03-16 11:22 -0500
Message-ID<ncc124$80c$1@dont-email.me>
In reply to#84127
On 16-Mar-16 11:04, Malcolm McLean wrote:
> Let's say our table is always 42 buckets.
> 
> int index = hash(key, strlen(key), 42);
> bucket[index] // do out stuff.
> 
> It slightly neater and nicer than
> 
> uint64_t hashval = hash(key, strlen(key));
> int index = hashval % 42;
> bucket[index]
> 
> which will break when the platform doesn't have the identifier
> uint64_t

Try comparing apples to apples rather than oranges:

int index = hash(key, strlen(key), 42);
bucket[index] // do out stuff.

vs

int index = hash(key, strlen(key)) % 42;
bucket[index] // do out stuff.

I see no advantage to the former in any case, but there can be a
significant advantage to the latter in certain corner cases.

S

-- 
Stephen Sprunk         "God does not play dice."  --Albert Einstein
CCIE #3723         "God is an inveterate gambler, and He throws the
K5SSS        dice at every possible opportunity." --Stephen Hawking

[toc] | [prev] | [next] | [standalone]


#84147

FromKeith Thompson <kst-u@mib.org>
Date2016-03-16 10:42 -0700
Message-ID<ln60wmgw0l.fsf@kst-u.example.com>
In reply to#84127
Malcolm McLean <malcolm.mclean5@btinternet.com> writes:
[...]
> If forces the caller to know the size of the base hash.
>
> Let's say our table is always 42 buckets.
>
> int index = hash(key, strlen(key), 42);
> bucket[index] // do out stuff.
>
> It slightly neater and nicer than
>
> uint64_t hashval = hash(key, strlen(key));
> int index = hashval % 42;
> bucket[index]
>
> which will break when the platform doesn't have the identifier uint64_t

That last part makes no sense.  Obviously hashval should have the
same type as the return type of the hash() function.  If that type
is uint64_t, then clearly the platform does define that type (or
it wouldn't compile).

[...]

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

[toc] | [prev] | [next] | [standalone]


#84150

FromMalcolm McLean <malcolm.mclean5@btinternet.com>
Date2016-03-16 10:57 -0700
Message-ID<59fefaa4-6363-4fa2-9505-99798ff84eb8@googlegroups.com>
In reply to#84147
On Wednesday, March 16, 2016 at 5:42:09 PM UTC, Keith Thompson wrote:
> Malcolm McLean <malcolm.mclean5@btinternet.com> writes:
>
> > uint64_t hashval = hash(key, strlen(key));
> > int index = hashval % 42;
> > bucket[index]
> >
> > which will break when the platform doesn't have the identifier uint64_t
> 
> That last part makes no sense.  Obviously hashval should have the
> same type as the return type of the hash() function.  If that type
> is uint64_t, then clearly the platform does define that type (or
> it wouldn't compile).
> 
If we're using the index, that has to fit in whatever type we used to define
the table size, say hashtablesize_t which is typedefed by our users.

So we can go

hashtablesize_t Nbuckets;

hashtablesize_t index = hash(key, strlen(key), Nbuckets);

Now on our nice 64 bit machine, hash returns a uint64_t.
The EU then passes a directive that everyone shall use nine bit bytes.
unit64_t can no longer be supported efficiently and, as the standard
permits, is unavailable. hash() now has to be rewritten. But the client
hash table will still compile and link

[toc] | [prev] | [next] | [standalone]


#84168

FromKeith Thompson <kst-u@mib.org>
Date2016-03-16 11:57 -0700
Message-ID<ln1t7agsi1.fsf@kst-u.example.com>
In reply to#84150
Malcolm McLean <malcolm.mclean5@btinternet.com> writes:
> On Wednesday, March 16, 2016 at 5:42:09 PM UTC, Keith Thompson wrote:
>> Malcolm McLean <malcolm.mclean5@btinternet.com> writes:
>> > uint64_t hashval = hash(key, strlen(key));
>> > int index = hashval % 42;
>> > bucket[index]
>> >
>> > which will break when the platform doesn't have the identifier uint64_t
>> 
>> That last part makes no sense.  Obviously hashval should have the
>> same type as the return type of the hash() function.  If that type
>> is uint64_t, then clearly the platform does define that type (or
>> it wouldn't compile).
>> 
> If we're using the index, that has to fit in whatever type we used to define
> the table size, say hashtablesize_t which is typedefed by our users.
>
> So we can go
>
> hashtablesize_t Nbuckets;
>
> hashtablesize_t index = hash(key, strlen(key), Nbuckets);
>
> Now on our nice 64 bit machine, hash returns a uint64_t.
> The EU then passes a directive that everyone shall use nine bit bytes.

This:
    hashtablesize_t index = hash(key, strlen(key)) % Nbuckets;
neatly avoids the problem you're worrying about.

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

[toc] | [prev] | [next] | [standalone]


#84118

FromStephen Sprunk <stephen@sprunk.org>
Date2016-03-16 10:43 -0500
Message-ID<ncbuol$tov$1@dont-email.me>
In reply to#84108
On 16-Mar-16 09:57, Malcolm McLean wrote:
> Stephen Sprunk wrote:
>>> The stated purpose of hash() is to determine the hash value.  In
>>> that case, the division should occur inside that function and not
>>> be the responsibility of a user.
>> 
>> If you have several hash tables with different sizes, each needs a 
>> distinct hash function that differs only by the modulus applied?
>> That seems rather wasteful.
> 
> If the hash is written
> 
> unsigned hash(const void *data, size_t N,  unsigned limitplusone)
> 
> It then returns a number uniformly distributed on 0 to limitplusone,
> with the correlation between data (however interpreted)  and the
> result being zero.

I'm not seeing the advantage of this:

h = hash(data, sizeof data, modulus);

over this:

h = hash(data, sizeof data) % modulus;

OTOH, the latter has a significant advantage with auto-growing tables:
you can store the raw hash value in the nodes and just change modulus
rather than rehashing all the data.

S

-- 
Stephen Sprunk         "God does not play dice."  --Albert Einstein
CCIE #3723         "God is an inveterate gambler, and He throws the
K5SSS        dice at every possible opportunity." --Stephen Hawking

[toc] | [prev] | [next] | [standalone]


#84151

FromBarry Schwarz <schwarzb@dqel.com>
Date2016-03-16 10:59 -0700
Message-ID<3f7jebtflk76f6320h7oq0tpksc7s16lg7@4ax.com>
In reply to#84106
On Wed, 16 Mar 2016 09:39:02 -0500, Stephen Sprunk
<stephen@sprunk.org> wrote:

>On 15-Mar-16 22:13, Barry Schwarz wrote:
>> Alla _ wrote:
>>> Barry Schwarz wrote:
>>>> Can hash ever return a value >= HASHTABLE_SIZE?  If it does, will
>>>> the results of this division be meaningful?
>>>
>>> Yes it can, if or when I change the number of buckets to make it
>>> smaller.
>> 
>> The stated purpose of hash() is to determine the hash value.  In that
>> case, the division should occur inside that function and not be the
>> responsibility of a user.
>
>If you have several hash tables with different sizes, each needs a
>distinct hash function that differs only by the modulus applied?  That
>seems rather wasteful.

If you have several hash tables, then the hash function should require
a pointer to the hash table as one of its parameters and the hash
function can obtain the size there.

Additionally, if you have several hash tables, what are the odds each
uses the distance form 'a' as the hash formula.  If each table has a
different hash philosophy, each would need a unique function named
hash.

-- 
Remove del for email

[toc] | [prev] | [next] | [standalone]


Page 7 of 17 — ← Prev page 1 … 5 6 [7] 8 9 … 17  Next page →

Back to top | Article view | comp.lang.c


csiph-web