The genhash Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The genhash Reference Manual

This is the genhash Reference Manual, version 1.7, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:57:42 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

NET.HEXAPODIA.HASHTABLES

Generic hash table implementation. This implementation is in the
public domain.

Written by Ingvar Mattsson .

This package defines four generic functions and two normal functions.
The non-generic function MAKE-GENERIC-HASH-TABLE is used for
hash table creation.
	(make-generic-hashtable (:test 'eql) (:size 17))
    If this function is fed the *symbols* EQ EQL EQUAL or EQUALP as test
    it will create a generic hash table with that as an equality test
    and SXHASH as the hash function. NOTE: Using EQ or EQL as the test
    designator is risky and should be avoided. In general, for the
    built-in test designators, use the function instead of the
    symbol. This will give you a built-in hash table.

    If this function is fed the *functions* EQ EQL EQUAL or EQUALP
    it will create a normal (built-in) hash table with that as a test
    function.

	(register-test-designator   )
    Register a new generic hash function with  as the
    relevant :test parameter.

The generic functions are:
	(hashref   &optnonal (default nil))
    This function does essentially the same thing as GETHASH.

	((setf hashref)   
&optional ignore) For (setf (hashref ...) ...) (map-generic-hash
) As MAPHASH (hashrem
) As REMHASH These functions dispatch somewhat differently depending on if they're fed a generic hash table or a built-in hash table. For benchmarking, just load "benchtests.lisp", this will loop through the number 0 to 1000 (and 100000) and feed them into a hash table, then generating a report of *STANDARD-OUTPUT*.

Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 genhash

Maintainer

Paul Nathan <pnathan@alumni.uidaho.edu>

Author

Ingvar Mattsson <ingvar@hexapodia.net>

License

Public Domain

Description

Generic hashtable code

Version

1.7

Source

genhash.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


3.1.1 genhash.asd

Location

genhash.asd

Systems

genhash (system)


3.1.2 genhash/packages.lisp

Parent

genhash (system)

Location

packages.lisp

Packages

net.hexapodia.hashtables


3.1.3 genhash/genhash.lisp

Dependency

packages.lisp (file)

Parent

genhash (system)

Location

genhash.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 net.hexapodia.hashtables

Source

packages.lisp (file)

Nickname

genhash

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Exported definitions


5.1.1 Functions

Function: make-generic-hash-table &key SIZE TEST
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Function: make-generic-hashtable &key SIZE TEST
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Function: register-hash-function TEST-DESIGNATOR HASH-FUNCTION EQUAL-FUNCTION
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Function: register-test-designator TEST-DESIGNATOR HASH-FUNCTION EQUAL-FUNCTION
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)


5.1.2 Generic functions

Generic Function: generic-hash-table-count TABLE
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Methods
Method: generic-hash-table-count (TABLE hash-table)
Method: generic-hash-table-count (TABLE hash-container)
Generic Function: generic-hash-table-p TABLE
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Methods
Method: generic-hash-table-p (TABLE hash-table)
Method: generic-hash-table-p (TABLE hash-container)
Method: generic-hash-table-p TABLE
Generic Function: generic-hash-table-size TABLE
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Methods
Method: generic-hash-table-size (TABLE hash-table)
Method: generic-hash-table-size (TABLE hash-container)
Generic Function: hashclr TABLE
Package

net.hexapodia.hashtables

Methods
Method: hashclr (TABLE hash-table)
Source

genhash.lisp (file)

Method: hashclr (TABLE hash-container)
Source

genhash.lisp (file)

Generic Function: hashmap KEY TABLE
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Methods
Method: hashmap FN (TABLE hash-table)
Method: hashmap FN (TABLE hash-container)
Generic Function: hashref KEY TABLE &optional DEFAULT
Generic Function: (setf hashref) VALUE KEY TABLE &optional DEFAULT
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Methods
Method: hashref KEY (TABLE hash-table) &optional DEFAULT
Method: (setf hashref) VALUE KEY (TABLE hash-table) &optional DEFAULT
Method: hashref KEY (TABLE hash-container) &optional DEFAULT
Method: (setf hashref) VALUE KEY (TABLE hash-container) &optional DEF
Generic Function: hashrem KEY TABLE
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Methods
Method: hashrem KEY (TABLE hash-table)
Method: hashrem KEY (TABLE hash-container)

5.1.3 Conditions

Condition: hash-exists ()
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Direct superclasses

simple-error (condition)

Direct Default Initargs
InitargValue
:format-control"hash table type ~a already registered"
Condition: unknown-hash ()
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Direct superclasses

simple-error (condition)

Direct Default Initargs
InitargValue
:format-control"unknown hash table type ~a"

5.2 Internal definitions


5.2.1 Special variables

Special Variable: *hash-test-designator-map*
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Special Variable: *initialized*
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)


5.2.2 Macros

Macro: with-generic-hash-table-iterator (NAME TABLE) &body BODY
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)


5.2.3 Functions

Function: expand-hash-table TABLE
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Function: register-builtin TEST-DESIGNATOR
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)


5.2.4 Generic functions

Generic Function: all-hash-keys TABLE
Package

net.hexapodia.hashtables

Methods
Method: all-hash-keys (TABLE hash-table)
Source

genhash.lisp (file)

Method: all-hash-keys (TABLE hash-container)
Source

genhash.lisp (file)

Generic Function: allocated-buckets OBJECT
Generic Function: (setf allocated-buckets) NEW-VALUE OBJECT
Package

net.hexapodia.hashtables

Methods
Method: allocated-buckets (HASH-CONTAINER hash-container)

automatically generated reader method

Source

genhash.lisp (file)

Method: (setf allocated-buckets) NEW-VALUE (HASH-CONTAINER hash-container)

automatically generated writer method

Source

genhash.lisp (file)

Generic Function: buckets OBJECT
Generic Function: (setf buckets) NEW-VALUE OBJECT
Package

net.hexapodia.hashtables

Methods
Method: buckets (HASH-CONTAINER hash-container)

automatically generated reader method

Source

genhash.lisp (file)

Method: (setf buckets) NEW-VALUE (HASH-CONTAINER hash-container)

automatically generated writer method

Source

genhash.lisp (file)

Generic Function: builtin OBJECT
Package

net.hexapodia.hashtables

Methods
Method: builtin (HASH-TEST-DESIGNATOR hash-test-designator)

automatically generated reader method

Source

genhash.lisp (file)

Generic Function: eq-test OBJECT
Package

net.hexapodia.hashtables

Methods
Method: eq-test (HASH-TEST-DESIGNATOR hash-test-designator)

automatically generated reader method

Source

genhash.lisp (file)

Generic Function: hash-function OBJECT
Package

net.hexapodia.hashtables

Methods
Method: hash-function (HASH-TEST-DESIGNATOR hash-test-designator)

automatically generated reader method

Source

genhash.lisp (file)

Generic Function: stored-items OBJECT
Generic Function: (setf stored-items) NEW-VALUE OBJECT
Package

net.hexapodia.hashtables

Methods
Method: stored-items (HASH-CONTAINER hash-container)

automatically generated reader method

Source

genhash.lisp (file)

Method: (setf stored-items) NEW-VALUE (HASH-CONTAINER hash-container)

automatically generated writer method

Source

genhash.lisp (file)

Generic Function: test-designator OBJECT
Package

net.hexapodia.hashtables

Methods
Method: test-designator (HASH-CONTAINER hash-container)

automatically generated reader method

Source

genhash.lisp (file)

Method: test-designator (HASH-TEST-DESIGNATOR hash-test-designator)

automatically generated reader method

Source

genhash.lisp (file)

Generic Function: used-buckets OBJECT
Generic Function: (setf used-buckets) NEW-VALUE OBJECT
Package

net.hexapodia.hashtables

Methods
Method: used-buckets (HASH-CONTAINER hash-container)

automatically generated reader method

Source

genhash.lisp (file)

Method: (setf used-buckets) NEW-VALUE (HASH-CONTAINER hash-container)

automatically generated writer method

Source

genhash.lisp (file)


5.2.5 Classes

Class: hash-container ()
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: buckets
Initargs

:buckets

Readers

buckets (generic function)

Writers

(setf buckets) (generic function)

Slot: allocated-buckets
Initargs

:allocated-buckets

Readers

allocated-buckets (generic function)

Writers

(setf allocated-buckets) (generic function)

Slot: used-buckets
Initform

0

Readers

used-buckets (generic function)

Writers

(setf used-buckets) (generic function)

Slot: stored-items
Initargs

:stored-items

Readers

stored-items (generic function)

Writers

(setf stored-items) (generic function)

Slot: test-designator
Initargs

:test-designator

Readers

test-designator (generic function)

Class: hash-test-designator ()
Package

net.hexapodia.hashtables

Source

genhash.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: test-designator
Initargs

:test-designator

Readers

test-designator (generic function)

Slot: hash-function
Initargs

:hash-function

Readers

hash-function (generic function)

Slot: eq-test
Initargs

:eq-test

Readers

eq-test (generic function)

Slot: builtin
Initargs

:builtin

Readers

builtin (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   G   L  
Index Entry  Section

F
File, Lisp, genhash.asd: The genhash<dot>asd file
File, Lisp, genhash/genhash.lisp: The genhash/genhash<dot>lisp file
File, Lisp, genhash/packages.lisp: The genhash/packages<dot>lisp file

G
genhash.asd: The genhash<dot>asd file
genhash/genhash.lisp: The genhash/genhash<dot>lisp file
genhash/packages.lisp: The genhash/packages<dot>lisp file

L
Lisp File, genhash.asd: The genhash<dot>asd file
Lisp File, genhash/genhash.lisp: The genhash/genhash<dot>lisp file
Lisp File, genhash/packages.lisp: The genhash/packages<dot>lisp file

Jump to:   F   G   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   B   E   F   G   H   M   R   S   T   U   W  
Index Entry  Section

(
(setf allocated-buckets): Internal generic functions
(setf allocated-buckets): Internal generic functions
(setf buckets): Internal generic functions
(setf buckets): Internal generic functions
(setf hashref): Exported generic functions
(setf hashref): Exported generic functions
(setf hashref): Exported generic functions
(setf stored-items): Internal generic functions
(setf stored-items): Internal generic functions
(setf used-buckets): Internal generic functions
(setf used-buckets): Internal generic functions

A
all-hash-keys: Internal generic functions
all-hash-keys: Internal generic functions
all-hash-keys: Internal generic functions
allocated-buckets: Internal generic functions
allocated-buckets: Internal generic functions

B
buckets: Internal generic functions
buckets: Internal generic functions
builtin: Internal generic functions
builtin: Internal generic functions

E
eq-test: Internal generic functions
eq-test: Internal generic functions
expand-hash-table: Internal functions

F
Function, expand-hash-table: Internal functions
Function, make-generic-hash-table: Exported functions
Function, make-generic-hashtable: Exported functions
Function, register-builtin: Internal functions
Function, register-hash-function: Exported functions
Function, register-test-designator: Exported functions

G
Generic Function, (setf allocated-buckets): Internal generic functions
Generic Function, (setf buckets): Internal generic functions
Generic Function, (setf hashref): Exported generic functions
Generic Function, (setf stored-items): Internal generic functions
Generic Function, (setf used-buckets): Internal generic functions
Generic Function, all-hash-keys: Internal generic functions
Generic Function, allocated-buckets: Internal generic functions
Generic Function, buckets: Internal generic functions
Generic Function, builtin: Internal generic functions
Generic Function, eq-test: Internal generic functions
Generic Function, generic-hash-table-count: Exported generic functions
Generic Function, generic-hash-table-p: Exported generic functions
Generic Function, generic-hash-table-size: Exported generic functions
Generic Function, hash-function: Internal generic functions
Generic Function, hashclr: Exported generic functions
Generic Function, hashmap: Exported generic functions
Generic Function, hashref: Exported generic functions
Generic Function, hashrem: Exported generic functions
Generic Function, stored-items: Internal generic functions
Generic Function, test-designator: Internal generic functions
Generic Function, used-buckets: Internal generic functions
generic-hash-table-count: Exported generic functions
generic-hash-table-count: Exported generic functions
generic-hash-table-count: Exported generic functions
generic-hash-table-p: Exported generic functions
generic-hash-table-p: Exported generic functions
generic-hash-table-p: Exported generic functions
generic-hash-table-p: Exported generic functions
generic-hash-table-size: Exported generic functions
generic-hash-table-size: Exported generic functions
generic-hash-table-size: Exported generic functions

H
hash-function: Internal generic functions
hash-function: Internal generic functions
hashclr: Exported generic functions
hashclr: Exported generic functions
hashclr: Exported generic functions
hashmap: Exported generic functions
hashmap: Exported generic functions
hashmap: Exported generic functions
hashref: Exported generic functions
hashref: Exported generic functions
hashref: Exported generic functions
hashrem: Exported generic functions
hashrem: Exported generic functions
hashrem: Exported generic functions

M
Macro, with-generic-hash-table-iterator: Internal macros
make-generic-hash-table: Exported functions
make-generic-hashtable: Exported functions
Method, (setf allocated-buckets): Internal generic functions
Method, (setf buckets): Internal generic functions
Method, (setf hashref): Exported generic functions
Method, (setf hashref): Exported generic functions
Method, (setf stored-items): Internal generic functions
Method, (setf used-buckets): Internal generic functions
Method, all-hash-keys: Internal generic functions
Method, all-hash-keys: Internal generic functions
Method, allocated-buckets: Internal generic functions
Method, buckets: Internal generic functions
Method, builtin: Internal generic functions
Method, eq-test: Internal generic functions
Method, generic-hash-table-count: Exported generic functions
Method, generic-hash-table-count: Exported generic functions
Method, generic-hash-table-p: Exported generic functions
Method, generic-hash-table-p: Exported generic functions
Method, generic-hash-table-p: Exported generic functions
Method, generic-hash-table-size: Exported generic functions
Method, generic-hash-table-size: Exported generic functions
Method, hash-function: Internal generic functions
Method, hashclr: Exported generic functions
Method, hashclr: Exported generic functions
Method, hashmap: Exported generic functions
Method, hashmap: Exported generic functions
Method, hashref: Exported generic functions
Method, hashref: Exported generic functions
Method, hashrem: Exported generic functions
Method, hashrem: Exported generic functions
Method, stored-items: Internal generic functions
Method, test-designator: Internal generic functions
Method, test-designator: Internal generic functions
Method, used-buckets: Internal generic functions

R
register-builtin: Internal functions
register-hash-function: Exported functions
register-test-designator: Exported functions

S
stored-items: Internal generic functions
stored-items: Internal generic functions

T
test-designator: Internal generic functions
test-designator: Internal generic functions
test-designator: Internal generic functions

U
used-buckets: Internal generic functions
used-buckets: Internal generic functions

W
with-generic-hash-table-iterator: Internal macros

Jump to:   (  
A   B   E   F   G   H   M   R   S   T   U   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
A   B   E   H   S   T   U  
Index Entry  Section

*
*hash-test-designator-map*: Internal special variables
*initialized*: Internal special variables

A
allocated-buckets: Internal classes

B
buckets: Internal classes
builtin: Internal classes

E
eq-test: Internal classes

H
hash-function: Internal classes

S
Slot, allocated-buckets: Internal classes
Slot, buckets: Internal classes
Slot, builtin: Internal classes
Slot, eq-test: Internal classes
Slot, hash-function: Internal classes
Slot, stored-items: Internal classes
Slot, test-designator: Internal classes
Slot, test-designator: Internal classes
Slot, used-buckets: Internal classes
Special Variable, *hash-test-designator-map*: Internal special variables
Special Variable, *initialized*: Internal special variables
stored-items: Internal classes

T
test-designator: Internal classes
test-designator: Internal classes

U
used-buckets: Internal classes

Jump to:   *  
A   B   E   H   S   T   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   G   H   N   P   S   U  
Index Entry  Section

C
Class, hash-container: Internal classes
Class, hash-test-designator: Internal classes
Condition, hash-exists: Exported conditions
Condition, unknown-hash: Exported conditions

G
genhash: The genhash system

H
hash-container: Internal classes
hash-exists: Exported conditions
hash-test-designator: Internal classes

N
net.hexapodia.hashtables: The net<dot>hexapodia<dot>hashtables package

P
Package, net.hexapodia.hashtables: The net<dot>hexapodia<dot>hashtables package

S
System, genhash: The genhash system

U
unknown-hash: Exported conditions

Jump to:   C   G   H   N   P   S   U