diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2025-08-06 16:34:21 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2025-08-06 16:52:12 +0200 |
| commit | 57a7520545134ab95f7bb0397dcbe991c906a3e9 (patch) | |
| tree | 689e20a92ec3830533d2fb868e5dc141dec45877 /src/arch/neon.h | |
| parent | a5c9b857a346343443baf49679eebf12c18b4008 (diff) | |
| download | nissy-core-57a7520545134ab95f7bb0397dcbe991c906a3e9.tar.gz nissy-core-57a7520545134ab95f7bb0397dcbe991c906a3e9.zip | |
Added HTR solver
Diffstat (limited to 'src/arch/neon.h')
| -rw-r--r-- | src/arch/neon.h | 23 |
1 files changed, 22 insertions, 1 deletions
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) | |||
| 453 | { | 453 | { |
| 454 | return (cube_t) { | 454 | return (cube_t) { |
| 455 | .corner = indextoperm_8x8(i), | 455 | .corner = indextoperm_8x8(i), |
| 456 | .edge = vcombine_u8(vld1_u8(SOLVED_L), vld1_u8(SOLVED_H)) | 456 | .edge = vcombine_u8(vld1_u8(SOLVED_L), vld1_u8(SOLVED_H)) |
| 457 | }; | 457 | }; |
| 458 | } | 458 | } |
| 459 | 459 | ||
| @@ -515,3 +515,24 @@ is_eo_even(cube_t cube) | |||
| 515 | 515 | ||
| 516 | return count % 2 == 0; | 516 | return count % 2 == 0; |
| 517 | } | 517 | } |
| 518 | |||
| 519 | STATIC_INLINE uint64_t | ||
| 520 | coord_epudsep(cube_t cube) | ||
| 521 | { | ||
| 522 | uint8_t e[8]; | ||
| 523 | |||
| 524 | vst1_u8(e, vget_low_u8(cube.edge)); | ||
| 525 | return coord_epudsep_array(e); | ||
| 526 | } | ||
| 527 | |||
| 528 | STATIC_INLINE cube_t | ||
| 529 | invcoord_epudsep(uint64_t i) | ||
| 530 | { | ||
| 531 | uint8_t e[8]; | ||
| 532 | |||
| 533 | invcoord_epudsep_array(i, e); | ||
| 534 | return (cube_t) { | ||
| 535 | .corner = vld1_u8(SOLVED_L), | ||
| 536 | .edge = vcombine_u8(vld1_u8(e), vld1_u8(SOLVED_H)) | ||
| 537 | }; | ||
| 538 | } | ||
