Move random generation to a separate library

This commit is contained in:
Nikita Lisitsa 2020-12-09 23:48:32 +03:00
parent 1620eef29d
commit 1e8df117cf
11 changed files with 26 additions and 18 deletions

View file

@ -5,4 +5,4 @@ file(GLOB_RECURSE PSEMEK_PCG_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "sou
add_library(psemek-pcg ${PSEMEK_PCG_HEADERS} ${PSEMEK_PCG_SOURCES})
target_include_directories(psemek-pcg PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(psemek-pcg PUBLIC psemek-util psemek-geom psemek-gfx Boost::random)
target_link_libraries(psemek-pcg PUBLIC psemek-util psemek-geom psemek-gfx psemek-random Boost::random)

View file

@ -0,0 +1,8 @@
find_package(Boost COMPONENTS random REQUIRED)
file(GLOB_RECURSE PSEMEK_RANDOM_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "include/*.hpp")
file(GLOB_RECURSE PSEMEK_RANDOM_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "source/*.cpp")
add_library(psemek-random ${PSEMEK_RANDOM_HEADERS} ${PSEMEK_RANDOM_SOURCES})
target_include_directories(psemek-random PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(psemek-random PUBLIC psemek-util psemek-geom Boost::random)

View file

@ -2,7 +2,7 @@
#include <boost/nondet_random.hpp>
namespace psemek::pcg
namespace psemek::random
{
using random_device = boost::random_device;

View file

@ -3,7 +3,7 @@
#include <cstdint>
#include <limits>
namespace psemek::pcg
namespace psemek::random
{
// based on www.pcg-random.org

View file

@ -1,12 +1,12 @@
#pragma once
#include <psemek/pcg/random/uniform_real.hpp>
#include <psemek/random/uniform_real.hpp>
#include <psemek/geom/constants.hpp>
#include <cmath>
#include <optional>
namespace psemek::pcg
namespace psemek::random
{
template <typename T>

View file

@ -1,11 +1,11 @@
#pragma once
#include <psemek/pcg/random/uniform_int.hpp>
#include <psemek/pcg/random/uniform_real.hpp>
#include <psemek/random/uniform_int.hpp>
#include <psemek/random/uniform_real.hpp>
#include <type_traits>
namespace psemek::pcg
namespace psemek::random
{
template <typename T>

View file

@ -1,9 +1,9 @@
#pragma once
#include <psemek/pcg/random/uniform_sphere.hpp>
#include <psemek/pcg/random/uniform_real.hpp>
#include <psemek/random/uniform_sphere.hpp>
#include <psemek/random/uniform_real.hpp>
namespace psemek::pcg
namespace psemek::random
{
template <typename T, std::size_t N>

View file

@ -2,9 +2,9 @@
#include <psemek/geom/point.hpp>
#include <psemek/geom/box.hpp>
#include <psemek/pcg/random/uniform.hpp>
#include <psemek/random/uniform.hpp>
namespace psemek::pcg
namespace psemek::random
{
template <typename T, std::size_t N>

View file

@ -5,7 +5,7 @@
#include <limits>
#include <type_traits>
namespace psemek::pcg
namespace psemek::random
{
template <typename T>

View file

@ -5,7 +5,7 @@
#include <limits>
#include <cmath>
namespace psemek::pcg
namespace psemek::random
{
template <typename T>

View file

@ -3,10 +3,10 @@
#include <psemek/geom/vector.hpp>
#include <psemek/geom/point.hpp>
#include <psemek/geom/constants.hpp>
#include <psemek/pcg/random/normal.hpp>
#include <psemek/pcg/random/uniform_int.hpp>
#include <psemek/random/normal.hpp>
#include <psemek/random/uniform_int.hpp>
namespace psemek::pcg
namespace psemek::random
{
template <typename T, std::size_t N>