public static AFArray Min(AFArray arr, int dim)
        {
            IntPtr ptr;

            Internal.VERIFY(AFAlgorithm.af_min(out ptr, arr._ptr, dim));
            return(new AFArray(ptr));
        }
        public static Array Min(Array arr, int dim = -1)
        {
            IntPtr ptr;

            Internal.VERIFY(AFAlgorithm.af_min(out ptr, arr._ptr, getFNSD(dim, arr.Dimensions)));
            return(new Array(ptr));
        }
        public static SuperArray Min(SuperArray arr, uint dim)
        {
            AFArray y = CreateMajorSupportedArray(arr);
            IntPtr  ptr;

            Internal.VERIFY(AFAlgorithm.af_min(out ptr, y._ptr, (int)dim));
            return(new SuperArray(new AFArray(ptr)));
        }
        public static SuperArray Min(SuperArray arr, uint[] dims)
        {
            AFArray y = CreateMajorSupportedArray(arr);

            IntPtr ptr = IntPtr.Zero;

            foreach (int dim in dims)
            {
                Internal.VERIFY(AFAlgorithm.af_min(out ptr, y._ptr, dim));
                y._ptr = ptr;
            }

            return(new SuperArray(new AFArray(ptr)));
        }