Ejemplo n.º 1
0
        public static ulong bits_depositparallel(ulong x, ulong mask)
        {
            if (Bmi2.IsBmi2Supported)
            {
                return(Bmi2.pdep_u64(x, mask));
            }
            else
            {
                ulong result = 0;

                for (ulong i = 1; mask != 0; i += i)
                {
                    if ((x & i) != 0)
                    {
                        result |= bits_extractlowest(mask);
                    }
                    else
                    {
                    }

                    mask = bits_resetlowest(mask);
                }

                return(result);
            }
        }