-
+
Functions and Operators
|
setseed(dp)
void
- set seed for subsequent random() calls (value between 0 and 1.0)
+ set seed for subsequent random() calls (value between -1.0 and 1.0)
setseed(0.54823)
Sets the internal seed for the random number generator (the
function random). Allowed values are
- floating-point numbers between 0 and 1, which are then
+ floating-point numbers between -1 and 1, which are then
multiplied by 231>-1.
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.153 2008/01/01 19:45:52 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.154 2008/03/10 12:39:22 tgl Exp $
*
*-------------------------------------------------------------------------
*/
setseed(PG_FUNCTION_ARGS)
{
float8 seed = PG_GETARG_FLOAT8(0);
- int iseed = (int) (seed * MAX_RANDOM_VALUE);
+ int iseed;
+ if (seed < -1 || seed > 1)
+ elog(ERROR, "setseed parameter %f out of range [-1,1]", seed);
+
+ iseed = (int) (seed * MAX_RANDOM_VALUE);
srandom((unsigned int) iseed);
PG_RETURN_VOID();
* Written by Peter Eisentraut
.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.435 2008/03/10 03:22:29 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.436 2008/03/10 12:39:23 tgl Exp $
*
*--------------------------------------------------------------------
*/
GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
},
&phony_random_seed,
- 0.5, 0.0, 1.0, assign_random_seed, show_random_seed
+ 0.0, -1.0, 1.0, assign_random_seed, show_random_seed
},
{