From 3323ffc5c29ca255038824fabe9e719d978c5534 Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Tue, 2 Oct 2018 21:26:24 -0500 Subject: [PATCH] Updating CAPI dagmc_enabled exposure. --- include/openmc/dagmc.h | 6 +++++- openmc/capi/__init__.py | 4 ++-- src/dagmc.cpp | 10 ---------- tests/regression_tests/dagmc/test.py | 2 +- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/include/openmc/dagmc.h b/include/openmc/dagmc.h index 29e597c67e..0e5fc4064c 100644 --- a/include/openmc/dagmc.h +++ b/include/openmc/dagmc.h @@ -21,4 +21,8 @@ extern "C" void free_memory_dagmc(); #endif -extern "C" bool dagmc_enabled(); +#ifdef DAGMC +extern "C" constexpr bool dagmc_enabled = true; +#else +extern "C" constexpr bool dagmc_enabled = false; +#endif diff --git a/openmc/capi/__init__.py b/openmc/capi/__init__.py index 7e569611ca..95ac77a64c 100644 --- a/openmc/capi/__init__.py +++ b/openmc/capi/__init__.py @@ -12,7 +12,7 @@ objects in the :mod:`openmc.capi` subpackage, for example: """ -from ctypes import CDLL +from ctypes import CDLL, c_bool import os import sys @@ -38,7 +38,7 @@ else: from unittest.mock import Mock _dll = Mock() -__dagmc_enabled__ = bool(_dll.dagmc_enabled()) +dagmc_enabled = bool(c_bool.in_dll(_dll, "dagmc_enabled")) from .error import * from .core import * diff --git a/src/dagmc.cpp b/src/dagmc.cpp index d1d4963dac..959dabd12e 100644 --- a/src/dagmc.cpp +++ b/src/dagmc.cpp @@ -142,13 +142,3 @@ void free_memory_dagmc() } #endif - -bool dagmc_enabled() -{ -#ifdef DAGMC - return true; -#else - return false; -#endif -} - diff --git a/tests/regression_tests/dagmc/test.py b/tests/regression_tests/dagmc/test.py index 384f075ef0..943245d27e 100644 --- a/tests/regression_tests/dagmc/test.py +++ b/tests/regression_tests/dagmc/test.py @@ -4,7 +4,7 @@ import pytest import openmc pytestmark = pytest.mark.skipif( - not openmc.capi.__dagmc_enabled__, + not openmc.capi.dagmc_enabled, reason="DAGMC CAD geometry is not enabled.") def test_dagmc():