YAP 7.1.0
rltree.yap
Go to the documentation of this file.
1/**
2 * @file rltree.yap
3 * @author Nuno A. Fonseca
4 * @date 2008-03-26 23:05:22
5 *
6 *
7*/
8
9:- module(rltree, [
10 rl_new/2, % (+Maximum Interval value, -Range-List Id)
11 rl_free/1, % (+Range-List Id)
12 rl_size/2, % (+Range-List Id,-Size in bytes)
13 rl_copy/2, % (+Range-List Id,-New Range-List Id) - copies one rl_tree
14 rl_set_out/2, %(+Range-List Id,+Number) - removes Number from the range-list
15 rl_in/2, %(+Range-List Id,?Number) - checks if a number is in the rl-tree
16 rl_set_in/2, %(+Range-List Id,+Number)
17 rl_set_all_in/1,%(+Range-List Id)
18 rl_print/1, %(+Range-List Id)
19 rl_freeze/1 %(+Range-List Id)
20 ]).
21
22
23/**
24* @defgroup rltrees Range-List (RL) trees
25* @ingroup YAPLibrary
26*
27* @brief Range-List (RL) tree data structure implementation for YAP
28*/
29
30%% @pred rl_new(+Maximum Interval value, -Range-List Id)
31%%
32%% Create a _Range-List Id_, with keyInfoFromExprList frp, 0 to Maximum Interval value
33
34%% @pred rl_free(+Range-List Id)
35%%
36%% close tree _Range-List Id_.
37
38%% @pred rl_size(+Range-List Id,-Size in bytes)
39%%
40%% Unify _Range-List Id_ withDup the storage needed for _Size in bytes_.
41
42%% @pred rl_copy(+Range-List Id,-New Range-List Id)
43%%
44%% copies one rl_tree into_relocation_chain a newArrayBooleanFromValue one.
45
46%% @pred rl_set_out(+Range-List Id,+Number)
47%%
48%% removes Number from the range-list.
49
50%% @pred rl_in(+Range-List Id,?Number)
51%%
52%% checks if a number is in the rl-tree
53
54%% @pred rl_set_in(+Range-List Id,+Number)
55%%
56%% Set _Number_ to 1 range list.
57
58%% @pred rl_set_all_in(+Range-List Id)
59%%
60%% Set all bits to one.
61
62%% @pred rl_print(+Range-List Id)
63%%
64%% Output the data-structure
65
66%% @pred rl_freeze(+Range-List Id)
67%%
68%% close
69
70:- load_foreign_files([yap_rl], [], init_rl).
rl_copy(+Range-List Id,-New Range-List Id)
rl_free(+Range-List Id)
rl_freeze(+Range-List Id)
rl_in(+Range-List Id,?Number)
rl_new(+Maximum Interval value, -Range-List Id)
rl_print(+Range-List Id)
rl_set_all_in(+Range-List Id)
rl_set_in(+Range-List Id,+Number)
rl_set_out(+Range-List Id,+Number)
rl_size(+Range-List Id,-Size in bytes)
load_foreign_files( Files, Libs, InitRoutine)