src/libpspp/hash-functions.c: Add a preprocessor switch to help test hash table imple...
authorJohn Darrington <john@darrington.wattle.id.au>
Thu, 23 May 2019 05:07:07 +0000 (07:07 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Thu, 23 May 2019 05:19:01 +0000 (07:19 +0200)
src/libpspp/hash-functions.c

index 4de7f777912ac7a1240c1d2abf4a699e05f7a8e1..cb97ba37edc99b34718ee9eaeaea94adfd2ad49f 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2008, 2009, 2010, 2011, 2012, 2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include "libpspp/hash-functions.h"
 
+#if 0
+/* Enable this code only for testing!   Theoretically everything
+   should still work, but very inefficient hash tables will result,
+   meaning that the code will be slow.  */
+#warning "HASHING FUNCTIONS ARE DISABLED!  EXPECT LOTS OF HASH COLLISIONS!!!"
+
+#include "libpspp/compiler.h"
+
+
+unsigned int
+hash_bytes (const void *b UNUSED, size_t s UNUSED, unsigned int basis UNUSED)
+{
+  return 0;
+}
+
+unsigned int
+hash_string (const char *s UNUSED, unsigned int basis UNUSED)
+{
+  return 0;
+}
+
+unsigned int
+hash_int (int i UNUSED, unsigned int basis UNUSED)
+{
+  return 0;
+}
+
+unsigned int
+hash_double (double d UNUSED, unsigned int basis UNUSED)
+{
+  return 0;
+}
+
+unsigned int
+hash_pointer (const void *p UNUSED, unsigned int basis UNUSED)
+{
+  return 0;
+}
+
+#else
+
 #include <assert.h>
 #include <ctype.h>
 #include <math.h>
@@ -145,3 +186,5 @@ hash_pointer (const void *p, unsigned int basis)
      on 64-bit platforms. */
   return hash_int ((int) (uintptr_t) p, basis);
 }
+
+#endif