From 2926f18ca5d76cf5659704787b97c3f2ff952393 Mon Sep 17 00:00:00 2001 From: Steven Hahn Date: Thu, 16 May 2024 15:57:43 -0400 Subject: [PATCH] Check for nullptr in debug builds Signed-off-by: Steven Hahn --- src/korc_c_random.cpp | 11 ++++++++++- src/korc_velocity_distribution.f90 | 3 --- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/korc_c_random.cpp b/src/korc_c_random.cpp index e1e43cdb..f858d10e 100755 --- a/src/korc_c_random.cpp +++ b/src/korc_c_random.cpp @@ -1,5 +1,6 @@ -#include #include +#include +#include class random { std::mt19937_64 engine; @@ -51,10 +52,18 @@ extern "C" { } double random_get_number_U(void *r) { +#ifndef NDEBUG + if(r == nullptr) + throw std::runtime_error("random_U object not initialized!"); +#endif return static_cast (r)->get_number_U(); } double random_get_number_N(void *r) { +#ifndef NDEBUG + if(r == nullptr) + throw std::runtime_error("random_N object not initialized!"); +#endif return static_cast (r)->get_number_N(); } diff --git a/src/korc_velocity_distribution.f90 b/src/korc_velocity_distribution.f90 index cc1a73c5..1ae28cd5 100755 --- a/src/korc_velocity_distribution.f90 +++ b/src/korc_velocity_distribution.f90 @@ -419,12 +419,9 @@ subroutine gyro_distribution(params,F,spp) call RANDOM_NUMBER(theta) call finalize_random_seed else - call initialize_random(1) - call initialize_random_U(1) do pp=1_idef,spp%ppp theta(pp)=get_random_U() enddo - call finalize_random() endif theta = 2.0_rp*C_PI*theta