Skip to content

Commit 8bc754f

Browse files
perf: accelerate is_26_connected
1 parent f886c33 commit 8bc754f

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

src/xs3d.hpp

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -543,105 +543,105 @@ bool is_26_connected(
543543
if (x < 0) {
544544
if (y < 0) {
545545
if (z < 0) {
546-
return (candidate & 0b10000000) && (center & 0b00000001);
546+
return ((candidate & 0b10000000) > 0) & ((center & 0b00000001) > 0);
547547
}
548548
else if (z == 0) {
549-
return (candidate & 0b10001000) && (center & 0b00010001);
549+
return ((candidate & 0b10001000) > 0) & ((center & 0b00010001) > 0);
550550
}
551551
else {
552-
return (candidate & 0b00001000) && (center & 0b00010000);
552+
return ((candidate & 0b00001000) > 0) & ((center & 0b00010000) > 0);
553553
}
554554
}
555555
else if (y == 0) {
556556
if (z < 0) {
557-
return (candidate & 0b10100000) && (center & 0b00000101);
557+
return ((candidate & 0b10100000) > 0) & ((center & 0b00000101) > 0);
558558
}
559559
else if (z == 0) {
560-
return (candidate & 0b10101010) && (center & 0b01010101);
560+
return ((candidate & 0b10101010) > 0) & ((center & 0b01010101) > 0);
561561
}
562562
else {
563-
return (candidate & 0b00001010) && (center & 0b01010000);
563+
return ((candidate & 0b00001010) > 0) & ((center & 0b01010000) > 0);
564564
}
565565
}
566566
else {
567567
if (z < 0) {
568-
return (candidate & 0b00100000) && (center & 0b00000100);
568+
return ((candidate & 0b00100000) > 0) & ((center & 0b00000100) > 0);
569569
}
570570
else if (z == 0) {
571-
return (candidate & 0b00100010) && (center & 0b01000010);
571+
return ((candidate & 0b00100010) > 0) & ((center & 0b01000010) > 0);
572572
}
573573
else {
574-
return (candidate & 0b00000010) && (center & 0b01000000);
574+
return ((candidate & 0b00000010) > 0) & ((center & 0b01000000) > 0);
575575
}
576576
}
577577
}
578578
else if (x == 0) {
579579
if (y < 0) {
580580
if (z < 0) {
581-
return (candidate & 0b11000000) && (center & 0b00000011);
581+
return ((candidate & 0b11000000) > 0) & ((center & 0b00000011) > 0);
582582
}
583583
else if (z == 0) {
584-
return (candidate & 0b11001100) && (center & 0b00110011);
584+
return ((candidate & 0b11001100) > 0) & ((center & 0b00110011) > 0);
585585
}
586586
else {
587-
return (candidate & 0b00001100) && (center & 0b00110000);
587+
return ((candidate & 0b00001100) > 0) & ((center & 0b00110000) > 0);
588588
}
589589
}
590590
else if (y == 0) {
591591
if (z < 0) {
592-
return (candidate & 0b11110000) && (center & 0b00001111);
592+
return ((candidate & 0b11110000) > 0) & ((center & 0b00001111) > 0);
593593
}
594594
else if (z == 0) {
595595
return true;
596596
}
597-
else {
598-
return (candidate & 0b00001111) && (center & 0b11110000);
597+
else {
598+
return ((candidate & 0b00001111) > 0) & ((center & 0b11110000) > 0);
599599
}
600600
}
601601
else {
602602
if (z < 0) {
603-
return (candidate & 0b00110000) && (center & 0b00001100);
603+
return ((candidate & 0b00110000) > 0) & ((center & 0b00001100) > 0);
604604
}
605605
else if (z == 0) {
606-
return (candidate & 0b00110011) && (center & 0b11001100);
606+
return ((candidate & 0b00110011) > 0) & ((center & 0b11001100) > 0);
607607
}
608608
else {
609-
return (candidate & 0b00000011) && (center & 0b11000000);
609+
return ((candidate & 0b00000011) > 0) & ((center & 0b11000000) > 0);
610610
}
611611
}
612612
}
613613
else {
614614
if (y < 0) {
615615
if (z < 0) {
616-
return (candidate & 0b01000000) && (center & 0b00000010);
616+
return ((candidate & 0b01000000) > 0) & ((center & 0b00000010) > 0);
617617
}
618618
else if (z == 0) {
619-
return (candidate & 0b01000100) && (center & 0b00100010);
619+
return ((candidate & 0b01000100) > 0) & ((center & 0b00100010) > 0);
620620
}
621621
else {
622-
return (candidate & 0b00000100) && (center & 0b00100000);
622+
return ((candidate & 0b00000100) > 0) & ((center & 0b00100000) > 0);
623623
}
624624
}
625625
else if (y == 0) {
626626
if (z < 0) {
627-
return (candidate & 0b01010000) && (center & 0b00001010);
627+
return ((candidate & 0b01010000) > 0) & ((center & 0b00001010) > 0);
628628
}
629629
else if (z == 0) {
630-
return (candidate & 0b01010101) && (center & 0b10101010);
630+
return ((candidate & 0b01010101) > 0) & ((center & 0b10101010) > 0);
631631
}
632632
else {
633-
return (candidate & 0b00000101) && (center & 0b10100000);
633+
return ((candidate & 0b00000101) > 0) & ((center & 0b10100000) > 0);
634634
}
635635
}
636636
else {
637637
if (z < 0) {
638-
return (candidate & 0b00010000) && (center & 0b00001000);
638+
return ((candidate & 0b00010000) > 0) & ((center & 0b00001000) > 0);
639639
}
640640
else if (z == 0) {
641-
return (candidate & 0b00010001) && (center & 0b10001000);
641+
return ((candidate & 0b00010001) > 0) & ((center & 0b10001000) > 0);
642642
}
643643
else {
644-
return (candidate & 0b00000001) && (center & 0b10000000);
644+
return ((candidate & 0b00000001) > 0) & ((center & 0b10000000) > 0);
645645
}
646646
}
647647
}

0 commit comments

Comments
 (0)