From 57a7520545134ab95f7bb0397dcbe991c906a3e9 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Wed, 6 Aug 2025 16:34:21 +0200 Subject: Added HTR solver --- src/arch/neon.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/arch/neon.h') diff --git a/src/arch/neon.h b/src/arch/neon.h index 2c35c58..9871125 100644 --- a/src/arch/neon.h +++ b/src/arch/neon.h @@ -453,7 +453,7 @@ invcoord_cp(uint64_t i) { return (cube_t) { .corner = indextoperm_8x8(i), - .edge = vcombine_u8(vld1_u8(SOLVED_L), vld1_u8(SOLVED_H)) + .edge = vcombine_u8(vld1_u8(SOLVED_L), vld1_u8(SOLVED_H)) }; } @@ -515,3 +515,24 @@ is_eo_even(cube_t cube) return count % 2 == 0; } + +STATIC_INLINE uint64_t +coord_epudsep(cube_t cube) +{ + uint8_t e[8]; + + vst1_u8(e, vget_low_u8(cube.edge)); + return coord_epudsep_array(e); +} + +STATIC_INLINE cube_t +invcoord_epudsep(uint64_t i) +{ + uint8_t e[8]; + + invcoord_epudsep_array(i, e); + return (cube_t) { + .corner = vld1_u8(SOLVED_L), + .edge = vcombine_u8(vld1_u8(e), vld1_u8(SOLVED_H)) + }; +} -- cgit v1.3