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