mirror of
https://github.com/php/php-src.git
synced 2026-04-14 11:32:11 +02:00
* random: Add Randomizer::nextFloat() * random: Check that doubles are IEEE-754 in Randomizer::nextFloat() * random: Add Randomizer::nextFloat() tests * random: Add Randomizer::getFloat() implementing the y-section algorithm The algorithm is published in: Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022. https://doi.org/10.1145/3503512 * random: Implement getFloat_gamma() optimization see https://github.com/php/php-src/pull/9679/files#r994668327 * random: Add Random\IntervalBoundary * random: Split the implementation of γ-section into its own file * random: Add tests for Randomizer::getFloat() * random: Fix γ-section for 32-bit systems * random: Replace check for __STDC_IEC_559__ by compile-time check for DBL_MANT_DIG * random: Drop nextFloat_spacing.phpt * random: Optimize Randomizer::getFloat() implementation * random: Reject non-finite parameters in Randomizer::getFloat() * random: Add NEWS/UPGRADING for Randomizer’s float functionality
32 lines
714 B
Plaintext
32 lines
714 B
Plaintext
dnl
|
|
dnl Check for arc4random on BSD systems
|
|
dnl
|
|
AC_CHECK_DECLS([arc4random_buf])
|
|
|
|
dnl
|
|
dnl Check for CCRandomGenerateBytes
|
|
dnl header absent in previous macOs releases
|
|
dnl
|
|
AC_CHECK_HEADERS([CommonCrypto/CommonRandom.h], [], [],
|
|
[
|
|
#include <sys/types.h>
|
|
#include <Availability.h>
|
|
#include <CommonCrypto/CommonCryptoError.h>
|
|
])
|
|
|
|
dnl
|
|
dnl Setup extension
|
|
dnl
|
|
PHP_NEW_EXTENSION(random,
|
|
random.c \
|
|
engine_combinedlcg.c \
|
|
engine_mt19937.c \
|
|
engine_pcgoneseq128xslrr64.c \
|
|
engine_xoshiro256starstar.c \
|
|
engine_secure.c \
|
|
engine_user.c \
|
|
gammasection.c \
|
|
randomizer.c,
|
|
no,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
|
PHP_INSTALL_HEADERS([ext/random], [php_random.h])
|