From 2d66a0ffea4b03cd27b0f4363f8c4b8b0a1242e4 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 18 Aug 2024 15:31:06 +0200 Subject: Removed duplication --- src/arch/portable.h | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) (limited to 'src/arch/portable.h') diff --git a/src/arch/portable.h b/src/arch/portable.h index b8330af..f6e5301 100644 --- a/src/arch/portable.h +++ b/src/arch/portable.h @@ -243,30 +243,9 @@ _static_inline cube_t invcoord_esep(int64_t esep) { cube_t ret; - int64_t bit1, bit2, i, j, jj, k, l, s, v, w, is1, set1, set2; - uint8_t slice[3] = {0}; ret = solved; - set1 = esep % 70; - set2 = esep / 70; - - for (i = 0, j = 0, k = 4, l = 4; i < 12; i++) { - v = binomial[11-i][k]; - jj = j < 8; - w = jj * binomial[7-(j*jj)][l]; - bit2 = set2 >= v; - bit1 = set1 >= w; - is1 = (1 - bit2) * bit1; - - set2 -= bit2 * v; - k -= bit2; - set1 -= is1 * w; - l -= is1; - j += (1-bit2); - s = 2*bit2 + (1-bit2)*bit1; - - ret.edge[i] = (slice[s]++) | (uint8_t)(s << 2); - } + invcoord_esep_array(esep % 70, esep / 70, ret.edge); return ret; } -- cgit v1.3