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