git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 13/10] tests for various pack index features

From
Nicolas Pitre <nico@cam.org>
Date
Apr 11, 2007, 17:29 UTC
Message-ID
<alpine.LFD.0.98.0704111316290.28181@xanadu.home>
In-Reply-To
<20070411145103.GP5436@spearce.org>
On Wed, 11 Apr 2007, Shawn O. Pearce wrote:
Show 14 quoted lines
> Olivier Galibert <galibert@pobox.com> wrote:
> > On Wed, Apr 11, 2007 at 08:57:09AM -0400, Nicolas Pitre wrote:
> > > Hmmm what we need is a random data generator that always produces the 
> > > same thing.  I'll hack something to replace urandom.
> > 
> > Don't hack something, ues the standard reference, the Mersenne Twister.
> > 
> >   http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
> > 
> > PRNGs are the same as cryptosystems, it's very easy to hack up
> > something and get it very, very wrong.  And it's unnecessary, since
> > there are very good ones available.
> 
> Indeed.
Please don't get too excited.

We don't want a full fledged random number generator with a period of 2^30000 that is faster than light and impossible to predict, etc, etc.

The _only_ thing we want is a convenient way to produce large files with garbage that is neither compressible nor deltifiable, but still reproducible. And for that matter the Mersenne Twister algo is _way_ too heavy for our needs.

The one that I just implemented basically boils down to:
	while (count--) {
		next = next * 1103515245 + 12345;
		putchar((next >> 16) & 0xff);
	}
and that does the job perfectly well.
Nicolas
Previous: Shawn O. Pearce
Message 6 of 6 in “tests for various pack index features”
  1. 13/10 tests for various pack index featuresNicolas Pitre, Apr 10, 2007
  2. Junio C HamanoApr 11, 2007
  3. Nicolas PitreApr 11, 2007
  4. Olivier GalibertApr 11, 2007
  5. Shawn O. PearceApr 11, 2007
  6. Nicolas PitreApr 11, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.