setseed() doc
The doc doesn't state in what range the argument to setseed() should be.
Some tests suggest that only values in the range -1.0 to 1.0 work as a
seed and values outside of that give the same sequence of random numbers.
I've attached a trivial one line patch (this is the patch list after
all), but feel free to document it in any way that is appropriate.
setseed() also return an integer, but I have no clue of what it is. The
doc doesn't say anything about it.
The doc say that some functions here depend on the libc that is used,
but such things as the range of the argument and what the return value
is should be in the doc, shouldn't it?
/Dennis
Attachments:
setseed.txttext/plain; name=setseed.txtDownload
Index: doc/src/sgml/func.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/func.sgml,v
retrieving revision 1.332
diff -u -r1.332 func.sgml
--- doc/src/sgml/func.sgml 22 Aug 2006 00:49:19 -0000 1.332
+++ doc/src/sgml/func.sgml 4 Sep 2006 18:18:26 -0000
@@ -795,7 +795,7 @@
<row>
<entry><literal><function>setseed</function>(<type>dp</type>)</literal></entry>
<entry><type>int</type></entry>
- <entry>set seed for subsequent <literal>random()</literal> calls</entry>
+ <entry>set seed for subsequent <literal>random()</literal> calls (value between -1.0 and 1.0)</entry>
<entry><literal>setseed(0.54823)</literal></entry>
<entry><literal>1177314959</literal></entry>
</row>
Dennis Bjorklund <db@zigo.dhs.org> writes:
<entry><literal><function>setseed</function>(<type>dp</type>)</literal></entry> <entry><type>int</type></entry> - <entry>set seed for subsequent <literal>random()</literal> calls</entry> + <entry>set seed for subsequent <literal>random()</literal> calls (value between -1.0 and 1.0)</entry>
Looking at the code, it would appear that the intended range is 0 to 1.
regards, tom lane
Tom Lane skrev:
<entry><literal><function>setseed</function>(<type>dp</type>)</literal></entry> <entry><type>int</type></entry> - <entry>set seed for subsequent <literal>random()</literal> calls</entry> + <entry>set seed for subsequent <literal>random()</literal> calls (value between -1.0 and 1.0)</entry>Looking at the code, it would appear that the intended range is 0 to 1.
Ok.
What about the return value? The doc didn't say anything about it.
/Dennis
Dennis Bjorklund <db@zigo.dhs.org> writes:
What about the return value? The doc didn't say anything about it.
AFAICT it's just junk. It happens to be the input times
MAX_RANDOM_VALUE, but what use is that? I wonder if we shouldn't
change the function to return VOID ... that option wasn't available
when it was coded originally, else it'd probably have been done that
way.
regards, tom lane
Tom Lane wrote:
Dennis Bjorklund <db@zigo.dhs.org> writes:
<entry><literal><function>setseed</function>(<type>dp</type>)</literal></entry> <entry><type>int</type></entry> - <entry>set seed for subsequent <literal>random()</literal> calls</entry> + <entry>set seed for subsequent <literal>random()</literal> calls (value between -1.0 and 1.0)</entry>Looking at the code, it would appear that the intended range is 0 to 1.
Docs updated.
--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Attachments:
/bjm/difftext/x-diffDownload
Index: doc/src/sgml/func.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/func.sgml,v
retrieving revision 1.332
diff -c -c -r1.332 func.sgml
*** doc/src/sgml/func.sgml 22 Aug 2006 00:49:19 -0000 1.332
--- doc/src/sgml/func.sgml 4 Sep 2006 21:45:15 -0000
***************
*** 795,801 ****
<row>
<entry><literal><function>setseed</function>(<type>dp</type>)</literal></entry>
<entry><type>int</type></entry>
! <entry>set seed for subsequent <literal>random()</literal> calls</entry>
<entry><literal>setseed(0.54823)</literal></entry>
<entry><literal>1177314959</literal></entry>
</row>
--- 795,801 ----
<row>
<entry><literal><function>setseed</function>(<type>dp</type>)</literal></entry>
<entry><type>int</type></entry>
! <entry>set seed for subsequent <literal>random()</literal> calls (value between 0 and 1.0)</entry>
<entry><literal>setseed(0.54823)</literal></entry>
<entry><literal>1177314959</literal></entry>
</row>
On Mon, 2006-09-04 at 15:19 -0400, Tom Lane wrote:
AFAICT it's just junk. It happens to be the input times
MAX_RANDOM_VALUE, but what use is that? I wonder if we shouldn't
change the function to return VOID
I agree. Given how soon we want to get an 8.2 beta out the door, perhaps
this change would be best postponed to 8.3 (unless there's another
outstanding 8.2 patch that requires initdb?).
-Neil
Neil Conway <neilc@samurai.com> writes:
On Mon, 2006-09-04 at 15:19 -0400, Tom Lane wrote:
AFAICT it's just junk. It happens to be the input times
MAX_RANDOM_VALUE, but what use is that? I wonder if we shouldn't
change the function to return VOID
I agree. Given how soon we want to get an 8.2 beta out the door, perhaps
this change would be best postponed to 8.3 (unless there's another
outstanding 8.2 patch that requires initdb?).
Nothing outstanding at the moment.
Although this is surely a small change, it's also pretty low-priority,
so I'd counsel leaving it for 8.3 rather than trying to cram it in now.
We have more important things to be worrying about ...
regards, tom lane
FYI, Neil has corrected this in CVS HEAD.
---------------------------------------------------------------------------
Tom Lane wrote:
Neil Conway <neilc@samurai.com> writes:
On Mon, 2006-09-04 at 15:19 -0400, Tom Lane wrote:
AFAICT it's just junk. It happens to be the input times
MAX_RANDOM_VALUE, but what use is that? I wonder if we shouldn't
change the function to return VOIDI agree. Given how soon we want to get an 8.2 beta out the door, perhaps
this change would be best postponed to 8.3 (unless there's another
outstanding 8.2 patch that requires initdb?).Nothing outstanding at the moment.
Although this is surely a small change, it's also pretty low-priority,
so I'd counsel leaving it for 8.3 rather than trying to cram it in now.
We have more important things to be worrying about ...regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +