Настройка генератора XORShift для возврата числа в пределах максимума

Мне нужно генерировать случайные целые числа в пределах максимума. посколькупроизводительность имеет решающее значениеЯ решил использовать генератор XORShift вместо Java-класса Random.

long seed = System.nanoTime();
seed ^= (seed << 21);
seed ^= (seed >>> 35);
seed ^= (seed << 4);

Эта реализация(источник) дает мне длинное целое число, но что я действительно хочу, так это целое число от 0 до максимума.

public int random(int max){ /*...*/}

Какой это самый эффективный способ реализации этого метода?

Ответы на вопрос(2)

Ваш ответ на вопрос