 |
YAP 7.1.0
|
23#define MAX_TABLE_VARS 1000
24#define TRIE_LOCK_BUCKETS 512
25#define THREADS_DIRECT_BUCKETS 32
26#define THREADS_INDIRECT_BUCKETS ((MAX_THREADS - THREADS_DIRECT_BUCKETS) / THREADS_DIRECT_BUCKETS)
27#define THREADS_NUM_BUCKETS (THREADS_DIRECT_BUCKETS + THREADS_INDIRECT_BUCKETS)
28#define TG_ANSWER_SLOTS 20
29#define MAX_BRANCH_DEPTH 1000
34#define MMAP_MEMORY_MAPPING_SCHEME 1
45#define BFZ_TRAIL_SCHEME 1
51#define THREADS_NO_SHARING 1
73#define SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL 1
78#define ANSWER_TRIE_LOCK_AT_NODE_LEVEL 1
82#define GLOBAL_TRIE_LOCK_AT_NODE_LEVEL 1
92#define TRIE_LOCK_USING_NODE_FIELD 1
98#define MODE_DIRECTED_TABLING 1
103#define TABLING_EARLY_COMPLETION 1
108#define TRIE_COMPACT_PAIRS 1
133#define TABLING_INNER_CUTS 1
138#define TIMESTAMP_CHECK 1
154#define TRIE_RATIONAL_TERMS 1
165#undef MMAP_MEMORY_MAPPING_SCHEME
166#define SHM_MEMORY_MAPPING_SCHEME
168#if !defined(MMAP_MEMORY_MAPPING_SCHEME) && !defined(SHM_MEMORY_MAPPING_SCHEME)
169#error Define a memory mapping scheme
171#if defined(MMAP_MEMORY_MAPPING_SCHEME) && defined(SHM_MEMORY_MAPPING_SCHEME)
172#error Do not define multiple memory mapping schemes
175#undef MMAP_MEMORY_MAPPING_SCHEME
176#undef SHM_MEMORY_MAPPING_SCHEME
181#if !defined(BFZ_TRAIL_SCHEME) && !defined(BBREG_TRAIL_SCHEME)
182#error Define a trail scheme
184#if defined(BFZ_TRAIL_SCHEME) && defined(BBREG_TRAIL_SCHEME)
185#error Do not define multiple trail schemes
188#undef BFZ_TRAIL_SCHEME
189#undef BBREG_TRAIL_SCHEME
190#undef MODE_DIRECTED_TABLING
191#undef TABLING_EARLY_COMPLETION
192#undef TRIE_COMPACT_PAIRS
193#undef GLOBAL_TRIE_FOR_SUBTERMS
194#undef INCOMPLETE_TABLING
196#undef DETERMINISTIC_TABLING
200#if defined(TABLING) && (defined(YAPOR) || defined(THREADS))
202#if !defined(SUBGOAL_TRIE_LOCK_AT_ENTRY_LEVEL) && !defined(SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL) && !defined(SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL)
203#error Define a subgoal trie lock scheme
205#if defined(SUBGOAL_TRIE_LOCK_AT_ENTRY_LEVEL) && defined(SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL)
206#error Do not define multiple subgoal trie lock schemes
208#if defined(SUBGOAL_TRIE_LOCK_AT_ENTRY_LEVEL) && defined(SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL)
209#error Do not define multiple subgoal trie lock schemes
211#if defined(SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL) && defined(SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL)
212#error Do not define multiple subgoal trie lock schemes
214#ifndef SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL
215#undef SUBGOAL_TRIE_ALLOC_BEFORE_CHECK
218#if !defined(ANSWER_TRIE_LOCK_AT_ENTRY_LEVEL) && !defined(ANSWER_TRIE_LOCK_AT_NODE_LEVEL) && !defined(ANSWER_TRIE_LOCK_AT_WRITE_LEVEL)
219#error Define a answer trie lock scheme
221#if defined(ANSWER_TRIE_LOCK_AT_ENTRY_LEVEL) && defined(ANSWER_TRIE_LOCK_AT_NODE_LEVEL)
222#error Do not define multiple answer trie lock schemes
224#if defined(ANSWER_TRIE_LOCK_AT_ENTRY_LEVEL) && defined(ANSWER_TRIE_LOCK_AT_WRITE_LEVEL)
225#error Do not define multiple answer trie lock schemes
227#if defined(ANSWER_TRIE_LOCK_AT_NODE_LEVEL) && defined(ANSWER_TRIE_LOCK_AT_WRITE_LEVEL)
228#error Do not define multiple answer trie lock schemes
230#ifndef ANSWER_TRIE_LOCK_AT_WRITE_LEVEL
231#undef ANSWER_TRIE_ALLOC_BEFORE_CHECK
234#if !defined(GLOBAL_TRIE_LOCK_AT_NODE_LEVEL) && !defined(GLOBAL_TRIE_LOCK_AT_WRITE_LEVEL)
235#error Define a global trie lock scheme
237#if defined(GLOBAL_TRIE_LOCK_AT_NODE_LEVEL) && defined(GLOBAL_TRIE_LOCK_AT_WRITE_LEVEL)
238#error Do not define multiple global trie lock schemes
240#ifndef GLOBAL_TRIE_LOCK_AT_WRITE_LEVEL
241#undef GLOBAL_TRIE_ALLOC_BEFORE_CHECK
244#if !defined(TRIE_LOCK_USING_NODE_FIELD) && !defined(TRIE_LOCK_USING_GLOBAL_ARRAY)
245#error Define a trie lock data structure
247#if defined(TRIE_LOCK_USING_NODE_FIELD) && defined(TRIE_LOCK_USING_GLOBAL_ARRAY)
248#error Do not define multiple trie lock data structures
251#undef SUBGOAL_TRIE_LOCK_AT_ENTRY_LEVEL
252#undef SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL
253#undef SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL
254#undef SUBGOAL_TRIE_ALLOC_BEFORE_CHECK
255#undef ANSWER_TRIE_LOCK_AT_ENTRY_LEVEL
256#undef ANSWER_TRIE_LOCK_AT_NODE_LEVEL
257#undef ANSWER_TRIE_LOCK_AT_WRITE_LEVEL
258#undef ANSWER_TRIE_ALLOC_BEFORE_CHECK
259#undef GLOBAL_TRIE_LOCK_AT_NODE_LEVEL
260#undef GLOBAL_TRIE_LOCK_AT_WRITE_LEVEL
261#undef GLOBAL_TRIE_ALLOC_BEFORE_CHECK
262#undef TRIE_LOCK_USING_NODE_FIELD
263#undef TRIE_LOCK_USING_GLOBAL_ARRAY
266#if defined(TABLING) && defined(THREADS)
267#if !defined(THREADS_NO_SHARING) && !defined(THREADS_SUBGOAL_SHARING) && !defined(THREADS_FULL_SHARING) && !defined(THREADS_CONSUMER_SHARING)
268#error Define a multithreading table design
270#if defined(THREADS_NO_SHARING) && defined(THREADS_SUBGOAL_SHARING)
271#error Do not define multiple multithreading table designs
273#if defined(THREADS_NO_SHARING) && defined(THREADS_FULL_SHARING)
274#error Do not define multiple multithreading table designs
276#if defined(THREADS_NO_SHARING) && defined(THREADS_CONSUMER_SHARING)
277#error Do not define multiple multithreading table designs
279#if defined(THREADS_SUBGOAL_SHARING) && defined(THREADS_FULL_SHARING)
280#error Do not define multiple multithreading table designs
282#if defined(THREADS_SUBGOAL_SHARING) && defined(THREADS_CONSUMER_SHARING)
283#error Do not define multiple multithreading table designs
285#if defined(THREADS_FULL_SHARING) && defined(THREADS_CONSUMER_SHARING)
286#error Do not define multiple multithreading table designs
288#ifdef THREADS_NO_SHARING
289#undef SUBGOAL_TRIE_LOCK_AT_ENTRY_LEVEL
290#undef SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL
291#undef SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL
292#undef SUBGOAL_TRIE_ALLOC_BEFORE_CHECK
294#if defined(THREADS_NO_SHARING) || defined(THREADS_SUBGOAL_SHARING)
295#undef ANSWER_TRIE_LOCK_AT_ENTRY_LEVEL
296#undef ANSWER_TRIE_LOCK_AT_NODE_LEVEL
297#undef ANSWER_TRIE_LOCK_AT_WRITE_LEVEL
298#undef ANSWER_TRIE_ALLOC_BEFORE_CHECK
301#undef THREADS_NO_SHARING
302#undef THREADS_SUBGOAL_SHARING
303#undef THREADS_FULL_SHARING
304#undef THREADS_CONSUMER_SHARING
307#ifdef TRIE_LOCK_USING_NODE_FIELD
308#if defined(SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL) || defined(SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL)
309#define SUBGOAL_TRIE_LOCK_USING_NODE_FIELD 1
311#if defined(ANSWER_TRIE_LOCK_AT_NODE_LEVEL) || defined(ANSWER_TRIE_LOCK_AT_WRITE_LEVEL)
312#define ANSWER_TRIE_LOCK_USING_NODE_FIELD 1
314#if defined(GLOBAL_TRIE_LOCK_AT_NODE_LEVEL) || defined(GLOBAL_TRIE_LOCK_AT_WRITE_LEVEL)
315#define GLOBAL_TRIE_LOCK_USING_NODE_FIELD 1
317#elif defined(TRIE_LOCK_USING_GLOBAL_ARRAY)
318#if defined(SUBGOAL_TRIE_LOCK_AT_NODE_LEVEL) || defined(SUBGOAL_TRIE_LOCK_AT_WRITE_LEVEL)
319#define SUBGOAL_TRIE_LOCK_USING_GLOBAL_ARRAY 1
321#if defined(ANSWER_TRIE_LOCK_AT_NODE_LEVEL) || defined(ANSWER_TRIE_LOCK_AT_WRITE_LEVEL)
322#define ANSWER_TRIE_LOCK_USING_GLOBAL_ARRAY 1
324#if defined(GLOBAL_TRIE_LOCK_AT_NODE_LEVEL) || defined(GLOBAL_TRIE_LOCK_AT_WRITE_LEVEL)
325#define GLOBAL_TRIE_LOCK_USING_GLOBAL_ARRAY 1
329#if !defined(TABLING) || !defined(YAPOR)
330#undef TABLING_INNER_CUTS
331#undef TIMESTAMP_CHECK
334#if !defined(TABLING) || !defined(THREADS)
335#undef OUTPUT_THREADS_TABLING
338#if defined(DEBUG_YAPOR) && defined(DEBUG_TABLING)
342#if defined(LIMIT_TABLING) && !defined(USE_PAGES_MALLOC)
343#error LIMIT_TABLING requires USE_PAGES_MALLOC
346#if defined(YAPOR) || defined(THREADS_FULL_SHARING) || defined(THREADS_CONSUMER_SHARING)
347#undef TABLING_EARLY_COMPLETION
350#if defined(YAPOR) || defined(THREADS)
351#undef INCOMPLETE_TABLING
353#undef DETERMINISTIC_TABLING
357#undef MODE_DIRECTED_TABLING