automate tuple creation

forkit forkit at gmail.com
Thu Jan 20 04:38:39 UTC 2022


On Thursday, 20 January 2022 at 04:00:59 UTC, forkit wrote:
> void makeUniqueIDs(ref uint[] arr, size_t sz)
> {
>   ...
> }

arrg!

what was i thinking! ;-)

// ---
void makeUniqueIDs(ref uint[] arr, size_t sz)
{
     arr.reserve(sz);

     // id needs to be 9 digits, and needs to start with 999
     int[] a = iota(999_000_000, 1_000_000_000).array;
     // above will contain 1_000_000 records that we can choose 
from.

     int i = 0;
     uint x;
     while(i != sz)
     {
        x = cast(uint)a.choice(rnd);

        // ensure every id added is unique.
        if (!arr.canFind(x))
        {
            arr ~= x;
            i++;
        }
        else
            i--;
     }
}


//------




More information about the Digitalmars-d-learn mailing list