Пример #1
0
static int vector_set(su_state *s, int narg) {
	su_check_arguments(s, 3, SU_VECTOR, SU_NUMBER, SU_NIL);
	su_copy(s, -2);
	su_copy(s, -2);
	su_vector_set(s, -5);
	return 1;
}
Пример #2
0
void su_seq_reverse(su_state *s, int idx) {
	su_pushnil(s);
	su_copy(s, idx - 1);
	while (su_type(s, -1) == SU_SEQ) {
		su_first(s, -1);
		su_copy(s, -3);
		su_cons(s);
		su_swap(s, -3, -1);
		su_pop(s, 1);
		su_rest(s, -1);
		su_swap(s, -2, -1);
		su_pop(s, 1);
	}
	su_pop(s, 1);
}
Пример #3
0
static int vector_index(su_state *s, int narg) {
	su_check_arguments(s, 2, SU_VECTOR, SU_NUMBER);
	su_copy(s, -1);
	su_vector_index(s, -3);
	return 1;
}