Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

color returns the same first colors for majority of seeds #2

Open
G-Rath opened this issue Dec 8, 2019 · 1 comment
Open

color returns the same first colors for majority of seeds #2

G-Rath opened this issue Dec 8, 2019 · 1 comment
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@G-Rath
Copy link

G-Rath commented Dec 8, 2019

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.

@sindresorhus
Copy link
Owner

That definitely looks like a bug.

@sindresorhus sindresorhus added bug Something isn't working help wanted Extra attention is needed labels Jan 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants