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