diff --git a/include/rng/crand.h b/include/rng/crand.h new file mode 100644 index 0000000..f099b67 --- /dev/null +++ b/include/rng/crand.h @@ -0,0 +1,16 @@ +#pragma once + +#include "../rng.h" +#include "../mem.h" + +namespace rng +{ + struct crand final : public Random + { + + private: + struct _inner; + // XXX: FUCK: This doesn't fucking work... + mem::aligned_ptr _state; + }; +} diff --git a/src/aligned_ptr.cpp b/src/aligned_ptr.cpp index 436dc6b..d0b010e 100644 --- a/src/aligned_ptr.cpp +++ b/src/aligned_ptr.cpp @@ -17,10 +17,3 @@ namespace mem void aligned_ptr::_dealloc(void* ptr) { free(ptr); } } -void test() -{ - auto ptr = mem::make_aligned("hello"); - auto len = ptr->size(); - - printf("Stirng: %s, %lu\n", ptr->c_str(), (usize)len); -} diff --git a/src/main.cpp b/src/main.cpp index a2d9974..a081a35 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,4 +1,5 @@ #include +#include #include @@ -12,11 +13,8 @@ void r(Random& r) std::array nn = r.next>(); } -void test(); - int main() { - test(); return 0; } diff --git a/src/rng/crand.cpp b/src/rng/crand.cpp index 45fb0ef..a206620 100644 --- a/src/rng/crand.cpp +++ b/src/rng/crand.cpp @@ -1,8 +1,15 @@ #include +#include +#include #include "crand.h" namespace rng { + struct crand::_inner { + + jr_state st; + }; +//TODO: Make header for rng::crand, a derived type of `Random`. }