744 @Override
745 @ForceInline
746 public byte maxAll() {
747 return (byte) VectorIntrinsics.reductionCoerced(
748 VECTOR_OP_MAX, Byte256Vector.class, byte.class, LENGTH,
749 this,
750 v -> (long) v.rOp(Byte.MIN_VALUE , (i, a, b) -> (byte) Math.max(a, b)));
751 }
752
753 @Override
754 @ForceInline
755 public byte mulAll() {
756 return (byte) VectorIntrinsics.reductionCoerced(
757 VECTOR_OP_MUL, Byte256Vector.class, byte.class, LENGTH,
758 this,
759 v -> (long) v.rOp((byte) 1, (i, a, b) -> (byte) (a * b)));
760 }
761
762 @Override
763 @ForceInline
764 public byte subAll() {
765 return (byte) VectorIntrinsics.reductionCoerced(
766 VECTOR_OP_SUB, Byte256Vector.class, byte.class, LENGTH,
767 this,
768 v -> (long) v.rOp((byte) 0, (i, a, b) -> (byte) (a - b)));
769 }
770
771 @Override
772 @ForceInline
773 public byte orAll() {
774 return (byte) VectorIntrinsics.reductionCoerced(
775 VECTOR_OP_OR, Byte256Vector.class, byte.class, LENGTH,
776 this,
777 v -> (long) v.rOp((byte) 0, (i, a, b) -> (byte) (a | b)));
778 }
779
780 @Override
781 @ForceInline
782 public byte orAll(Mask<Byte> m) {
783 return blend(SPECIES.broadcast((byte) 0), m).orAll();
784 }
785
786 @Override
787 @ForceInline
788 public byte xorAll() {
789 return (byte) VectorIntrinsics.reductionCoerced(
790 VECTOR_OP_XOR, Byte256Vector.class, byte.class, LENGTH,
791 this,
792 v -> (long) v.rOp((byte) 0, (i, a, b) -> (byte) (a ^ b)));
793 }
794
795 @Override
796 @ForceInline
797 public byte xorAll(Mask<Byte> m) {
798 return blend(SPECIES.broadcast((byte) 0), m).xorAll();
799 }
800
801
802 @Override
803 @ForceInline
804 public byte addAll(Mask<Byte> m) {
805 return blend(SPECIES.broadcast((byte) 0), m).addAll();
806 }
807
808 @Override
809 @ForceInline
810 public byte subAll(Mask<Byte> m) {
811 return blend(SPECIES.broadcast((byte) 0), m).subAll();
812 }
813
814 @Override
815 @ForceInline
816 public byte mulAll(Mask<Byte> m) {
817 return blend(SPECIES.broadcast((byte) 1), m).mulAll();
818 }
819
820 @Override
821 @ForceInline
822 public byte minAll(Mask<Byte> m) {
823 return blend(SPECIES.broadcast(Byte.MAX_VALUE), m).minAll();
824 }
825
826 @Override
827 @ForceInline
828 public byte maxAll(Mask<Byte> m) {
829 return blend(SPECIES.broadcast(Byte.MIN_VALUE), m).maxAll();
830 }
831
|
744 @Override
745 @ForceInline
746 public byte maxAll() {
747 return (byte) VectorIntrinsics.reductionCoerced(
748 VECTOR_OP_MAX, Byte256Vector.class, byte.class, LENGTH,
749 this,
750 v -> (long) v.rOp(Byte.MIN_VALUE , (i, a, b) -> (byte) Math.max(a, b)));
751 }
752
753 @Override
754 @ForceInline
755 public byte mulAll() {
756 return (byte) VectorIntrinsics.reductionCoerced(
757 VECTOR_OP_MUL, Byte256Vector.class, byte.class, LENGTH,
758 this,
759 v -> (long) v.rOp((byte) 1, (i, a, b) -> (byte) (a * b)));
760 }
761
762 @Override
763 @ForceInline
764 public byte orAll() {
765 return (byte) VectorIntrinsics.reductionCoerced(
766 VECTOR_OP_OR, Byte256Vector.class, byte.class, LENGTH,
767 this,
768 v -> (long) v.rOp((byte) 0, (i, a, b) -> (byte) (a | b)));
769 }
770
771 @Override
772 @ForceInline
773 public byte orAll(Mask<Byte> m) {
774 return blend(SPECIES.broadcast((byte) 0), m).orAll();
775 }
776
777 @Override
778 @ForceInline
779 public byte xorAll() {
780 return (byte) VectorIntrinsics.reductionCoerced(
781 VECTOR_OP_XOR, Byte256Vector.class, byte.class, LENGTH,
782 this,
783 v -> (long) v.rOp((byte) 0, (i, a, b) -> (byte) (a ^ b)));
784 }
785
786 @Override
787 @ForceInline
788 public byte xorAll(Mask<Byte> m) {
789 return blend(SPECIES.broadcast((byte) 0), m).xorAll();
790 }
791
792
793 @Override
794 @ForceInline
795 public byte addAll(Mask<Byte> m) {
796 return blend(SPECIES.broadcast((byte) 0), m).addAll();
797 }
798
799 @Override
800 @ForceInline
801 public byte mulAll(Mask<Byte> m) {
802 return blend(SPECIES.broadcast((byte) 1), m).mulAll();
803 }
804
805 @Override
806 @ForceInline
807 public byte minAll(Mask<Byte> m) {
808 return blend(SPECIES.broadcast(Byte.MAX_VALUE), m).minAll();
809 }
810
811 @Override
812 @ForceInline
813 public byte maxAll(Mask<Byte> m) {
814 return blend(SPECIES.broadcast(Byte.MIN_VALUE), m).maxAll();
815 }
816
|