@@ -368,6 +368,16 @@ static zend_object *php_random_engine_xorshift128plus_new(zend_class_entry *ce)
368
368
return php_random_engine_common_init (ce , & php_random_engine_algo_xorshift128plus , & random_engine_xorshift128plus_object_handlers );
369
369
}
370
370
371
+ const php_random_engine_algo php_random_engine_algo_xorshift128plus = {
372
+ sizeof (uint64_t ),
373
+ xorshift128plus_dynamic_generate_size ,
374
+ sizeof (php_random_engine_state_xorshift128plus ),
375
+ xorshift128plus_generate ,
376
+ xorshift128plus_seed ,
377
+ xorshift128plus_serialize ,
378
+ xorshift128plus_unserialize
379
+ };
380
+
371
381
/* XorShift128Plus end */
372
382
373
383
/* MersenneTwister begin */
@@ -490,6 +500,16 @@ static zend_object *php_random_engine_mersennetwister_new(zend_class_entry *ce)
490
500
return php_random_engine_common_init (ce , & php_random_engine_algo_mersennetwister , & random_engine_mersennetwister_object_handlers );
491
501
}
492
502
503
+ const php_random_engine_algo php_random_engine_algo_mersennetwister = {
504
+ sizeof (uint32_t ),
505
+ mersennetwister_dynamic_generate__size ,
506
+ sizeof (php_random_engine_state_mersennetwister ),
507
+ mersennetwister_generate ,
508
+ mersennetwister_seed ,
509
+ mersennetwister_serialize ,
510
+ mersennetwister_unserialize
511
+ };
512
+
493
513
/* MersenneTwister end */
494
514
495
515
/* CombinedLCG begin */
@@ -587,6 +607,16 @@ static zend_object *php_random_engine_combinedlcg_new(zend_class_entry *ce) {
587
607
return php_random_engine_common_init (ce , & php_random_engine_algo_combinedlcg , & random_engine_combinedlcg_object_handlers );
588
608
}
589
609
610
+ const php_random_engine_algo php_random_engine_algo_combinedlcg = {
611
+ sizeof (uint32_t ),
612
+ combinedlcg_dynamic_generate__size ,
613
+ sizeof (php_random_engine_state_combinedlcg ),
614
+ combinedlcg_generate ,
615
+ combinedlcg_seed ,
616
+ combinedlcg_serialize ,
617
+ combinedlcg_unserialize
618
+ };
619
+
590
620
/* CombinedLCG end */
591
621
592
622
/* Secure begin */
@@ -607,6 +637,16 @@ static zend_object *php_random_engine_secure_new(zend_class_entry *ce) {
607
637
return php_random_engine_common_init (ce , & php_random_engine_algo_secure , & random_engine_secure_object_handlers );
608
638
}
609
639
640
+ const php_random_engine_algo php_random_engine_algo_secure = {
641
+ sizeof (uint64_t ),
642
+ secure_dynamic_generate_size ,
643
+ 0 ,
644
+ secure_generate ,
645
+ NULL ,
646
+ NULL ,
647
+ NULL
648
+ };
649
+
610
650
/* Secure end */
611
651
612
652
/* User begin */
@@ -642,48 +682,6 @@ static uint64_t user_generate(void *state) {
642
682
return result ;
643
683
}
644
684
645
- /* User end */
646
-
647
- const php_random_engine_algo php_random_engine_algo_xorshift128plus = {
648
- sizeof (uint64_t ),
649
- xorshift128plus_dynamic_generate_size ,
650
- sizeof (php_random_engine_state_xorshift128plus ),
651
- xorshift128plus_generate ,
652
- xorshift128plus_seed ,
653
- xorshift128plus_serialize ,
654
- xorshift128plus_unserialize
655
- };
656
-
657
- const php_random_engine_algo php_random_engine_algo_mersennetwister = {
658
- sizeof (uint32_t ),
659
- mersennetwister_dynamic_generate__size ,
660
- sizeof (php_random_engine_state_mersennetwister ),
661
- mersennetwister_generate ,
662
- mersennetwister_seed ,
663
- mersennetwister_serialize ,
664
- mersennetwister_unserialize
665
- };
666
-
667
- const php_random_engine_algo php_random_engine_algo_combinedlcg = {
668
- sizeof (uint32_t ),
669
- combinedlcg_dynamic_generate__size ,
670
- sizeof (php_random_engine_state_combinedlcg ),
671
- combinedlcg_generate ,
672
- combinedlcg_seed ,
673
- combinedlcg_serialize ,
674
- combinedlcg_unserialize
675
- };
676
-
677
- const php_random_engine_algo php_random_engine_algo_secure = {
678
- sizeof (uint64_t ),
679
- secure_dynamic_generate_size ,
680
- 0 ,
681
- secure_generate ,
682
- NULL ,
683
- NULL ,
684
- NULL
685
- };
686
-
687
685
const php_random_engine_algo php_random_engine_algo_user = {
688
686
0 , /* does not support static generate size */
689
687
user_dynamic_generate_size , /* always use dynamic_generate_size */
@@ -694,6 +692,8 @@ const php_random_engine_algo php_random_engine_algo_user = {
694
692
NULL
695
693
};
696
694
695
+ /* User end */
696
+
697
697
static zend_object * php_random_randomizer_new (zend_class_entry * ce ) {
698
698
php_random_randomizer * randomizer = zend_object_alloc (sizeof (php_random_randomizer ), ce );
699
699
0 commit comments