Lines Matching defs:idx

309   size_t idx;
910 void bc_vec_pushIndex(BcVec *v, size_t idx) {
914 for (amt = 0; idx; ++amt) {
915 nums[amt] = (uchar) idx;
916 idx &= ((size_t) ~(UCHAR_MAX));
917 idx >>= sizeof(uchar) * CHAR_BIT;
924 static void bc_vec_pushAt(BcVec *v, void *data, size_t idx) {
926 if (idx == v->len) bc_vec_push(v, data);
933 ptr = v->v + v->size * idx;
935 memmove(ptr + v->size, ptr, v->size * (v->len++ - idx));
966 void* bc_vec_item(BcVec *v, size_t idx) {
967 return v->v + v->size * idx;
970 void* bc_vec_item_rev(BcVec *v, size_t idx) {
971 return v->v + v->size * (v->len - idx - 1);
1268 static void bc_num_split(BcNum *n, size_t idx, BcNum *a, BcNum *b) {
1270 if (idx < n->len) {
1272 b->len = n->len - idx;
1273 a->len = idx;
1276 memcpy(b->num, n->num + idx, b->len);
1277 memcpy(a->num, n->num, idx);
2983 void bc_parse_pushIndex(BcParse *p, size_t idx) {
2984 bc_vec_pushIndex(&p->func->code, idx);
2991 size_t idx = v->len;
2997 bc_parse_pushIndex(p, idx);
3098 label = bc_vec_item(&func->labels, ip->idx);
3104 static void bc_parse_createLabel(BcParse *p, size_t idx) {
3105 bc_vec_push(&p->func->labels, &idx);
3108 static void bc_parse_createCondLabel(BcParse *p, size_t idx) {
3110 bc_vec_push(&p->conds, &idx);
3113 static void bc_parse_createExitLabel(BcParse *p, size_t idx, int loop) {
3118 ip.idx = idx;
3127 size_t idx = bc_program_insertFunc(p->prog, name);
3132 return idx;
3212 size_t idx;
3224 idx = bc_map_index(&p->prog->fn_map, &id);
3226 if (idx == SIZE_MAX) {
3228 idx = bc_map_index(&p->prog->fn_map, &id);
3232 ((struct str_len *)bc_vec_item(&p->prog->fn_map, idx))->len);
3636 size_t idx;
3652 idx = p->func->labels.len;
3654 bc_parse_pushIndex(p, idx);
3655 bc_parse_createExitLabel(p, idx, 0);
3663 size_t idx = p->func->labels.len;
3668 bc_parse_pushIndex(p, idx);
3672 bc_parse_createExitLabel(p, idx, 0);
3681 size_t idx;
3691 idx = p->func->labels.len;
3693 bc_parse_createExitLabel(p, idx, 1);
3702 bc_parse_pushIndex(p, idx);
3801 i = ip->idx;
3817 size_t idx;
3840 idx = bc_program_insertFunc(p->prog, name);
3841 bc_parse_updateFunc(p, idx);
4471 static char *bc_program_str(BcProgram *p, size_t idx, int str) {
4483 return *((char**) bc_vec_item(v, idx));
4587 size_t idx = r->d.id.len;
4591 if (v->len <= idx) bc_array_expand(v, idx + 1);
4592 *num = bc_vec_item(v, idx);
4622 BcNum **n, size_t idx)
4625 *r = bc_vec_item_rev(&p->results, idx);
4717 size_t idx = inst - BC_INST_POWER;
4721 bc_num_init(&res.d.n, bc_program_opReqs[idx](n1, n2, p->scale));
4723 s = bc_program_ops[idx](n1, n2, &res.d.n, p->scale);
4774 ip.idx = 0;
4801 int i, c, idx;
4805 if ((idx = stridx("ab\\efnqrt", c = str[i+1])) >= 0) {
4807 c = "\a\b\\\\\f\n\"\r\t"[idx];
4817 static BcStatus bc_program_print(BcProgram *p, uchar inst, size_t idx) {
4825 r = bc_vec_item_rev(&p->results, idx);
5138 size_t *idx)
5142 size_t i, nparams = bc_program_index(code, idx);
5149 ip.idx = 0;
5150 ip.func = bc_program_index(code, idx);
5362 size_t idx;
5367 new = bc_map_insert(&p->fn_map, &id, &idx);
5368 idx = ((struct ptr_len *)bc_vec_item(&p->fn_map, idx))->len;
5371 BcFunc *func = bc_vec_item(&p->fns, idx);
5376 return idx;
5389 ip->idx = f->code.len;
5410 size_t idx;
5418 while (!s && ip->idx < func->code.len) {
5420 uchar inst = (uchar) code[(ip->idx)++];
5435 idx = bc_program_index(code, &ip->idx);
5436 addr = bc_vec_item(&func->labels, idx);
5437 if (inst == BC_INST_JUMP || cond) ip->idx = *addr;
5443 s = bc_program_call(p, code, &ip->idx);
5498 s = bc_program_pushVar(p, code, &ip->idx);
5505 s = bc_program_pushArray(p, code, &ip->idx, inst);
5529 r.d.id.len = bc_program_index(code, &ip->idx);
5551 r.d.id.len = bc_program_index(code, &ip->idx);
5673 !prog->results.len && ip->idx == f->code.len)
5679 ip->idx = 0;