예제 #1
0
        public static Vector256 <T> Or <T>(Vector256 <T> left, Vector256 <T> right) where T : struct
        {
            if (typeof(T) == typeof(float))
            {
                if (Avx.IsSupported)
                {
                    return(Avx.Or(left.AsSingle(), right.AsSingle()).As <float, T>());
                }
            }

            if (typeof(T) == typeof(double))
            {
                if (Avx.IsSupported)
                {
                    return(Avx.Or(left.AsDouble(), right.AsDouble()).As <double, T>());
                }
            }

            if (Avx.IsSupported)
            {
                return(Avx.Or(left.AsSingle(), right.AsSingle()).As <float, T>());
            }

            return(SoftwareFallbacks.Or_Software(left, right));
        }
예제 #2
0
        public static Vector4UInt64 Or(Vector4UInt64Param1_3 left, Vector4UInt64Param1_3 right)
        {
            if (Avx2.IsSupported)
            {
                return(Avx2.Or(left, right));
            }

            return(SoftwareFallbacks.Or_Software(left, right));
        }
예제 #3
0
        public static Vector4Single Or(Vector4SingleParam1_3 left, Vector4SingleParam1_3 right)
        {
            if (Sse.IsSupported)
            {
                return(Sse.Or(left, right));
            }

            return(SoftwareFallbacks.Or_Software(left, right));
        }