Skip to content

Commit

Permalink
random: Adjust status to state (#13521)
Browse files Browse the repository at this point in the history
* random: Rename `status` local to `state`

* random: Rename `php_random_algo_with_state`'s `status` member to `state`
  • Loading branch information
TimWolla authored Feb 26, 2024
1 parent ddcf5d7 commit dce6ed3
Show file tree
Hide file tree
Showing 11 changed files with 99 additions and 99 deletions.
20 changes: 10 additions & 10 deletions ext/random/engine_combinedlcg.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@
*/
#define MODMULT(a, b, c, m, s) q = s / a; s = b * (s - a * q) - c * q; if (s < 0) s += m

static void seed(void *status, uint64_t seed)
static void seed(void *state, uint64_t seed)
{
php_random_status_state_combinedlcg *s = status;
php_random_status_state_combinedlcg *s = state;

s->state[0] = seed & 0xffffffffU;
s->state[1] = seed >> 32;
}

static php_random_result generate(void *status)
static php_random_result generate(void *state)
{
php_random_status_state_combinedlcg *s = status;
php_random_status_state_combinedlcg *s = state;
int32_t q, z;

MODMULT(53668, 40014, 12211, 2147483563L, s->state[0]);
Expand All @@ -59,17 +59,17 @@ static php_random_result generate(void *status)
};
}

static zend_long range(void *status, zend_long min, zend_long max)
static zend_long range(void *state, zend_long min, zend_long max)
{
return php_random_range((php_random_algo_with_state){
.algo = &php_random_algo_combinedlcg,
.status = status,
.state = state,
}, min, max);
}

static bool serialize(void *status, HashTable *data)
static bool serialize(void *state, HashTable *data)
{
php_random_status_state_combinedlcg *s = status;
php_random_status_state_combinedlcg *s = state;
zval t;

for (uint32_t i = 0; i < 2; i++) {
Expand All @@ -80,9 +80,9 @@ static bool serialize(void *status, HashTable *data)
return true;
}

static bool unserialize(void *status, HashTable *data)
static bool unserialize(void *state, HashTable *data)
{
php_random_status_state_combinedlcg *s = status;
php_random_status_state_combinedlcg *s = state;
zval *t;

for (uint32_t i = 0; i < 2; i++) {
Expand Down
30 changes: 15 additions & 15 deletions ext/random/engine_mt19937.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,14 @@ static inline void mt19937_seed_state(php_random_status_state_mt19937 *state, ui
mt19937_reload(state);
}

static void seed(void *status, uint64_t seed)
static void seed(void *state, uint64_t seed)
{
mt19937_seed_state(status, seed);
mt19937_seed_state(state, seed);
}

static php_random_result generate(void *status)
static php_random_result generate(void *state)
{
php_random_status_state_mt19937 *s = status;
php_random_status_state_mt19937 *s = state;
uint32_t s1;

if (s->count >= MT_N) {
Expand All @@ -164,17 +164,17 @@ static php_random_result generate(void *status)
};
}

static zend_long range(void *status, zend_long min, zend_long max)
static zend_long range(void *state, zend_long min, zend_long max)
{
return php_random_range((php_random_algo_with_state){
.algo = &php_random_algo_mt19937,
.status = status,
.state = state,
}, min, max);
}

static bool serialize(void *status, HashTable *data)
static bool serialize(void *state, HashTable *data)
{
php_random_status_state_mt19937 *s = status;
php_random_status_state_mt19937 *s = state;
zval t;

for (uint32_t i = 0; i < MT_N; i++) {
Expand All @@ -189,9 +189,9 @@ static bool serialize(void *status, HashTable *data)
return true;
}

static bool unserialize(void *status, HashTable *data)
static bool unserialize(void *state, HashTable *data)
{
php_random_status_state_mt19937 *s = status;
php_random_status_state_mt19937 *s = state;
zval *t;

/* Verify the expected number of elements, this implicitly ensures that no additional elements are present. */
Expand Down Expand Up @@ -255,7 +255,7 @@ PHPAPI void php_random_mt19937_seed_default(php_random_status_state_mt19937 *sta
PHP_METHOD(Random_Engine_Mt19937, __construct)
{
php_random_algo_with_state engine = Z_RANDOM_ENGINE_P(ZEND_THIS)->engine;
php_random_status_state_mt19937 *state = engine.status;
php_random_status_state_mt19937 *state = engine.state;
zend_long seed, mode = MT_RAND_MT19937;
bool seed_is_null = true;

Expand Down Expand Up @@ -298,7 +298,7 @@ PHP_METHOD(Random_Engine_Mt19937, generate)

ZEND_PARSE_PARAMETERS_NONE();

php_random_result generated = engine.algo->generate(engine.status);
php_random_result generated = engine.algo->generate(engine.state);
if (EG(exception)) {
RETURN_THROWS();
}
Expand Down Expand Up @@ -332,7 +332,7 @@ PHP_METHOD(Random_Engine_Mt19937, __serialize)

/* state */
array_init(&t);
if (!engine->engine.algo->serialize(engine->engine.status, Z_ARRVAL(t))) {
if (!engine->engine.algo->serialize(engine->engine.state, Z_ARRVAL(t))) {
zend_throw_exception(NULL, "Engine serialize failed", 0);
RETURN_THROWS();
}
Expand Down Expand Up @@ -375,7 +375,7 @@ PHP_METHOD(Random_Engine_Mt19937, __unserialize)
zend_throw_exception_ex(NULL, 0, "Invalid serialization data for %s object", ZSTR_VAL(engine->std.ce->name));
RETURN_THROWS();
}
if (!engine->engine.algo->unserialize(engine->engine.status, Z_ARRVAL_P(t))) {
if (!engine->engine.algo->unserialize(engine->engine.state, Z_ARRVAL_P(t))) {
zend_throw_exception_ex(NULL, 0, "Invalid serialization data for %s object", ZSTR_VAL(engine->std.ce->name));
RETURN_THROWS();
}
Expand All @@ -397,7 +397,7 @@ PHP_METHOD(Random_Engine_Mt19937, __debugInfo)

if (engine->engine.algo->serialize) {
array_init(&t);
if (!engine->engine.algo->serialize(engine->engine.status, Z_ARRVAL(t))) {
if (!engine->engine.algo->serialize(engine->engine.state, Z_ARRVAL(t))) {
zend_throw_exception(NULL, "Engine serialize failed", 0);
RETURN_THROWS();
}
Expand Down
24 changes: 12 additions & 12 deletions ext/random/engine_pcgoneseq128xslrr64.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ static inline void seed128(php_random_status_state_pcgoneseq128xslrr64 *s, php_r
step(s);
}

static void seed(void *status, uint64_t seed)
static void seed(void *state, uint64_t seed)
{
seed128(status, php_random_uint128_constant(0ULL, seed));
seed128(state, php_random_uint128_constant(0ULL, seed));
}

static php_random_result generate(void *status)
static php_random_result generate(void *state)
{
php_random_status_state_pcgoneseq128xslrr64 *s = status;
php_random_status_state_pcgoneseq128xslrr64 *s = state;

step(s);

Expand All @@ -60,17 +60,17 @@ static php_random_result generate(void *status)
};
}

static zend_long range(void *status, zend_long min, zend_long max)
static zend_long range(void *state, zend_long min, zend_long max)
{
return php_random_range((php_random_algo_with_state){
.algo = &php_random_algo_pcgoneseq128xslrr64,
.status = status,
.state = state,
}, min, max);
}

static bool serialize(void *status, HashTable *data)
static bool serialize(void *state, HashTable *data)
{
php_random_status_state_pcgoneseq128xslrr64 *s = status;
php_random_status_state_pcgoneseq128xslrr64 *s = state;
uint64_t u;
zval z;

Expand All @@ -85,9 +85,9 @@ static bool serialize(void *status, HashTable *data)
return true;
}

static bool unserialize(void *status, HashTable *data)
static bool unserialize(void *state, HashTable *data)
{
php_random_status_state_pcgoneseq128xslrr64 *s = status;
php_random_status_state_pcgoneseq128xslrr64 *s = state;
uint64_t u[2];
zval *t;

Expand Down Expand Up @@ -146,7 +146,7 @@ PHPAPI void php_random_pcgoneseq128xslrr64_advance(php_random_status_state_pcgon
PHP_METHOD(Random_Engine_PcgOneseq128XslRr64, __construct)
{
php_random_algo_with_state engine = Z_RANDOM_ENGINE_P(ZEND_THIS)->engine;
php_random_status_state_pcgoneseq128xslrr64 *state = engine.status;
php_random_status_state_pcgoneseq128xslrr64 *state = engine.state;
zend_string *str_seed = NULL;
zend_long int_seed = 0;
bool seed_is_null = true;
Expand Down Expand Up @@ -195,7 +195,7 @@ PHP_METHOD(Random_Engine_PcgOneseq128XslRr64, __construct)
PHP_METHOD(Random_Engine_PcgOneseq128XslRr64, jump)
{
php_random_algo_with_state engine = Z_RANDOM_ENGINE_P(ZEND_THIS)->engine;
php_random_status_state_pcgoneseq128xslrr64 *state = engine.status;
php_random_status_state_pcgoneseq128xslrr64 *state = engine.state;
zend_long advance = 0;

ZEND_PARSE_PARAMETERS_START(1, 1)
Expand Down
4 changes: 2 additions & 2 deletions ext/random/engine_secure.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

#include "Zend/zend_exceptions.h"

static php_random_result generate(void *status)
static php_random_result generate(void *state)
{
zend_ulong r = 0;

Expand All @@ -37,7 +37,7 @@ static php_random_result generate(void *status)
};
}

static zend_long range(void *status, zend_long min, zend_long max)
static zend_long range(void *state, zend_long min, zend_long max)
{
zend_long result = 0;

Expand Down
8 changes: 4 additions & 4 deletions ext/random/engine_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
#include "php.h"
#include "php_random.h"

static php_random_result generate(void *status)
static php_random_result generate(void *state)
{
php_random_status_state_user *s = status;
php_random_status_state_user *s = state;
uint64_t result = 0;
size_t size;
zval retval;
Expand Down Expand Up @@ -65,11 +65,11 @@ static php_random_result generate(void *status)
};
}

static zend_long range(void *status, zend_long min, zend_long max)
static zend_long range(void *state, zend_long min, zend_long max)
{
return php_random_range((php_random_algo_with_state){
.algo = &php_random_algo_user,
.status = status,
.state = state,
}, min, max);
}

Expand Down
26 changes: 13 additions & 13 deletions ext/random/engine_xoshiro256starstar.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,30 +102,30 @@ static inline void seed64(php_random_status_state_xoshiro256starstar *state, uin
seed256(state, s[0], s[1], s[2], s[3]);
}

static void seed(void *status, uint64_t seed)
static void seed(void *state, uint64_t seed)
{
seed64(status, seed);
seed64(state, seed);
}

static php_random_result generate(void *status)
static php_random_result generate(void *state)
{
return (php_random_result){
.size = sizeof(uint64_t),
.result = generate_state(status),
.result = generate_state(state),
};
}

static zend_long range(void *status, zend_long min, zend_long max)
static zend_long range(void *state, zend_long min, zend_long max)
{
return php_random_range((php_random_algo_with_state){
.algo = &php_random_algo_xoshiro256starstar,
.status = status,
.state = state,
}, min, max);
}

static bool serialize(void *status, HashTable *data)
static bool serialize(void *state, HashTable *data)
{
php_random_status_state_xoshiro256starstar *s = status;
php_random_status_state_xoshiro256starstar *s = state;
zval t;

for (uint32_t i = 0; i < 4; i++) {
Expand All @@ -136,9 +136,9 @@ static bool serialize(void *status, HashTable *data)
return true;
}

static bool unserialize(void *status, HashTable *data)
static bool unserialize(void *state, HashTable *data)
{
php_random_status_state_xoshiro256starstar *s = status;
php_random_status_state_xoshiro256starstar *s = state;
zval *t;

/* Verify the expected number of elements, this implicitly ensures that no additional elements are present. */
Expand Down Expand Up @@ -184,7 +184,7 @@ PHPAPI void php_random_xoshiro256starstar_jump_long(php_random_status_state_xosh
PHP_METHOD(Random_Engine_Xoshiro256StarStar, jump)
{
php_random_algo_with_state engine = Z_RANDOM_ENGINE_P(ZEND_THIS)->engine;
php_random_status_state_xoshiro256starstar *state = engine.status;
php_random_status_state_xoshiro256starstar *state = engine.state;

ZEND_PARSE_PARAMETERS_NONE();

Expand All @@ -196,7 +196,7 @@ PHP_METHOD(Random_Engine_Xoshiro256StarStar, jump)
PHP_METHOD(Random_Engine_Xoshiro256StarStar, jumpLong)
{
php_random_algo_with_state engine = Z_RANDOM_ENGINE_P(ZEND_THIS)->engine;
php_random_status_state_xoshiro256starstar *state = engine.status;
php_random_status_state_xoshiro256starstar *state = engine.state;

ZEND_PARSE_PARAMETERS_NONE();

Expand All @@ -208,7 +208,7 @@ PHP_METHOD(Random_Engine_Xoshiro256StarStar, jumpLong)
PHP_METHOD(Random_Engine_Xoshiro256StarStar, __construct)
{
php_random_algo_with_state engine = Z_RANDOM_ENGINE_P(ZEND_THIS)->engine;
php_random_status_state_xoshiro256starstar *state = engine.status;
php_random_status_state_xoshiro256starstar *state = engine.state;
zend_string *str_seed = NULL;
zend_long int_seed = 0;
bool seed_is_null = true;
Expand Down
14 changes: 7 additions & 7 deletions ext/random/php_random.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,16 +96,16 @@ typedef struct _php_random_result {

typedef struct _php_random_algo {
const size_t state_size;
void (*seed)(void *status, uint64_t seed);
php_random_result (*generate)(void *status);
zend_long (*range)(void *status, zend_long min, zend_long max);
bool (*serialize)(void *status, HashTable *data);
bool (*unserialize)(void *status, HashTable *data);
void (*seed)(void *state, uint64_t seed);
php_random_result (*generate)(void *state);
zend_long (*range)(void *state, zend_long min, zend_long max);
bool (*serialize)(void *state, HashTable *data);
bool (*unserialize)(void *state, HashTable *data);
} php_random_algo;

typedef struct _php_random_algo_with_state {
const php_random_algo *algo;
void *status;
void *state;
} php_random_algo_with_state;

extern PHPAPI const php_random_algo php_random_algo_combinedlcg;
Expand Down Expand Up @@ -170,7 +170,7 @@ static inline php_random_algo_with_state php_random_default_engine(void)
{
return (php_random_algo_with_state){
.algo = php_random_default_algo(),
.status = php_random_default_status(),
.state = php_random_default_status(),
};
}

Expand Down
Loading

0 comments on commit dce6ed3

Please sign in to comment.