/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf <rasmus@php.net> | | Zeev Suraski <zeev@zend.com> | | Pedro Melo <melo@ip.pt> | | Sterling Hughes <sterling@php.net> | | | | Based on code from: Shawn Cokus <Cokus@math.washington.edu> | +----------------------------------------------------------------------+ */ /* $Id$ */ #ifndef PHP_RAND_H #define PHP_RAND_H #include <stdlib.h> #include "basic_functions.h" #include "php_lcg.h" /* System Rand functions */ #ifndef RAND_MAX #define RAND_MAX (1<<15) #endif /* In ZTS mode we rely on rand_r() so we must use RAND_MAX. */ #if !defined(ZTS) && (defined(HAVE_LRAND48) || defined(HAVE_RANDOM)) #define PHP_RAND_MAX 2147483647 #else #define PHP_RAND_MAX RAND_MAX #endif #define RAND_RANGE(__n, __min, __max, __tmax) \ (__n) = (__min) + (long) ((double) ( (double) (__max) - (__min) + 1.0) * ((__n) / ((__tmax) + 1.0))) /* MT Rand */ #define PHP_MT_RAND_MAX ((long) (0x7FFFFFFF)) /* (1<<31) - 1 */ #ifdef PHP_WIN32 #define GENERATE_SEED() (((long) (time(0) * GetCurrentProcessId())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C)))) #else #define GENERATE_SEED() (((long) (time(0) * getpid())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C)))) #endif PHPAPI void php_srand(long seed TSRMLS_DC); PHPAPI long php_rand(TSRMLS_D); PHPAPI void php_mt_srand(php_uint32 seed TSRMLS_DC); PHPAPI php_uint32 php_mt_rand(TSRMLS_D); #endif /* PHP_RAND_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
base64.h | File | 1.57 KB | 0644 |
|
basic_functions.h | File | 7.42 KB | 0644 |
|
crc32.h | File | 4.78 KB | 0644 |
|
credits.h | File | 1.7 KB | 0644 |
|
credits_ext.h | File | 5.51 KB | 0644 |
|
credits_sapi.h | File | 1.63 KB | 0644 |
|
crypt_blowfish.h | File | 1.05 KB | 0644 |
|
crypt_freesec.h | File | 662 B | 0644 |
|
css.h | File | 1.21 KB | 0644 |
|
cyr_convert.h | File | 1.24 KB | 0644 |
|
datetime.h | File | 1.37 KB | 0644 |
|
dl.h | File | 1.57 KB | 0644 |
|
exec.h | File | 1.69 KB | 0644 |
|
file.h | File | 4.63 KB | 0644 |
|
flock_compat.h | File | 2.07 KB | 0644 |
|
fsock.h | File | 1.57 KB | 0644 |
|
head.h | File | 1.62 KB | 0644 |
|
html.h | File | 2.71 KB | 0644 |
|
html_tables.h | File | 471.57 KB | 0644 |
|
info.h | File | 20.2 KB | 0644 |
|
md5.h | File | 2.12 KB | 0644 |
|
microtime.h | File | 1.33 KB | 0644 |
|
pack.h | File | 1.25 KB | 0644 |
|
pageinfo.h | File | 1.44 KB | 0644 |
|
php_array.h | File | 4.62 KB | 0644 |
|
php_assert.h | File | 1.4 KB | 0644 |
|
php_browscap.h | File | 1.3 KB | 0644 |
|
php_crypt.h | File | 1.63 KB | 0644 |
|
php_crypt_r.h | File | 2 KB | 0644 |
|
php_dir.h | File | 1.67 KB | 0644 |
|
php_dns.h | File | 2.82 KB | 0644 |
|
php_ext_syslog.h | File | 1.47 KB | 0644 |
|
php_filestat.h | File | 3.28 KB | 0644 |
|
php_fopen_wrappers.h | File | 1.92 KB | 0644 |
|
php_ftok.h | File | 1.23 KB | 0644 |
|
php_http.h | File | 1.76 KB | 0644 |
|
php_image.h | File | 2.37 KB | 0644 |
|
php_incomplete_class.h | File | 2.47 KB | 0644 |
|
php_iptc.h | File | 1.24 KB | 0644 |
|
php_lcg.h | File | 1.5 KB | 0644 |
|
php_link.h | File | 1.34 KB | 0644 |
|
php_mail.h | File | 1.37 KB | 0644 |
|
php_math.h | File | 4.61 KB | 0644 |
|
php_metaphone.h | File | 1.21 KB | 0644 |
|
php_password.h | File | 1.58 KB | 0644 |
|
php_rand.h | File | 2.56 KB | 0644 |
|
php_smart_str.h | File | 6.57 KB | 0644 |
|
php_smart_str_public.h | File | 1.29 KB | 0644 |
|
php_standard.h | File | 2.21 KB | 0644 |
|
php_string.h | File | 6.23 KB | 0644 |
|
php_type.h | File | 1.58 KB | 0644 |
|
php_uuencode.h | File | 1.46 KB | 0644 |
|
php_var.h | File | 7.33 KB | 0644 |
|
php_versioning.h | File | 1.37 KB | 0644 |
|
proc_open.h | File | 1.81 KB | 0644 |
|
quot_print.h | File | 1.51 KB | 0644 |
|
scanf.h | File | 2.27 KB | 0644 |
|
sha1.h | File | 1.71 KB | 0644 |
|
streamsfuncs.h | File | 2.78 KB | 0644 |
|
uniqid.h | File | 1.24 KB | 0644 |
|
url.h | File | 2.28 KB | 0644 |
|
url_scanner_ex.h | File | 2.09 KB | 0644 |
|
winver.h | File | 6.58 KB | 0644 |
|