Example #1
0
void BitMatrixSlice::randomize(int row, PRNG& G)
{
    const int block_size = RAND_SIZE / sizeof(bm.squares[0].rows[0]);
    auto iSquare = bm.squares.begin() + start;
    for ( ; iSquare < bm.squares.end() - block_size; )
    {
        G.next();
        for (int j = 0; j < block_size; j++)
            (iSquare++)->rows[row] = G.get_doubleword_no_check();
    }
    for ( ; iSquare < bm.squares.end(); iSquare++)
        iSquare->randomize(row, G);
}