ftp.nice.ch/pub/next/unix/audio/cmix.s.tar.gz#/cmix/lpc/dave.allpole.c

This is dave.allpole.c in view mode; [Download] [Up]

/* a modification of unix rand() to return floating point values between
   + and - 1. */


float randf(seed)
long *seed;
{
	*seed = ((*seed *1103515245 + 12345)>>16) & 077777;
	return((float)*seed/16384. - 1.);
}
float *brandf(seed,out,nvals)
long *seed,nvals;
float *out;
{
	register long hold,temp,i,limit;
	limit = nvals;
	hold = *seed;
	for (i=0;i<limit;++i) {
		hold = (hold *505360173 + 907633385);
		temp = (hold >>16) & 077777;
		*out++ = ((float)temp/16384. - 1.);
		}
	*seed=hold;
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.