Simplified some code in QrCode.getAlignmentPatternPositions() in most language versions.

pull/4/head
Project Nayuki 9 years ago
parent ff9fbba9cf
commit 1d5e77d4fc

@ -506,11 +506,11 @@ std::vector<int> qrcodegen::QrCode::getAlignmentPatternPositions(int ver) {
else // C-C-C-Combo breaker! else // C-C-C-Combo breaker!
step = 26; step = 26;
std::vector<int> result(numAlign); std::vector<int> result;
int size = ver * 4 + 17; int size = ver * 4 + 17;
result.at(0) = 6; for (int i = 0, pos = size - 7; i < numAlign - 1; i++, pos -= step)
for (int i = numAlign - 1, pos = size - 7; i >= 1; i--, pos -= step) result.insert(result.begin(), pos);
result.at(i) = pos; result.insert(result.begin(), 6);
return result; return result;
} }
} }

@ -639,11 +639,9 @@ var qrcodegen = new function() {
else // C-C-C-Combo breaker! else // C-C-C-Combo breaker!
step = 26; step = 26;
var result = []; var result = [6];
for (var i = numAlign - 1, pos = size - 7; i >= 1; i--, pos -= step) for (var i = 0, pos = size - 7; i < numAlign - 1; i++, pos -= step)
result.push(pos); result.splice(1, 0, pos);
result.push(6);
result.reverse();
return result; return result;
} }
}; };

@ -519,10 +519,10 @@ class QrCode(object):
step = (ver * 4 + numalign * 2 + 1) // (2 * numalign - 2) * 2 # ceil((size - 13) / (2*numalign - 2)) * 2 step = (ver * 4 + numalign * 2 + 1) // (2 * numalign - 2) * 2 # ceil((size - 13) / (2*numalign - 2)) * 2
else: # C-C-C-Combo breaker! else: # C-C-C-Combo breaker!
step = 26 step = 26
result = [6] + [None] * (numalign - 1) result = [6]
pos = ver * 4 + 10 pos = ver * 4 + 10
for i in reversed(range(1, numalign)): for i in range(numalign - 1):
result[i] = pos result.insert(1, pos)
pos -= step pos -= step
return result return result

Loading…
Cancel
Save