15a64702a46b92278eaf34bf44f0ff5816419acd
12 /* global variables */
14 #define DEFAULT_STORAGE_SIZE 10
15 tab_t
*storage
= NULL
;
17 /* storage functions */
21 if ((nb
!= -1) && (nb
!= size_tab (storage
))) {
22 storage
= resize_tab (storage
, nb
);
25 memory (DEFAULT_STORAGE_SIZE
);
27 return size_tab (storage
);
30 double store (int id
, double value
)
32 if (storage
== NULL
) {
33 memory (DEFAULT_STORAGE_SIZE
);
35 return set_tab (storage
, id
, value
);
38 double recall (int id
)
40 if (storage
== NULL
) {
41 memory (DEFAULT_STORAGE_SIZE
);
43 return get_tab (storage
, id
);
46 double increase (int id
)
48 if (storage
== NULL
) {
49 memory (DEFAULT_STORAGE_SIZE
);
51 double val
= get_tab (storage
, id
);
53 set_tab (storage
, id
, ++val
);
58 double decrease (int id
)
60 if (storage
== NULL
) {
61 memory (DEFAULT_STORAGE_SIZE
);
63 double val
= get_tab (storage
, id
);
65 set_tab (storage
, id
, --val
);
72 if (storage
== NULL
) {
73 memory (DEFAULT_STORAGE_SIZE
);
75 int i
, n
= size_tab (storage
);
77 for (i
= 0; i
< n
; i
++) {
79 printl (get_tab (storage
, i
+ 1));
86 if (storage
== NULL
) {
87 memory (DEFAULT_STORAGE_SIZE
);
89 int i
, n
= size_tab (storage
);
90 for (i
= 0; i
< n
; i
++) {
91 set_tab (storage
, i
, 0);
95 /* vim: set ts=4 sw=4 et: */