Exemplo n.º 1
0
struct pic_vector *
pic_vec_new_from_list(pic_state *pic, pic_value data)
{
  struct pic_vector *vec;
  size_t i, len;

  len = pic_length(pic, data);

  vec = pic_vec_new(pic, len);
  for (i = 0; i < len; ++i) {
    vec->data[i] = pic_car(pic, data);
    data = pic_cdr(pic, data);
  }
  return vec;
}
Exemplo n.º 2
0
static pic_value
pic_vec_make_vector(pic_state *pic)
{
  pic_value v;
  int k, n, i;
  struct pic_vector *vec;

  n = pic_get_args(pic, "i|o", &k, &v);

  vec = pic_vec_new(pic, k);
  if (n == 3) {
    for (i = 0; i < k; ++i) {
      vec->data[i] = v;
    }
  }
  return pic_obj_value(vec);
}