Avril
4da128e510
Moved dynctor registration into `rng.cpp` (seems to work in *this* TU too. Why not `rng/sm64.cpp` specifically???? very annoying.)
...
Fortune for rngxx's current commit: Small curse − 小凶
3 years ago
Avril
3165ef13fd
Hack to work arround dynctor not being registered when not defined in `crand.cpp" (no idea why, the symbol exists. looking into it.)
...
Fortune for rngxx's current commit: Small curse − 小凶
3 years ago
Avril
dfb3d74816
Added SM64 engine to C hard-coded new API
...
Fortune for rngxx's current commit: Future small blessing − 末小吉
3 years ago
Avril
86b855bda3
Added seeding interface.
...
Added splitmix64 seed generator.
Added splitmix64 random generator.
Fortune for rngxx's current commit: Future small blessing − 末小吉
3 years ago
Avril
d9e34e7e70
Start: Seeding API
...
Fortune for rngxx's current commit: Half curse − 半凶
3 years ago
Avril
3ff3db0e3e
C++ iterators are absolute retarded shite. Their ```design""" makes no sense.
...
Fortune for rngxx's current commit: Future curse − 末凶
3 years ago
Avril
b071cbb1ad
Added `nexta[m]` array handling functions.
...
Fixed C-C++ bool interop sizing bug.
Fortune for rngxx's current commit: Small curse − 小凶
3 years ago
Avril
5a4b68ab3f
Started implementing next for arrays.
...
Major version bump: `struct rng_next_opt` ABI break.
Fortune for rngxx's current commit: Middle blessing − 中吉
3 years ago
Avril
1cf5ca05b2
Added noexcept to global dtor & ctor
...
Fortune for rngxx's current commit: Half blessing − 半吉
3 years ago
Avril
4b988ba83b
Added name-based runtime engine lookup.
...
This is opt-in for any children of `Random`, the macro `RNGXX_APPLY_CTOR(namespace, class_name, seed_type)` in `internal/init.hpp` enables this lookup.
Non-internal implementors of Random can use this API also. This provides a dynamic way to load user-defined subclasses of Random at runtime.
A symbol-based lookup may be added in the future.
Version bumped.
Fortune for rngxx's current commit: Future curse − 末凶
3 years ago
Avril
ebc16f5638
C API: Added individual primitive types `rng_next_*()`
...
Defined in rngxx.h header as `inline static __gnu_inline` (force inline). To compile into consumer libraries as ONLY inline (no symbol emitted) `inline extern __gnu_inline`, define the macro `_RNGXX_INLINE_ONLY` (If inlining is disabled by compiler flag (e.g. `-O0`), this will cause linker failures.)
Fortune for rngxx's current commit: Curse − 凶
3 years ago
Avril
25c86023a9
Fix common.h type alias issue
...
Fortune for rngxx's current commit: Half blessing − 半吉
3 years ago
Avril
9ebf0384a5
C API basic test
...
Fortune for rngxx's current commit: Blessing − 吉
3 years ago
Avril
29187574be
C API added
...
(testing needed)
Fortune for rngxx's current commit: Half blessing − 半吉
3 years ago
Avril
ed1f1d5f03
C API: Start `next` shim
...
Fortune for rngxx's current commit: Small blessing − 小吉
3 years ago
Avril
fc70397536
C API: Type spec and flags (start)
...
Use bitfields for ty + tyflag in struct for `rng_next()` options.
Fortune for rngxx's current commit: Middle blessing − 中吉
3 years ago
Avril
af095e2a41
Small cleanup
...
Fortune for rngxx's current commit: Middle blessing − 中吉
3 years ago
Avril
c38d58b7fe
Rework C API shim. Now bridges: librngxx (main library C++ interface) @ rngxx.hpp -> >|capi-bridge.cpp <-> capi-bridge.h <-> capi.c|> -> rngxx.h
...
Fortune for rngxx's current commit: Small blessing − 小吉
3 years ago
Avril
d51eb30b6b
C API start
...
Fortune for rngxx's current commit: Small curse − 小凶
3 years ago
Avril
f193acd2ea
Fixed internal header problems (hopefully...)
...
Fortune for rngxx's current commit: Half curse − 半凶
3 years ago
Avril
7733ada38b
Fixed some namespace pollution issues
...
Fortune for rngxx's current commit: Blessing − 吉
3 years ago
Avril
aea2c6b837
Merge branch 'lib'
3 years ago
Avril
54dfb64596
Renamed API header & API header location /include
...
Fortune for cpprng's current commit: Future small blessing − 末小吉
3 years ago
Avril
df0fbadf3b
Reorganised /include
...
Fortune for cpprng's current commit: Future curse − 末凶
3 years ago
Avril
2281a57bc9
Hack to get arround the retarded name-based hiding in derrived class overrides fucking up name base name lookups.
...
Fuck sepples, seriously
Fortune for cpprng's current commit: Blessing − 吉
3 years ago
Avril
9b2b2468cc
Why can"t I call Random:: functions from an instance of derrived class crand???
...
Fortune for cpprng's current commit: Curse − 凶
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
800e0ad13b
<range.h> util::range: Added out-of-place clamp `T clamped(const)` and `T clamped(&&)`.
...
Fortune for cpprng's current commit: Future blessing − 末吉
3 years ago
Avril
a9bc96294a
Working util::range type and bounded range-scale API!
...
Fortune for cpprng's current commit: Future blessing − 末吉
3 years ago
Avril
5d69550fff
Fucking hell... First "attempt" at range API... it doesn"t look good :/
...
Fortune for cpprng's current commit: Future small blessing − 末小吉
3 years ago
Avril
7eaba3c1b3
Added `aligned_ptr<T>::container_address([const] Self&) -> [const] Self*` to offset the overloaded unary & and avoid need of `std::addressof`.
...
Fortune for cpprng's current commit: Future curse − 末凶
3 years ago
Avril
fe55da9a5a
Improved ergonomics for aligned_ptr pointer handling
...
(This is mostly a test to see if overloading `operator&()` is ever something worth doing. Since this is a rather lax smart-pointer container and I can"t see any reason we"d need to pass around `aligned_ptr<T>*` instances, it might be worth doing.)
Fortune for cpprng's current commit: 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
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
b59c0671d2
Added ranges to Random base.
...
Added crand::RANGE_MIN/MAX, overriden required base ranges to point to them.
crand::next_u64() returns within this range but discards the negative result
Fortune for cpprng's current commit: Small blessing − 小吉
3 years ago
Avril
977e32c711
crand: started integer rng overrides
...
Fortune for cpprng's current commit: Half 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
2b24ab0408
All that aligned_ptr<bullshit> work for nothing huh...
...
Fortune for cpprng's current commit: Half blessing − 半吉
3 years ago
Avril
3b1628d396
Added mem::aligned_ptr<T> wrapper
...
Fortune for cpprng's current commit: Future blessing − 末吉
3 years ago
Avril
7bd7964d98
Random::iterator<T> skel
...
Fortune for cpprng's current commit: Half blessing − 半吉
3 years ago
Avril
ff8c729ef7
Initial commit
...
Added `Random` interface.
Fortune for cpprng's current commit: Blessing − 吉
3 years ago