Browse Source

Fix formatting

master
cancel 6 years ago
parent
commit
86dd6be4f4
  1. 25
      sim.c

25
sim.c

@ -230,7 +230,7 @@ static void oper_poke_and_stun(Glyph* restrict gbuffer, Mark* restrict mbuffer,
_('H', halt) \ _('H', halt) \
_('I', increment) \ _('I', increment) \
_('J', jump) \ _('J', jump) \
_('K', konkat) \ _('K', konkat) \
_('L', loop) \ _('L', loop) \
_('M', modulo) \ _('M', modulo) \
_('N', movement) \ _('N', movement) \
@ -535,21 +535,24 @@ BEGIN_OPERATOR(jump)
POKE(1, 0, PEEK(-1, 0)); POKE(1, 0, PEEK(-1, 0));
END_OPERATOR END_OPERATOR
// Note: this is merged from a pull request without being fully tested or
// optimized
BEGIN_OPERATOR(konkat) BEGIN_OPERATOR(konkat)
LOWERCASE_REQUIRES_BANG; LOWERCASE_REQUIRES_BANG;
Isz len = (Isz)index_of(PEEK(0, -1)); Isz len = (Isz)index_of(PEEK(0, -1));
if (len == 0) len = 1; if (len == 0)
len = 1;
PORT(0, -1, IN | PARAM); PORT(0, -1, IN | PARAM);
for ( Isz i = 0; i < len; ++i) { for (Isz i = 0; i < len; ++i) {
PORT(0, i+1, IN); PORT(0, i + 1, IN);
Glyph var = PEEK(0, i+1); Glyph var = PEEK(0, i + 1);
Usz var_idx = safe_index_of(var); Usz var_idx = safe_index_of(var);
if( var_idx != 0 ){ if (var_idx != 0) {
Glyph result = extra_params->vars_slots[var_idx]; Glyph result = extra_params->vars_slots[var_idx];
if (result != '.'){ if (result != '.') {
PORT(1, i+1, OUT); PORT(1, i + 1, OUT);
POKE(1, i+1, result); POKE(1, i + 1, result);
} }
} }
} }
END_OPERATOR END_OPERATOR

Loading…
Cancel
Save