remove pic_make_vec_from_list
This commit is contained in:
parent
5c5066bfa0
commit
cbe5e81b28
|
@ -18,8 +18,7 @@ struct pic_vector {
|
||||||
#define pic_vec_p(v) (pic_type(v) == PIC_TT_VECTOR)
|
#define pic_vec_p(v) (pic_type(v) == PIC_TT_VECTOR)
|
||||||
#define pic_vec_ptr(o) ((struct pic_vector *)pic_ptr(o))
|
#define pic_vec_ptr(o) ((struct pic_vector *)pic_ptr(o))
|
||||||
|
|
||||||
struct pic_vector *pic_make_vec(pic_state *, size_t);
|
pic_vec *pic_make_vec(pic_state *, size_t);
|
||||||
struct pic_vector *pic_make_vec_from_list(pic_state *, pic_value);
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
}
|
}
|
||||||
|
|
|
@ -643,11 +643,19 @@ read_pair(pic_state *pic, struct pic_port *port, int c)
|
||||||
static pic_value
|
static pic_value
|
||||||
read_vector(pic_state *pic, struct pic_port *port, int c)
|
read_vector(pic_state *pic, struct pic_port *port, int c)
|
||||||
{
|
{
|
||||||
pic_value list;
|
pic_value list, it, elem;
|
||||||
|
pic_vec *vec;
|
||||||
|
size_t i = 0;
|
||||||
|
|
||||||
list = read(pic, port, c);
|
list = read(pic, port, c);
|
||||||
|
|
||||||
return pic_obj_value(pic_make_vec_from_list(pic, list));
|
vec = pic_make_vec(pic, pic_length(pic, list));
|
||||||
|
|
||||||
|
pic_for_each (elem, list, it) {
|
||||||
|
vec->data[i++] = elem;
|
||||||
|
}
|
||||||
|
|
||||||
|
return pic_obj_value(vec);
|
||||||
}
|
}
|
||||||
|
|
||||||
static pic_value
|
static pic_value
|
||||||
|
|
|
@ -19,22 +19,6 @@ pic_make_vec(pic_state *pic, size_t len)
|
||||||
return vec;
|
return vec;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct pic_vector *
|
|
||||||
pic_make_vec_from_list(pic_state *pic, pic_value data)
|
|
||||||
{
|
|
||||||
struct pic_vector *vec;
|
|
||||||
size_t len, i;
|
|
||||||
|
|
||||||
len = pic_length(pic, data);
|
|
||||||
|
|
||||||
vec = pic_make_vec(pic, len);
|
|
||||||
for (i = 0; i < len; ++i) {
|
|
||||||
vec->data[i] = pic_car(pic, data);
|
|
||||||
data = pic_cdr(pic, data);
|
|
||||||
}
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
|
|
||||||
static pic_value
|
static pic_value
|
||||||
pic_vec_vector_p(pic_state *pic)
|
pic_vec_vector_p(pic_state *pic)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue