pike.git / lib / modules / Array.pmod

version» Context lines:

pike.git/lib/modules/Array.pmod:360:    prevodd = 1;    }       else if ((<1*2*3, 3*3*3>)[aeq[ai] * beq[bi] * ceq[ci]]) { // All are equal.    // Got to match both when all three are 3 and when they are 1, 2    // and 3 in that order modulo rotation (might get such sequences    // after breaking the cyclic equivalences above).    do apart += ({a[ai++]}), bi++, ci++;    while ((<0333, 0123, 0312, 0231>)[aeq[ai] << 6 | beq[bi] << 3 | ceq[ci]]);    cpart = bpart = apart; -  prevodd = -1; +  prevodd = -2;    }       else {    // Haven't got any equivalences in this block. Avoid adjacent    // complementary blocks (e.g. ({({"foo"}),({}),({})}) next to    // ({({}),({"bar"}),({"bar"})})). Besides that, leave the    // odd-one-out sequence empty in a block where two are equal.    switch (prevodd) {    case 0: apart = ares[-1], ares[-1] = ({}); break;    case 1: bpart = bres[-1], bres[-1] = ({}); break;