Avril
3461794a68
Changed ifunc resolver for _jr_resolv to use the `static const` initialiser in the new macro-based constant expression xsubi endianess resolver. The ifunc resolver always had resolved the correct function at compile-time and consists of a single `jmp` into it, this doesn"t change anything but make it consistent with the constant expression resolver"s methods (which do matter for that one.)
...
This behaviour is reversible. See `src/rng/crand.c" for the preprocessor flag based options (although this one should make no different in codegen at all.)
Fortune for rngxx's current commit: Future small blessing − 末小吉
3 years ago
Avril
045cb7189b
Added compile-time (macro) determiation of endianess shift needed for jr_state"s bitfield over xsubi. Reduces code size and removes 2 levels of indirection.
...
To switch to the old (still available, through the function"s symbol itself) ifunc implementation, build with `-D_RNGXX_JR_RESOLV_RUNTIME` (the resolution still happens at compile-time, but the ifunc impl demands indirection even if it does nothing.)
Fortune for rngxx's current commit: Future small blessing − 末小吉
3 years ago
Avril
5f57115683
Vectorised next_bytes(), next_v*().
...
XXX: next_bytes(std::array<u8, ...>) doesn"t seem to play nice with aliasing rules.
Fortune for cpprng's current commit: Small blessing − 小吉
3 years ago
Avril
acc580e031
Random: Added `next_*(min, max)`
...
Fortune for cpprng's current commit: Future small blessing − 末小吉
3 years ago
Avril
ed966944b8
Added likeliness annotations to some nullptr checks
...
Fortune for cpprng's current commit: Great blessing − 大吉
3 years ago
Avril
ef25f978ff
Added attrs to internal-exported C API header
...
Remove -fanalyzer: Too many false positives
Fortune for cpprng's current commit: Middle blessing − 中吉
3 years ago
Avril
595fd74a97
_jr_st_resolv() now takes pointer to the xsub union instead of the whole state.
...
Fortune for cpprng's current commit: Future blessing − 末吉
3 years ago
Avril
b35c0f705d
Added internal visibility modifier to internal C APIs
...
Fortune for cpprng's current commit: Future small blessing − 末小吉
3 years ago
Avril
8e20b86365
crand::_sample() uniformly distributes between 0..1
...
Fortune for cpprng's current commit: Blessing − 吉
3 years ago
Avril
c8622410d8
crand: raw sample ok
...
Fortune for cpprng's current commit: Middle blessing − 中吉
3 years ago
Avril
ea4538231e
Fix incorrect uint48_t sizing.
...
Resolve xsubi via ifunc if bitfield is placed in unexpected location within union.
Fortune for cpprng's current commit: Middle blessing − 中吉
3 years ago
Avril
3b1628d396
Added mem::aligned_ptr<T> wrapper
...
Fortune for cpprng's current commit: Future blessing − 末吉
3 years ago
Avril
5ac7fc5e11
start: c Random subclass (jrand48_r())
...
Fortune for cpprng's current commit: Curse − 凶
3 years ago