--- ray/src/common/multisamp.c 1991/11/12 16:56:06 2.1 +++ ray/src/common/multisamp.c 2024/04/17 15:07:29 2.6 @@ -1,22 +1,25 @@ -/* Copyright (c) 1991 Regents of the University of California */ - #ifndef lint -static char SCCSid[] = "$SunId$ LBL"; +static const char RCSid[] = "$Id: multisamp.c,v 2.6 2024/04/17 15:07:29 greg Exp $"; #endif - /* * Binary space partitioning curve for multidimensional sampling. * * Written by Christophe Schlick */ -multisamp(t, n, r) /* convert 1-dimensional sample to N dimensions */ -double t[]; /* returned N-dimensional vector */ -register int n; /* number of dimensions */ -double r; /* 1-dimensional sample [0,1) */ +#include "copyright.h" + +#include + +#include "random.h" + + +/* Convert 1-dimensional sample to N dimensions */ +void +multisamp(double t[], int n, double r) { int j; - register int i, k; + int i, k; int ti[8]; double s; @@ -33,5 +36,5 @@ double r; /* 1-dimensional sample [0,1) */ } i = n; while (i-- > 0) - t[i] = 1./256. * ti[i]; + t[i] = (1./256.) * (ti[i] + frandom()); }