1*2fe8fb19SBen Gras.\" $NetBSD: rand.3,v 1.12 2010/03/22 19:30:54 joerg Exp $ 2*2fe8fb19SBen Gras.\" 3*2fe8fb19SBen Gras.\" Copyright (c) 1990, 1991, 1993 4*2fe8fb19SBen Gras.\" The Regents of the University of California. All rights reserved. 5*2fe8fb19SBen Gras.\" 6*2fe8fb19SBen Gras.\" This code is derived from software contributed to Berkeley by 7*2fe8fb19SBen Gras.\" the American National Standards Committee X3, on Information 8*2fe8fb19SBen Gras.\" Processing Systems. 9*2fe8fb19SBen Gras.\" 10*2fe8fb19SBen Gras.\" Redistribution and use in source and binary forms, with or without 11*2fe8fb19SBen Gras.\" modification, are permitted provided that the following conditions 12*2fe8fb19SBen Gras.\" are met: 13*2fe8fb19SBen Gras.\" 1. Redistributions of source code must retain the above copyright 14*2fe8fb19SBen Gras.\" notice, this list of conditions and the following disclaimer. 15*2fe8fb19SBen Gras.\" 2. Redistributions in binary form must reproduce the above copyright 16*2fe8fb19SBen Gras.\" notice, this list of conditions and the following disclaimer in the 17*2fe8fb19SBen Gras.\" documentation and/or other materials provided with the distribution. 18*2fe8fb19SBen Gras.\" 3. Neither the name of the University nor the names of its contributors 19*2fe8fb19SBen Gras.\" may be used to endorse or promote products derived from this software 20*2fe8fb19SBen Gras.\" without specific prior written permission. 21*2fe8fb19SBen Gras.\" 22*2fe8fb19SBen Gras.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23*2fe8fb19SBen Gras.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*2fe8fb19SBen Gras.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*2fe8fb19SBen Gras.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26*2fe8fb19SBen Gras.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*2fe8fb19SBen Gras.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*2fe8fb19SBen Gras.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*2fe8fb19SBen Gras.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*2fe8fb19SBen Gras.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*2fe8fb19SBen Gras.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*2fe8fb19SBen Gras.\" SUCH DAMAGE. 33*2fe8fb19SBen Gras.\" 34*2fe8fb19SBen Gras.\" from: @(#)rand.3 8.1 (Berkeley) 6/4/93 35*2fe8fb19SBen Gras.\" 36*2fe8fb19SBen Gras.Dd June 4, 1993 37*2fe8fb19SBen Gras.Dt RAND 3 38*2fe8fb19SBen Gras.Os 39*2fe8fb19SBen Gras.Sh NAME 40*2fe8fb19SBen Gras.Nm rand , 41*2fe8fb19SBen Gras.Nm srand , 42*2fe8fb19SBen Gras.Nm rand_r 43*2fe8fb19SBen Gras.Nd bad random number generator 44*2fe8fb19SBen Gras.Sh LIBRARY 45*2fe8fb19SBen Gras.Lb libc 46*2fe8fb19SBen Gras.Sh SYNOPSIS 47*2fe8fb19SBen Gras.In stdlib.h 48*2fe8fb19SBen Gras.Ft void 49*2fe8fb19SBen Gras.Fn srand "unsigned int seed" 50*2fe8fb19SBen Gras.Ft int 51*2fe8fb19SBen Gras.Fn rand void 52*2fe8fb19SBen Gras.Ft int 53*2fe8fb19SBen Gras.Fn rand_r "unsigned int *seed" 54*2fe8fb19SBen Gras.Sh DESCRIPTION 55*2fe8fb19SBen Gras.Bf -symbolic 56*2fe8fb19SBen GrasThese interfaces are obsoleted by 57*2fe8fb19SBen Gras.Xr random 3 . 58*2fe8fb19SBen Gras.Ef 59*2fe8fb19SBen Gras.Pp 60*2fe8fb19SBen GrasThe 61*2fe8fb19SBen Gras.Fn rand 62*2fe8fb19SBen Grasfunction computes a sequence of pseudo-random integers in the range 63*2fe8fb19SBen Grasof 0 to 64*2fe8fb19SBen Gras.Dv RAND_MAX 65*2fe8fb19SBen Gras(as defined by the header file 66*2fe8fb19SBen Gras.In stdlib.h ) . 67*2fe8fb19SBen Gras.Pp 68*2fe8fb19SBen GrasThe 69*2fe8fb19SBen Gras.Fn srand 70*2fe8fb19SBen Grasfunction sets its argument as the seed for a new sequence of 71*2fe8fb19SBen Graspseudo-random numbers to be returned by 72*2fe8fb19SBen Gras.Fn rand . 73*2fe8fb19SBen GrasThese sequences are repeatable by calling 74*2fe8fb19SBen Gras.Fn srand 75*2fe8fb19SBen Graswith the same seed value. 76*2fe8fb19SBen Gras.Pp 77*2fe8fb19SBen GrasIf no seed value is provided, the 78*2fe8fb19SBen Gras.Fn rand 79*2fe8fb19SBen Grasfunction is automatically seeded with a value of 1. 80*2fe8fb19SBen Gras.Pp 81*2fe8fb19SBen GrasThe 82*2fe8fb19SBen Gras.Fn rand_r 83*2fe8fb19SBen Grasfunction is a reentrant interface to 84*2fe8fb19SBen Gras.Fn rand ; 85*2fe8fb19SBen Grasthe seed has to be supplied and is maintained by the caller. 86*2fe8fb19SBen Gras.Sh SEE ALSO 87*2fe8fb19SBen Gras.Xr random 3 , 88*2fe8fb19SBen Gras.Xr rnd 4 89*2fe8fb19SBen Gras.Sh STANDARDS 90*2fe8fb19SBen GrasThe 91*2fe8fb19SBen Gras.Fn rand 92*2fe8fb19SBen Grasand 93*2fe8fb19SBen Gras.Fn srand 94*2fe8fb19SBen Grasfunctions 95*2fe8fb19SBen Grasconform to 96*2fe8fb19SBen Gras.St -ansiC . 97*2fe8fb19SBen GrasThe 98*2fe8fb19SBen Gras.Fn rand_r 99*2fe8fb19SBen Grasfunction conforms to 100*2fe8fb19SBen Gras.St -p1003.1c-95 . 101