sindresorhus/randoma

`color` returns the same first colors for majority of seeds

G-Rath opened this issue · 1 comments

I'm making this issue as I'm not too sure what to actually do about this - it feels like a bug, but at the same time I know that b/c it's generating a color that's also pleasing and psudorandom the pool of possible colors is greatly reduced :/

Anyway, the distribution of random colors is such that the range of possible colors returned for the first color of a seed is greatly reduced lower than further calls to color:

const tColors = (seeds: number, times: number) => {
  const colors = [];

  for (let seed = 0; seed < seeds; seed++) {
    const gen = new Randoma({ seed });

    for (let i = 0; i < times; i++) {
      gen.color();
    }

    colors.push(gen.color());
  }

  return colors.map(color => color.hex());
};

const stats = () => {
  const results = [];

  for (let i = 0; i < 10; i++) {
    results.push(new Set(tColors(100000, i)).size);
  }

  console.log(results.join('\n'));
};

stats();

Give me:

58
726
627
726
726
726
726
726
726
726

Also, the max number of colors generatable seems to be 726.

That definitely looks like a bug.