factor/native/vector.h

26 lines
599 B
C
Raw Normal View History

2004-07-16 02:26:21 -04:00
typedef struct {
/* always tag_header(VECTOR_TYPE) */
CELL header;
/* untagged */
CELL top;
/* tagged */
CELL array;
} F_VECTOR;
2004-07-16 02:26:21 -04:00
INLINE F_VECTOR* untag_vector(CELL tagged)
2004-07-16 02:26:21 -04:00
{
type_check(VECTOR_TYPE,tagged);
return (F_VECTOR*)UNTAG(tagged);
2004-07-16 02:26:21 -04:00
}
F_VECTOR* vector(F_FIXNUM capacity);
2004-07-16 02:26:21 -04:00
void primitive_vector(void);
void primitive_vector_length(void);
void primitive_set_vector_length(void);
void primitive_vector_nth(void);
void vector_ensure_capacity(F_VECTOR* vector, CELL index);
2004-07-16 02:26:21 -04:00
void primitive_set_vector_nth(void);
void fixup_vector(F_VECTOR* vector);
void collect_vector(F_VECTOR* vector);