38 lines
1.2 KiB
C
38 lines
1.2 KiB
C
/*
|
|
* hashmap.h
|
|
*
|
|
* Basic implementation of a hashmap.
|
|
*
|
|
* (c) 2021 Simon Brooke <simon@journeyman.cc>
|
|
* Licensed under GPL version 2.0, or, at your option, any later version.
|
|
*/
|
|
|
|
#ifndef __psse_hashmap_h
|
|
#define __psse_hashmap_h
|
|
|
|
#include "arith/integer.h"
|
|
#include "memory/conspage.h"
|
|
#include "memory/consspaceobject.h"
|
|
#include "memory/vectorspace.h"
|
|
|
|
#define DFLT_HASHMAP_BUCKETS 32
|
|
|
|
|
|
struct cons_pointer lisp_get_hash( struct stack_frame *frame,
|
|
struct cons_pointer frame_pointer,
|
|
struct cons_pointer env );
|
|
|
|
struct cons_pointer lisp_hashmap_put( struct stack_frame *frame,
|
|
struct cons_pointer frame_pointer,
|
|
struct cons_pointer env );
|
|
|
|
struct cons_pointer lisp_hashmap_put_all( struct stack_frame *frame,
|
|
struct cons_pointer frame_pointer,
|
|
struct cons_pointer env );
|
|
|
|
struct cons_pointer lisp_make_hashmap( struct stack_frame *frame,
|
|
struct cons_pointer frame_pointer,
|
|
struct cons_pointer env );
|
|
|
|
|
|
#endif
|