#define ASE_HEAP_MIN_SIZE 4096 /* 65536 */
#define ALIGNED(n) __attribute__((aligned(n), packed))
+static inline ase_yheap_t _ase_make_yheap(ase_heap_options_t opts);
+static inline Lisp_Object _ase_wrap_yheap(ase_yheap_t);
+static inline ase_dheap_t _ase_make_dheap(ase_heap_options_t opts);
+static inline Lisp_Object _ase_wrap_dheap(ase_dheap_t);
+static inline ase_wheap_t _ase_make_wheap(ase_heap_options_t opts);
+static inline Lisp_Object _ase_wrap_wheap(ase_wheap_t);
+
/* the op tables */
struct ase_heap_ops_s ase_heap_ops[NUMBER_OF_ASE_HEAP_KINDS] =
{{(ase_heap_constr_f)_ase_make_yheap, (ase_heap_wrap_f)_ase_wrap_yheap,
return c;
}
-Lisp_Object
+static inline Lisp_Object
_ase_wrap_yheap(ase_yheap_t h)
{
Lisp_Object result;
return result;
}
-Lisp_Object
+static inline Lisp_Object
_ase_wrap_dheap(ase_dheap_t h)
{
Lisp_Object result;
return result;
}
-ase_dheap_t
+static inline ase_dheap_t
_ase_make_dheap(ase_heap_options_t opts)
{
ase_dheap_t h = xnew(struct ase_dheap_s);
return _ase_wrap_dheap(h);
}
-Lisp_Object
+static inline Lisp_Object
_ase_wrap_wheap(ase_wheap_t h)
{
Lisp_Object result;
return result;
}
-ase_wheap_t
+static inline ase_wheap_t
_ase_make_wheap(ase_heap_options_t opts)
{
ase_wheap_t h = xnew(struct ase_wheap_s);
return _ase_wrap_wheap(h);
}
-inline ase_yheap_t
+static inline ase_yheap_t
_ase_make_yheap(ase_heap_options_t opts)
{
ase_yheap_t h = xnew(struct ase_yheap_s);
\f
/* dyna heaps */
-static inline ase_yheap_t _ase_make_yheap(ase_heap_options_t opts);
-static inline Lisp_Object _ase_wrap_yheap(ase_yheap_t);
extern Lisp_Object ase_make_yheap(ase_heap_options_t opts);
extern void ase_add_yheap(ase_yheap_t h, Lisp_Object o, Lisp_Object colour);
extern Lisp_Object ase_pop_yheap(ase_yheap_t h);
extern Lisp_Object ase_yheap_top_rank(ase_yheap_t h);
/* dense heaps */
-static inline ase_dheap_t _ase_make_dheap(ase_heap_options_t opts);
-static inline Lisp_Object _ase_wrap_dheap(ase_dheap_t);
extern Lisp_Object ase_make_dheap(ase_heap_options_t opts);
extern void ase_add_dheap(ase_dheap_t h, Lisp_Object o, Lisp_Object colour);
extern Lisp_Object ase_pop_dheap(ase_dheap_t h);
extern Lisp_Object ase_dheap_top_rank(ase_dheap_t h);
/* weak heaps */
-static inline ase_wheap_t _ase_make_wheap(ase_heap_options_t opts);
-static inline Lisp_Object _ase_wrap_wheap(ase_wheap_t);
extern Lisp_Object ase_make_wheap(ase_heap_options_t opts);
extern void ase_add_wheap(ase_wheap_t h, Lisp_Object o, Lisp_Object colour);
extern Lisp_Object ase_pop_wheap(ase_wheap_t h);