File: progu125.htm

package info (click to toggle)
dx 1%3A4.4.4-4
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 49,864 kB
  • sloc: ansic: 365,482; cpp: 156,594; sh: 13,801; java: 10,641; makefile: 2,373; awk: 444; yacc: 327
file content (137 lines) | stat: -rw-r--r-- 5,301 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3//EN">
<HTML><HEAD>
<TITLE>IBM Visualization Data Explorer Programmer&#39;s Reference</TITLE>

<META HTTP-EQUIV="abstract" CONTENT="IBM Visualization Data Explorer
Programmer&#39;s Reference">
<META HTTP-EQUIV="contact" CONTENT="IBM Visualization Data Explorer
(ibmdx@watson.ibm.com)">
<META HTTP-EQUIV="owner" CONTENT="IBM Visualization Data Explorer
(ibmdx@watson.ibm.com)">
<META HTTP-EQUIV="updated" CONTENT="Tue, 16 Sep 1997 ">
<META HTTP-EQUIV="review" CONTENT="Fri, 14 Aug 1998 ">

<META HTTP-EQUIV="keywords" CONTENT="GRAPHICS VISUALIZATION VISUAL PROGRAM DATA
MINING">
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
</HEAD><BODY BGCOLOR="#FFFFFF">

<A NAME="Top_Of_Page"></A>
<H1>IBM Visualization Data Explorer Programmer&#39;s Reference</H1>
<B>&#91; <A HREF="#Bot_Of_Page">Bottom of Page</A> &#124; <A
HREF="progu124.htm">Previous Page</A> &#124; <A HREF="progu126.htm">Next
Page</A> &#124; <A HREF="../proguide.htm#ToC">Table of Contents</A> &#124; <A
HREF="progu097.htm#PToC20">Partial Table of Contents</A> &#124; <A
HREF="progu344.htm#HDRINDEX_START">Index</A> &#93;</B><HR><P>
<H3><A NAME="HDRDXCH" HREF="progu097.htm#PToC_219">DXCreateHash</A></H3>
<A NAME="IDX1620"></A>
<A NAME="IDX1621"></A>
<P><STRONG>Function</STRONG>
<P>
Creates a hash table for storing elements.
<P><STRONG>Syntax</STRONG>
<BR>
<TT><STRONG><BR>
&#35;include &lt;dx/dx.h&gt;<BR>
<P><BR>
HashTable DXCreateHash(int elementSize, PseudoKey (*hashFunc)(),<BR>
                       int (*cmpFunc)())<BR>
</STRONG></TT><BR>
<P><STRONG>Functional Details</STRONG>
<P>
An element to be stored consists of a key plus whatever data is to be
associated with that key.
Its size, in bytes, is specified by <TT><STRONG>elementSize</STRONG></TT>.
in bytes.
The parameter <TT><STRONG>hashFunc</STRONG></TT> points to the optional hash
function callback.
Given an element, <TT><STRONG>hashFunc</STRONG></TT> should return a uniformly
distributed

long integer

pseudokey.
If <TT><STRONG>hashFunc</STRONG></TT> is not provided, then the first

long integer

word of each key is assumed to be the pseudokey.
<TT><STRONG>cmpFunc</STRONG></TT> is the optional compare function callback.
Given a search key and an element, <TT><STRONG>cmpFunc</STRONG></TT>
should return 0 if the key matches the element.
If no compare function is provided, any element matching the pseudokey
is assumed to match the search key.
<P>
Optionally provided by the calling application:
<BR>
<TT><STRONG><BR>
PseudoKey hashFunc (Key key);<BR>
</STRONG></TT><BR>
<P>
Called on insertion and query to convert the arbitrary-size search
key into the

long integer

pseudokey used to store the hash table-element.
<BR>
<TT><STRONG><BR>
int cmpFunc (Key searchKey, Element element);<BR>
</STRONG></TT><BR>
<P>
Called on insertion and query when an element from the table matches
the pseudokey.
Returns 0 if the search key matches the key contained in the element
found in the table.
<P>
See <A HREF="progu070.htm#HDRHASH">14.5 , "Hashing"</A> for additional details
on
<TT><STRONG>hashFunc</STRONG></TT> and
<TT><STRONG>cmpFunc</STRONG></TT>.
The HashTable created should be deleted with DXDestroy when it is no
longer needed.
See <A HREF="progu023.htm#HDRMEMNG">4.2 , "Memory Management"</A>.
<P>
<TT><STRONG>PseudoKey</STRONG></TT> is defined as:
<PRE><STRONG>
typedef long PseudoKey;
typedef Pointer Key;
</STRONG>
</PRE>
<P><STRONG>Return Value</STRONG>
<P>
Returns the hash table or returns <TT><STRONG>NULL</STRONG></TT> and sets an
error code.
<P><STRONG>See Also</STRONG>
<P>
<TT><STRONG>
<A HREF="progu132.htm#HDRDXDHE">DXDeleteHashElement</A>,
<A HREF="progu133.htm#HDRDXDHSH">DXDestroyHash</A>,
<A HREF="progu186.htm#HDRDXGNHE">DXGetNextHashElement</A>,
<A HREF="progu214.htm#HDRDXIGNHE">DXInitGetNextHashElement</A>,
<A HREF="progu218.htm#HDRDXIHE">DXInsertHashElement</A>,
<A HREF="progu280.htm#HDRDXQHE">DXQueryHashElement</A>
</STRONG></TT>
<P>
<A HREF="progu070.htm#HDRHASH">14.5 , "Hashing"</A>.
<P><HR><B>&#91; <A HREF="#Top_Of_Page">Top of Page</A> &#124; <A
HREF="progu124.htm">Previous Page</A> &#124; <A HREF="progu126.htm">Next
Page</A> &#124; <A HREF="../proguide.htm#ToC">Table of Contents</A> &#124; <A
HREF="progu097.htm#PToC20">Partial Table of Contents</A> &#124; <A
HREF="progu344.htm#HDRINDEX_START">Index</A> &#93;</B> <br><b>&#91;<a
href="../allguide.htm">Data Explorer Documentation</a>&nbsp;&#124;&nbsp;<a
href="../qikguide.htm">QuickStart Guide</a>&nbsp;&#124;&nbsp;<a
href="../usrguide.htm">User&#39;s Guide</a>&nbsp;&#124;&nbsp;<a
href="../refguide.htm">User&#39;s Reference</a>&nbsp;&#124;&nbsp;<a
href="../proguide.htm">Programmer&#39;s Reference</a>&nbsp;&#124;&nbsp;<a
href="../insguide.htm">Installation and Configuration
Guide</a>&nbsp;&#93;</b><br><p><b>&#91;<a
href="http://www.research.ibm.com/dx">Data Explorer Home
Page</a>&#93;</b><p><HR ALIGN=LEFT WIDTH=600><b>&#91;<A
HREF="http://www.ibm.com/">IBM Home Page</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Orders/">Order</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Search/">Search</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Assist/">Contact IBM</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Legal/">Legal</A>&nbsp;&#93;</b><hr><p>
<A NAME="Bot_Of_Page"></A>
</BODY></HTML>