annotate mt19937/mt19937ar.h @ 369:6564be3109c5 gcc-4.3-cleanups

gcc-4.3 warning cleanups for lshlib.cpp (I do not believe that any of these changes contain significant copyrightable "intellectual property". However, to the extent that they do, the changes are hereby released into the Public Domain, and may be therefore be used by anyone for any purpose without need for consideration of any kind.)
author mas01cr
date Wed, 12 Nov 2008 15:23:32 +0000
parents d9a88cfd4ab6
children
rev   line source
mas01mc@292 1 /*
mas01mc@292 2 A C-program for MT19937, with initialization improved 2002/1/26.
mas01mc@292 3 Coded by Takuji Nishimura and Makoto Matsumoto.
mas01mc@292 4
mas01mc@292 5 Before using, initialize the state by using init_genrand(seed)
mas01mc@292 6 or init_by_array(init_key, key_length).
mas01mc@292 7
mas01mc@292 8 Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
mas01mc@292 9 All rights reserved.
mas01mc@292 10 Copyright (C) 2005, Mutsuo Saito
mas01mc@292 11 All rights reserved.
mas01mc@292 12
mas01mc@292 13 Redistribution and use in source and binary forms, with or without
mas01mc@292 14 modification, are permitted provided that the following conditions
mas01mc@292 15 are met:
mas01mc@292 16
mas01mc@292 17 1. Redistributions of source code must retain the above copyright
mas01mc@292 18 notice, this list of conditions and the following disclaimer.
mas01mc@292 19
mas01mc@292 20 2. Redistributions in binary form must reproduce the above copyright
mas01mc@292 21 notice, this list of conditions and the following disclaimer in the
mas01mc@292 22 documentation and/or other materials provided with the distribution.
mas01mc@292 23
mas01mc@292 24 3. The names of its contributors may not be used to endorse or promote
mas01mc@292 25 products derived from this software without specific prior written
mas01mc@292 26 permission.
mas01mc@292 27
mas01mc@292 28 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
mas01mc@292 29 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
mas01mc@292 30 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
mas01mc@292 31 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
mas01mc@292 32 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
mas01mc@292 33 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
mas01mc@292 34 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
mas01mc@292 35 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
mas01mc@292 36 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
mas01mc@292 37 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
mas01mc@292 38 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mas01mc@292 39
mas01mc@292 40
mas01mc@292 41 Any feedback is very welcome.
mas01mc@292 42 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
mas01mc@292 43 email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
mas01mc@292 44 */
mas01mc@292 45
mas01mc@292 46 /* initializes mt[N] with a seed */
mas01mc@292 47 void init_genrand(unsigned long s);
mas01mc@292 48
mas01mc@292 49 /* initialize by an array with array-length */
mas01mc@292 50 /* init_key is the array for initializing keys */
mas01mc@292 51 /* key_length is its length */
mas01mc@292 52 /* slight change for C++, 2004/2/26 */
mas01mc@292 53 void init_by_array(unsigned long init_key[], int key_length);
mas01mc@292 54
mas01mc@292 55 /* generates a random number on [0,0xffffffff]-interval */
mas01mc@292 56 unsigned long genrand_int32(void);
mas01mc@292 57
mas01mc@292 58 /* generates a random number on [0,0x7fffffff]-interval */
mas01mc@292 59 long genrand_int31(void);
mas01mc@292 60
mas01mc@292 61 /* These real versions are due to Isaku Wada, 2002/01/09 added */
mas01mc@292 62 /* generates a random number on [0,1]-real-interval */
mas01mc@292 63 double genrand_real1(void);
mas01mc@292 64
mas01mc@292 65 /* generates a random number on [0,1)-real-interval */
mas01mc@292 66 double genrand_real2(void);
mas01mc@292 67
mas01mc@292 68 /* generates a random number on (0,1)-real-interval */
mas01mc@292 69 double genrand_real3(void);
mas01mc@292 70
mas01mc@292 71 /* generates a random number on [0,1) with 53-bit resolution*/
mas01mc@292 72 double genrand_res53(void);