| /* -*-C-*- |
| ******************************************************************************** |
| * |
| * File: closed.h (Formerly closed.h) |
| * Description: Hash table for closed search states. |
| * Author: Mark Seaman, SW Productivity |
| * Created: Fri Oct 16 14:37:00 1987 |
| * Modified: Fri May 25 11:27:11 1990 (Mark Seaman) marks@hpgrlt |
| * Language: C |
| * Package: N/A |
| * Status: Reusable Software Component |
| * |
| * (c) Copyright 1987, Hewlett-Packard Company. |
| ** Licensed under the Apache License, Version 2.0 (the "License"); |
| ** you may not use this file except in compliance with the License. |
| ** You may obtain a copy of the License at |
| ** http://www.apache.org/licenses/LICENSE-2.0 |
| ** Unless required by applicable law or agreed to in writing, software |
| ** distributed under the License is distributed on an "AS IS" BASIS, |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ** See the License for the specific language governing permissions and |
| ** limitations under the License. |
| * |
| *********************************************************************************/ |
| |
| #ifndef CLOSED_H |
| #define CLOSED_H |
| |
| /*---------------------------------------------------------------------- |
| I n c l u d e s |
| ----------------------------------------------------------------------*/ |
| #include <math.h> |
| #include "states.h" |
| |
| /*---------------------------------------------------------------------- |
| T y p e s |
| ----------------------------------------------------------------------*/ |
| typedef STATE *HASH_TABLE; |
| #define NO_STATE ~0 |
| |
| /*---------------------------------------------------------------------- |
| V a r i a b l e s |
| ----------------------------------------------------------------------*/ |
| extern HASH_TABLE global_hash; |
| |
| /*---------------------------------------------------------------------- |
| M a c r o s |
| ----------------------------------------------------------------------*/ |
| /********************************************************************** |
| * free_hash_table |
| * |
| * Free the memory taken by a state variable. |
| **********************************************************************/ |
| #define free_hash_table(table) \ |
| global_hash = table |
| |
| /*--------------------------------------------------------------------- |
| F u n c t i o n s |
| ----------------------------------------------------------------------*/ |
| int hash_add(HASH_TABLE state_table, STATE *state); |
| |
| int hash_lookup(HASH_TABLE state_table, STATE *state); |
| |
| HASH_TABLE new_hash_table(); |
| #endif |