* Sebastian Hammer, Adam Dickmeiss
*
* $Log: dicttest.c,v $
- * Revision 1.7 1994-09-19 16:34:26 adam
+ * Revision 1.10 1994-09-26 10:17:24 adam
+ * Minor changes.
+ *
+ * Revision 1.9 1994/09/22 14:43:56 adam
+ * First functional version of lookup with error correction. A 'range'
+ * specified the maximum number of insertions+deletions+substitutions.
+ *
+ * Revision 1.8 1994/09/22 10:43:44 adam
+ * Two versions of depend. Type 1 is the tail-type compatible with
+ * all make programs. Type 2 is the GNU make with include facility.
+ * Type 2 is default. depend rule chooses current rule.
+ *
+ * Revision 1.7 1994/09/19 16:34:26 adam
* Depend rule change. Minor changes in dicttest.c
*
* Revision 1.6 1994/09/16 15:39:12 adam
#include <dict.h>
char *prog;
-Dict dict;
+static Dict dict;
+
+static int look_hits;
+
+static int lookup_handle (Dict_char *name)
+{
+ look_hits++;
+ printf ("%s\n", name);
+ return 0;
+}
int main (int argc, char **argv)
{
const char *name = NULL;
const char *inputfile = NULL;
const char *base = NULL;
+ int range = -1;
int rw = 0;
int infosize = 4;
int cache = 10;
int ret;
+ int unique = 0;
+ char *arg;
int no_of_iterations = 0;
int no_of_new = 0, no_of_same = 0, no_of_change = 0;
int no_of_hits = 0, no_of_misses = 0;
- int unique = 0;
- char *arg;
+
prog = argv[0];
if (argc < 2)
{
- fprintf (stderr, "usage:\n"
- " %s [-u] [-s n] [-v n] [-i f] [-w] [-c n] base file\n",
+ fprintf (stderr, "usage:\n "
+ " %s [-r n] [-u] [-s n] [-v n] [-i f] [-w] [-c n]"
+ " base file\n",
prog);
exit (1);
}
- while ((ret = options ("us:v:i:wc:", argv, argc, &arg)) != -2)
+ while ((ret = options ("r:us:v:i:wc:", argv, argc, &arg)) != -2)
{
if (ret == 0)
{
exit (1);
}
}
+ else if (ret == 'r')
+ {
+ range = atoi (arg);
+ }
else if (ret == 'u')
{
unique = 1;
break;
}
}
- else
+ else if(range < 0)
{
char *cp;
cp = dict_lookup (dict, ipf_ptr);
- if (cp)
+ if (cp && *cp)
+ no_of_hits++;
+ else
+ no_of_misses++;
+ }
+ else
+ {
+ look_hits = 0;
+ dict_lookup_ec (dict, ipf_ptr, range, lookup_handle);
+ if (look_hits)
no_of_hits++;
else
no_of_misses++;