summaryrefslogtreecommitdiffstats
path: root/Tests/FindGSL/rng
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/FindGSL/rng')
-rw-r--r--Tests/FindGSL/rng/CMakeLists.txt14
-rw-r--r--Tests/FindGSL/rng/main.cc24
2 files changed, 38 insertions, 0 deletions
diff --git a/Tests/FindGSL/rng/CMakeLists.txt b/Tests/FindGSL/rng/CMakeLists.txt
new file mode 100644
index 0000000..b15d6ac
--- /dev/null
+++ b/Tests/FindGSL/rng/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 3.0)
+project(FindGSL_rng CXX)
+include(CTest)
+
+find_package(GSL REQUIRED)
+
+add_executable(tstgslrng_tgt main.cc)
+target_link_libraries(tstgslrng_tgt GSL::gsl)
+add_test(NAME tstgslrng_tgt COMMAND tstgslrng_tgt)
+
+add_executable(tstgslrng_var main.cc)
+target_link_libraries(tstgslrng_var ${GSL_LIBRARIES})
+target_include_directories(tstgslrng_var PRIVATE ${GSL_INCLUDE_DIRS})
+add_test(NAME tstgslrng_var COMMAND tstgslrng_var)
diff --git a/Tests/FindGSL/rng/main.cc b/Tests/FindGSL/rng/main.cc
new file mode 100644
index 0000000..72543be
--- /dev/null
+++ b/Tests/FindGSL/rng/main.cc
@@ -0,0 +1,24 @@
+#include <math.h>
+#include "gsl/gsl_rng.h"
+
+int main()
+{
+ // return code
+ int retval = 1;
+
+ // create a generator
+ gsl_rng *generator;
+ generator = gsl_rng_alloc(gsl_rng_mt19937);
+
+ // Read a value.
+ double const Result = gsl_rng_uniform(generator);
+
+ // Check value
+ double const expectedResult( 0.999741748906672 );
+ if( fabs( expectedResult - Result ) < 1.0e-6 )
+ retval = 0;
+
+ // free allocated memory
+ gsl_rng_free(generator);
+ return retval;
+}