xref: /netbsd-src/lib/libc/stdlib/rand.3 (revision 1c3412fa2f483d6d1bdb0ec5bc16bad62be01b95)
1*1c3412faSjoerg.\"	$NetBSD: rand.3,v 1.12 2010/03/22 19:30:54 joerg Exp $
26dda330eSthorpej.\"
35f8a6c06Sperry.\" Copyright (c) 1990, 1991, 1993
45f8a6c06Sperry.\"	The Regents of the University of California.  All rights reserved.
561f28255Scgd.\"
661f28255Scgd.\" This code is derived from software contributed to Berkeley by
761f28255Scgd.\" the American National Standards Committee X3, on Information
861f28255Scgd.\" Processing Systems.
961f28255Scgd.\"
1061f28255Scgd.\" Redistribution and use in source and binary forms, with or without
1161f28255Scgd.\" modification, are permitted provided that the following conditions
1261f28255Scgd.\" are met:
1361f28255Scgd.\" 1. Redistributions of source code must retain the above copyright
1461f28255Scgd.\"    notice, this list of conditions and the following disclaimer.
1561f28255Scgd.\" 2. Redistributions in binary form must reproduce the above copyright
1661f28255Scgd.\"    notice, this list of conditions and the following disclaimer in the
1761f28255Scgd.\"    documentation and/or other materials provided with the distribution.
18eb7c1594Sagc.\" 3. Neither the name of the University nor the names of its contributors
1961f28255Scgd.\"    may be used to endorse or promote products derived from this software
2061f28255Scgd.\"    without specific prior written permission.
2161f28255Scgd.\"
2261f28255Scgd.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2361f28255Scgd.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2461f28255Scgd.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2561f28255Scgd.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2661f28255Scgd.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2761f28255Scgd.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2861f28255Scgd.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2961f28255Scgd.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3061f28255Scgd.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3161f28255Scgd.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3261f28255Scgd.\" SUCH DAMAGE.
3361f28255Scgd.\"
345f8a6c06Sperry.\"     from: @(#)rand.3	8.1 (Berkeley) 6/4/93
3561f28255Scgd.\"
365f8a6c06Sperry.Dd June 4, 1993
3761f28255Scgd.Dt RAND 3
3861f28255Scgd.Os
3961f28255Scgd.Sh NAME
4061f28255Scgd.Nm rand ,
411d8b7c12Skleink.Nm srand ,
421d8b7c12Skleink.Nm rand_r
4361f28255Scgd.Nd bad random number generator
44312aca53Sperry.Sh LIBRARY
45312aca53Sperry.Lb libc
4661f28255Scgd.Sh SYNOPSIS
47472351e1Swiz.In stdlib.h
4861f28255Scgd.Ft void
491d8b7c12Skleink.Fn srand "unsigned int seed"
5061f28255Scgd.Ft int
5161f28255Scgd.Fn rand void
521d8b7c12Skleink.Ft int
531d8b7c12Skleink.Fn rand_r "unsigned int *seed"
5461f28255Scgd.Sh DESCRIPTION
5561f28255Scgd.Bf -symbolic
56c46ab392SfairThese interfaces are obsoleted by
57c46ab392Sfair.Xr random 3 .
5861f28255Scgd.Ef
5961f28255Scgd.Pp
6061f28255ScgdThe
6161f28255Scgd.Fn rand
6261f28255Scgdfunction computes a sequence of pseudo-random integers in the range
6361f28255Scgdof 0 to
6461f28255Scgd.Dv RAND_MAX
6561f28255Scgd(as defined by the header file
66*1c3412faSjoerg.In stdlib.h ) .
6761f28255Scgd.Pp
6861f28255ScgdThe
6961f28255Scgd.Fn srand
7061f28255Scgdfunction sets its argument as the seed for a new sequence of
7161f28255Scgdpseudo-random numbers to be returned by
7261f28255Scgd.Fn rand .
7361f28255ScgdThese sequences are repeatable by calling
7461f28255Scgd.Fn srand
7561f28255Scgdwith the same seed value.
7661f28255Scgd.Pp
771d8b7c12SkleinkIf no seed value is provided, the
781d8b7c12Skleink.Fn rand
791d8b7c12Skleinkfunction is automatically seeded with a value of 1.
801d8b7c12Skleink.Pp
811d8b7c12SkleinkThe
821d8b7c12Skleink.Fn rand_r
831d8b7c12Skleinkfunction is a reentrant interface to
841d8b7c12Skleink.Fn rand ;
851d8b7c12Skleinkthe seed has to be supplied and is maintained by the caller.
8661f28255Scgd.Sh SEE ALSO
87c66ffccfSkleink.Xr random 3 ,
88c66ffccfSkleink.Xr rnd 4
8961f28255Scgd.Sh STANDARDS
9061f28255ScgdThe
9161f28255Scgd.Fn rand
9261f28255Scgdand
9361f28255Scgd.Fn srand
9461f28255Scgdfunctions
9561f28255Scgdconform to
9661f28255Scgd.St -ansiC .
971d8b7c12SkleinkThe
981d8b7c12Skleink.Fn rand_r
991d8b7c12Skleinkfunction conforms to
1001d8b7c12Skleink.St -p1003.1c-95 .
101