788 @Override
789 @ForceInline
790 public int maxAll() {
791 return (int) VectorIntrinsics.reductionCoerced(
792 VECTOR_OP_MAX, Int64Vector.class, int.class, LENGTH,
793 this,
794 v -> (long) v.rOp(Integer.MIN_VALUE , (i, a, b) -> (int) Math.max(a, b)));
795 }
796
797 @Override
798 @ForceInline
799 public int mulAll() {
800 return (int) VectorIntrinsics.reductionCoerced(
801 VECTOR_OP_MUL, Int64Vector.class, int.class, LENGTH,
802 this,
803 v -> (long) v.rOp((int) 1, (i, a, b) -> (int) (a * b)));
804 }
805
806 @Override
807 @ForceInline
808 public int subAll() {
809 return (int) VectorIntrinsics.reductionCoerced(
810 VECTOR_OP_SUB, Int64Vector.class, int.class, LENGTH,
811 this,
812 v -> (long) v.rOp((int) 0, (i, a, b) -> (int) (a - b)));
813 }
814
815 @Override
816 @ForceInline
817 public int orAll() {
818 return (int) VectorIntrinsics.reductionCoerced(
819 VECTOR_OP_OR, Int64Vector.class, int.class, LENGTH,
820 this,
821 v -> (long) v.rOp((int) 0, (i, a, b) -> (int) (a | b)));
822 }
823
824 @Override
825 @ForceInline
826 public int orAll(Mask<Integer> m) {
827 return blend(SPECIES.broadcast((int) 0), m).orAll();
828 }
829
830 @Override
831 @ForceInline
832 public int xorAll() {
833 return (int) VectorIntrinsics.reductionCoerced(
834 VECTOR_OP_XOR, Int64Vector.class, int.class, LENGTH,
835 this,
836 v -> (long) v.rOp((int) 0, (i, a, b) -> (int) (a ^ b)));
837 }
838
839 @Override
840 @ForceInline
841 public int xorAll(Mask<Integer> m) {
842 return blend(SPECIES.broadcast((int) 0), m).xorAll();
843 }
844
845
846 @Override
847 @ForceInline
848 public int addAll(Mask<Integer> m) {
849 return blend(SPECIES.broadcast((int) 0), m).addAll();
850 }
851
852 @Override
853 @ForceInline
854 public int subAll(Mask<Integer> m) {
855 return blend(SPECIES.broadcast((int) 0), m).subAll();
856 }
857
858 @Override
859 @ForceInline
860 public int mulAll(Mask<Integer> m) {
861 return blend(SPECIES.broadcast((int) 1), m).mulAll();
862 }
863
864 @Override
865 @ForceInline
866 public int minAll(Mask<Integer> m) {
867 return blend(SPECIES.broadcast(Integer.MAX_VALUE), m).minAll();
868 }
869
870 @Override
871 @ForceInline
872 public int maxAll(Mask<Integer> m) {
873 return blend(SPECIES.broadcast(Integer.MIN_VALUE), m).maxAll();
874 }
875
|
788 @Override
789 @ForceInline
790 public int maxAll() {
791 return (int) VectorIntrinsics.reductionCoerced(
792 VECTOR_OP_MAX, Int64Vector.class, int.class, LENGTH,
793 this,
794 v -> (long) v.rOp(Integer.MIN_VALUE , (i, a, b) -> (int) Math.max(a, b)));
795 }
796
797 @Override
798 @ForceInline
799 public int mulAll() {
800 return (int) VectorIntrinsics.reductionCoerced(
801 VECTOR_OP_MUL, Int64Vector.class, int.class, LENGTH,
802 this,
803 v -> (long) v.rOp((int) 1, (i, a, b) -> (int) (a * b)));
804 }
805
806 @Override
807 @ForceInline
808 public int orAll() {
809 return (int) VectorIntrinsics.reductionCoerced(
810 VECTOR_OP_OR, Int64Vector.class, int.class, LENGTH,
811 this,
812 v -> (long) v.rOp((int) 0, (i, a, b) -> (int) (a | b)));
813 }
814
815 @Override
816 @ForceInline
817 public int orAll(Mask<Integer> m) {
818 return blend(SPECIES.broadcast((int) 0), m).orAll();
819 }
820
821 @Override
822 @ForceInline
823 public int xorAll() {
824 return (int) VectorIntrinsics.reductionCoerced(
825 VECTOR_OP_XOR, Int64Vector.class, int.class, LENGTH,
826 this,
827 v -> (long) v.rOp((int) 0, (i, a, b) -> (int) (a ^ b)));
828 }
829
830 @Override
831 @ForceInline
832 public int xorAll(Mask<Integer> m) {
833 return blend(SPECIES.broadcast((int) 0), m).xorAll();
834 }
835
836
837 @Override
838 @ForceInline
839 public int addAll(Mask<Integer> m) {
840 return blend(SPECIES.broadcast((int) 0), m).addAll();
841 }
842
843 @Override
844 @ForceInline
845 public int mulAll(Mask<Integer> m) {
846 return blend(SPECIES.broadcast((int) 1), m).mulAll();
847 }
848
849 @Override
850 @ForceInline
851 public int minAll(Mask<Integer> m) {
852 return blend(SPECIES.broadcast(Integer.MAX_VALUE), m).minAll();
853 }
854
855 @Override
856 @ForceInline
857 public int maxAll(Mask<Integer> m) {
858 return blend(SPECIES.broadcast(Integer.MIN_VALUE), m).maxAll();
859 }
860
|