annotate src/tMap.cc @ 1229:7d7c3eaa1d3b

[project @ 1995-04-10 01:04:13 by jwe]
author jwe
date Mon, 10 Apr 1995 01:04:46 +0000
parents 2d2f3c07cedd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
741
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
1 #include <iostream.h>
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
2 #include <assert.h>
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
3 #include <builtin.h>
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
4
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
5 #include "Map.h"
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
6
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
7 int SIZE;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
8
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
9 char **keys;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
10 double *values;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
11
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
12 void
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
13 add (char *x[], double y[], Map<double>& a)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
14 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
15 for (int i = 0; i < SIZE; ++i)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
16 a[x[i]] = y[i];
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
17 }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
18
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
19 void
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
20 makekeys (void)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
21 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
22 for (int i = 0; i < SIZE; ++i)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
23 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
24 char *tmp = new char [10];
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
25 sprintf (tmp, "index_%d", i);
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
26 keys[i] = tmp;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
27 }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
28 }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
29
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
30 void
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
31 makevalues (void)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
32 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
33 for (int i = 0; i < SIZE; ++i)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
34 values[i] = i + 1;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
35 }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
36
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
37 void
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
38 printMap (Map<double>& a)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
39 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
40 int maxprint = 1000;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
41 cout << "[";
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
42 int k = 0;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
43 for (Pix i = a.first (); i != 0 && k < maxprint; a.next (i), ++k)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
44 cout << "(" << a.key (i) << ", " << a.contents (i) << ") ";
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
45
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
46 if (i != 0)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
47 cout << "...]\n";
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
48 else
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
49 cout << "]\n";
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
50 }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
51
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
52 void
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
53 CHtest (void)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
54 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
55 CHMap<double> a (-1.0, SIZE);
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
56 add (keys, values, a);
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
57
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
58 cout << "a: ";
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
59 printMap (a);
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
60
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
61 assert (a.length () == SIZE);
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
62
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
63 for (int j = 0; j < SIZE; ++j)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
64 assert (a.contains (keys[j]));
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
65
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
66 // assert (a[SIZE+1] = -1);
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
67
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
68 for (j = 0; j < SIZE; ++j)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
69 a.del (keys[j]);
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
70
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
71 assert (a.empty ());
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
72
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
73 assert (a.OK ());
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
74 }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
75
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
76 int
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
77 main (int argv, char** argc)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
78 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
79 SIZE = 100;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
80
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
81 keys = new char *[SIZE];
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
82 makekeys ();
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
83
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
84 values = new double [SIZE];
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
85 makevalues ();
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
86
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
87 cout << "CHtest\n";
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
88 CHtest();
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
89
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
90 return 0;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
91 }