cvs: /php4/ext/lcg lcg.c php_lcg.h
| From: | Sascha Schumann | Date: | Wed, 25 Aug 1999 21:57:32 +0000 |
| Subject: | cvs: /php4/ext/lcg lcg.c php_lcg.h | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-3735@lists.php.net to get a copy of this message | ||
sas Wed Aug 25 17:57:32 1999 EDT
Modified files:
/php4/ext/lcg lcg.c php_lcg.h
Log:
- start values depend on thread id/pid
- add lcg_value
Index: php4/ext/lcg/lcg.c
diff -u php4/ext/lcg/lcg.c:1.2 php4/ext/lcg/lcg.c:1.3
--- php4/ext/lcg/lcg.c:1.2 Sun Aug 22 15:19:42 1999
+++ php4/ext/lcg/lcg.c Wed Aug 25 17:57:31 1999
@@ -19,6 +19,8 @@
#include "php.h"
#include "php_lcg.h"
+#include <unistd.h>
+
#ifdef ZTS
int lcg_globals_id;
#else
@@ -54,7 +56,11 @@
static void init_globals(LCGLS_D)
{
LCG(s1) = 1;
- LCG(s2) = 1;
+#ifdef ZTS
+ LCG(s2) = (long) tsrm_thread_id();
+#else
+ LCG(s2) = (long) getpid();
+#endif
}
static int php_minit_lcg(INIT_FUNC_ARGS)
@@ -67,9 +73,22 @@
return SUCCESS;
}
+/* {{{ proto double lcg_value()
+ returns a value from the combined linear congruential generator */
+PHP_FUNCTION(lcg_value)
+{
+ RETURN_DOUBLE(php_combined_lcg());
+}
+/* }}} */
+
+static function_entry lcg_functions[] = {
+ PHP_FE(lcg_value, NULL)
+ {0}
+};
+
zend_module_entry lcg_module_entry = {
"LCG",
- NULL,
+ lcg_functions,
php_minit_lcg, NULL,
NULL, NULL,
NULL,
Index: php4/ext/lcg/php_lcg.h
diff -u php4/ext/lcg/php_lcg.h:1.1 php4/ext/lcg/php_lcg.h:1.2
--- php4/ext/lcg/php_lcg.h:1.1 Sat Aug 21 13:21:32 1999
+++ php4/ext/lcg/php_lcg.h Wed Aug 25 17:57:31 1999
@@ -25,6 +25,7 @@
} php_lcg_globals;
double php_combined_lcg(void);
+PHP_FUNCTION(lcg_value);
#ifdef ZTS
#define LCGLS_D php_lcg_globals *lcg_globals